Software Development/Graphics

컴퓨터 그래픽스 이론 정리 - 동족(Affine)좌표와 동차(homogeneous)좌표

huiyu 2018. 5. 6. 14:50

동족 좌표(Affine space)
  : 벡터에 점을 추가한 것, 벡터와 점을 같은 좌표로 본다.

ex)
(x,y,z) = (1,2,3)의 좌표가 존재할 때,
이 좌표는 점일수도, 원점에서 (1,2,3)을 향하는 벡터일 수도 있다.

이렇게 표현하면 점인지 벡터인지 구분할 수 없어 이 둘을 구분하기 위해 사용하는 것이 동차좌표이다.

동차좌표(homogeneous space),

 - 좌표계 차원을 n이라할때, n개로 이루어진 좌표만으로 표현못하는 요소가 있어, 이를 해결하기 위해 n+1로 표현한 좌표계를 동차좌표계라 한다.
(3차원상의 점과 벡터를 3개가 아닌 4개의 요소로 표현)

- 마지막 요소가 0이면 벡터를, 1이면 점을 의미한다.

(1,2,3,0) --> 3차원 벡터
(1,2,3,1) --> 3차원 점

---> 동차좌표란 현재 차원의 점을 더 높은 차원의 공간상의 직선에 사상(Mapping)시킨 것

차원을 줄여 2차원 좌표로 보면,
2차원 평면상의 점 (1,2)를 동차 좌표로 표시하면 (1,2,1)이 된다.(x,y)->(x*w, y*w, w)->(1*1, 2*1, 1)

이를 3차원으로 말하면 z축으로 1의 위치에 있는 점에 해당한다.(x,y,z) = (1,2,1)
2차원 평면상의 한 점을 3차원 공간상의 직선으로 사상한 것이 동차 좌표이다.
다시말해, 원점에서 출발하여 (1,2,1)을 통과하는 직선상에 놓인 모든 3차원 좌표가 동일한 2차원 점(1,2)를 의미한다.
(1,2,1) = (3,6,3) = (4,8,4) = (10,20,10) = ... ... <--모두 한 점 (1,2)를 의미한다.

동차 좌표의 마지막 요소를 나눈 값이 실제 좌표가 된다.
(x/w, y/w, z/w)

---------------------

3차원 동차좌표를 4차원(x, y, z, w) 좌표로 표시하면, 3차원 실제 좌표는(x/w, y/w, z/w)가 된다.
(1,2,4,1) = (2,4,8,2) = (5, 10, 20, 5) 이며, 이 모든 동차좌표는 3차원 공간상의 한 점(1,2,4)를 나타낸다.
w = 0인 경우는 그 자체가 벡터(x,y,z)를 나타낸다.


참고)

http://hoodymong.tistory.com/7
http://enghqii.tistory.com/59




728x90