[Term] Homogeneous Coordinates (동차좌표계) 란?
동차좌표계는 뭘까?
컴퓨터그래픽스 분야 및 OpenGL에서 주로 나오며 본인의 경우 X-ray를 공부하다가 접하게 된 개념으로,
위키백과에 따르면 Homogeneous Coordinates(=Homogeneous Space)는 다음과 같이 정의되어 있다.
" n차원 사영 공간을 n+1개의 좌표로 나타내는 좌표계 "
위의 정의에 단순히 숫자 3을 대입해보면, 3차원 사영공간을 4개의 좌표로 나타낸다고 볼 수 있다.
이 4개의 좌표를 $(x, y, z, w)$라고 하자.
3차원을 나타내므로 $x, y, z$는 각각 x좌표, y좌표, z좌표를 나타낼 것이다.
그렇다면 $w$는 무엇을 나타낼까?
$w$가 0이라면 선(vector)을, 1이라면 점(point)를 의미한다.
"$w = 0$" means "$(x, y, z)$" is the vector
"$w = 1$" means "$(x, y, z)$" is the point
즉, homogeneous coordinates에서의 $(1, 2, 2, 0)$은 (1, 2, 2)의 vector를 의미하며,
$(1, 2, 2, 1)$은 (1, 2, 2)의 점(point)을 의미한다.
왜 동차좌표계를 사용할까?
위의 예를 이어서, 3차원을 나타내기 위해 3개의 element만 사용한다면,
$(x, y, z)$가 point인지 vector인지 알 수 없지만 Homogeneous Coordinates로 나타낸다면 $w$를 통해 이를 표현할 수 있다.
추가로 벡터, 점의 이동 및 회전등을 matrix 곱으로 나타낼 수 있다는 장점이 있다.
References