본문 바로가기

C Language

선 좌표 초기화와 z축의 의미

선 좌표 초기화와 z축의 의미

line->transform_z는 Z축 변환에 사용될 값을 설정합니다.
c
line->transform_z = max((fdf->map->max_z - fdf->map->min_z), \
    max(fdf->map->max_x, fdf->map->max_y));
이 코드는 다음과 같은 작업을 수행합니다:

 

Z축의 범위 계산: (fdf->map->max_z - fdf->map->min_z)
X축과 Y축 중 더 큰 값 선택: max(fdf->map->max_x, fdf->map->max_y)
위의 두 값 중 더 큰 값을 transform_z로 설정

 

예시
지도의 크기가 다음과 같다고 가정해 봅시다:
X축 범위: 0 ~ 100 (max_x = 100)
Y축 범위: 0 ~ 80 (max_y = 80)
Z축 범위: -10 ~ 50 (min_z = -10, max_z = 50)

 

이 경우, 계산 과정은 다음과 같습니다:
Z축 범위: 50 - (-10) = 60
X와 Y 중 큰 값: max(100, 80) = 100
최종 transform_z: max(60, 100) = 100

 

따라서 line->transform_z는 100이 됩니다.

 

의미
이 값은 3D 공간의 선을 2D 화면에 투영할 때 사용됩니다. transform_z를 크게 설정할수록 Z축의 변화가 화면상에서 더 극적으로 표현됩니다. 이 방식으로 계산하면:
지도의 전체적인 형태를 유지하면서 Z축 변화를 강조할 수 있습니다.
X, Y, Z 축의 스케일을 균형있게 조절하여 왜곡을 최소화합니다.
지도의 크기에 관계없이 일관된 시각적 효과를 얻을 수 있습니다.
이러한 접근 방식은 다양한 크기와 높이 범위를 가진 지도를 일관되게 표현하는 데 도움이 됩니다.

'C Language' 카테고리의 다른 글

pivoting 상세설명  (0) 2025.02.06
카메라 초기 설정  (0) 2025.02.01
등각법(isometric) 과 원근법(perspective) 계산  (0) 2025.02.01
그레디언트 컬러 표현 알고리즘  (0) 2025.01.28
bresenham 알고리즘 설명  (0) 2025.01.28