17세기 데카르트는 방법서설의 부록 중 하나인 '기하학'에서 평면에 좌표계를 도입하는 혁명적인 개념을 소개하였습니다. 이 좌표계는 뉴턴과 라이프니치의 미적분학 발견의 초석이 되었습니다. 좌표계는 컴퓨터가 모니터에 출력을 하기 위해 사용합니다. 게임또한 마찬가지고 기본적인 평면 좌표계를 중심으로 다양한 좌표계에 대해서 공부해 보기로 합니다.
1차원 좌표계
1차원 자표계
직교 좌표계(Cartesian Coordinate)
3차원 자표계
두 점 사이의 거리
두 점 사이의 거리
극 좌표계(polar coordinate system)
r=1-sinθ 극좌표계로 표현한 하트
극 좌표계(polar coordinate system)는 거리와 각도로 좌표를 표현하는 좌표계입니다.
거리과 각도로 좌표를 표현하기 때문에 원형 대칭성을 이루게 되며 원과 같은 곡선을 다루는데 편리합니다.
극 좌표계는 하트 곡선, 와선(물이 빙빙 돌면서 흐르는 모양)등 기하학적으로 직교 좌표가 표현하기 힘든 곡선을 표현할 수 있습니다.
원기둥 좌표계(Cylindrical coordinate)
반지름이 a이고 높이가 2인 원기둥
구면 좌표계(Spherical coordinate)
3차원 공간에서 점 p(x,y,z)와 원점 O와의 거리를 r, 선분 OP와 z축의 양의 방향과 이루는 각을θ, 점 P와 xy평면으로의 정사영(x,y)를 Q, 선분 OQ와 x축 양의 방향과 이루는 각을 Φ로 두면
가 됩니다.
이 때 (r,θ.Φ)를 구면 좌표계라고 합니다.
구면 좌표계에서 r=1로 주어지는 점 전체의 집합은 원점을 중심으로 하고 반지름의 길이가 1인 구면이 됩니다.
이런 구면 좌표계는 3D 그래픽에서 카메라(시점)을 구현할 때 이용할 수 있습니다. 카메라는 카메라의 위치, 카메라가 바라보는 방향, 카메라의 회전으로 표현됩니다. 카메라의 회전은 x축을 중심으로 회전하는 pitch, y축을 중심으로 회전하는 yaw, z축을 중심으로 회전하는 roll으로 표현됩니다.
3D 게임에서 3인칭 시점의 카메라를 구성할 때, 오브젝트와 카메라의 거리를 r, pitch를 θ, yaw를 Φ로 구성하고 직교 좌표계와 구면 좌표계의 변환식을 이용하면 쉽게 카메라의 위치를 구할 수 있다.
설정한 좌표를 공식을 통해 직교 좌표로 변경하면 카메라의 위치를 구할 수 있게 된다.
동차 좌표계(Homogeneous Coordinate)
이 외에도 3차원의 점, 벡터, 행렬에 추가로 한 차원을 더 사용하면 변환 등의 계산을 좀 더 일반적인 형태로 표현할 수 있게 됩니다.
출처-한국콘텐츠진흥원