본문으로 건너뛰기

동차 좌표

무료2015-08-28#Math#齐次坐标

동차 좌표는 n차원 벡터를 n+1차원 벡터로 표현하는 것인데, 왜 굳이 이런 번거로운 과정을 거치는 걸까요?

동차 좌표는 n차원 벡터를 n+1차원 벡터로 표현하는 것입니다. 예를 들어:

(8, 4, 2) = (4, 2, 1) = (4, 2)

왜 n+1차원 벡터로 표현하는 것일까요?

왜냐하면 변환 행렬

T= |a b|
   |c d|

은 평행 이동 변환 기능이 없기 때문입니다. 2차원 도형을 평행 이동시키려면 변환 후의 좌표에 평행 이동량 m, n을 도입해야 합니다. 즉

x' = x + m
y' = y + n

분명히, 다음 식으로는

[x' y'] = [x y] * |a b|
				  |c d|  

구현할 수 없습니다. 평행 이동 변환을 수행하기 위해 2차원 점의 위치 벡터에 추가 좌표를 더해 3차원 행 벡터 [x y l]로 만들어야 합니다. 즉, 점을 동차 좌표로 표현하면 연산이 가능해집니다.

예를 들어 직교 좌표계에서 2차원 점 [x y]의 동차 좌표는 보통 3차원 좌표 [Hx Hy H]로 표현되고, 3차원 점 [x y z]의 동차 좌표는 보통 4차원 좌표 [Hx Hy Hz H]로 표현됩니다. 동차 좌표계에서 마지막 차원의 좌표 H는 비례 인자라고 불립니다.

3차원 직교 좌표와 그 동차 좌표의 관계는 다음과 같습니다.

x = Hx / H
y = Hy / H
z = Hz / H

H의 값은 임의로 정할 수 있으므로, 어떤 점이든 여러 개의 동차 좌표로 표현할 수 있습니다. 일반적으로는 두 좌표계의 일관성을 유지하기 위해 H를 "1"로 설정합니다.

댓글

아직 댓글이 없습니다

댓글 작성