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