Pay it Forward

[Term] Homogeneous Coordinates (동차좌표계) 란? 본문

Machine Learning/Study

[Term] Homogeneous Coordinates (동차좌표계) 란?

minjoony 2021. 2. 2. 15:13
728x90

동차좌표계는 뭘까?

컴퓨터그래픽스 분야 및 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 곱으로 나타낼 수 있다는 장점이 있다.

 

이동변환 (Translation)
크기변환 (scaling)
x축 회전 (Rotation)
y축 회전 (Rotation)

 

z축 회전 (Rotation)

 

References

ko.wikipedia.org/wiki/%EB%8F%99%EC%B0%A8%EC%A2%8C%ED%91%9C

wonjayk.tistory.com/259

728x90
Comments