본문 바로가기

공부

Homogeneous Coordinates(동차 좌표)

출처: OpenGL로 배우는 3차원 컴퓨터 그래픽스, P.243~244, 주우석 저, 한빛미디어

 

 

 

위 그림에서 점 P는 벡터 OP로 표현됨(1).

마찬가지로 점 Q는 벡터 OQ로 표현됨(2).

따라서 벡터 PQ는 벡터 OQ-OP 임(3).

그리고 점 Q는 벡터 OP+PQ로도 표현됨(4).

(1) ~ (4)를 수식으로 표현하면 아래와 같음.

 

 

 

식 (3)에서 정의된 벡터 PQ는 크기와 방향만 나타내므로 공간상의 어디에 있든 동일함.

반면 식 (4)에서 정의된 점 Q는 점 O를 기준으로 정의된 점 P에 의해 규정되어짐.

 

식 (3), (4)는 점 P를 제외하면 동일한 식이지만 벡터 표현이냐 점 표현이냐에 따라 2개의 식으로 구분하여 표현하여야 하는 번거로움이 있음.

따라서 아래와 같이 두 식을 변형하여 작성 할 수 있음.

 

 

각 항의 계수만으로 다시 표현하면 벡터는 (a, b, c, 0), 점은 (a, b, c, 1)로 표현할 수 있음.

이러한 표현을 동차좌표 표현(Homogeneous Coordinates Representation)이라 함.

 

컴퓨터 그래픽스에서는 동차좌표의 마지막 요소를 스케일 펙터(Scale fector)로 사용할 수 있으며,

만약 어떤 점의 좌표를 (x, y, z, w)라고 표현하였다면 실제 3차원 좌표의 값은 (x/w, y/w, z/w)가 됨.

 

동차 변환 표현(Homogeneous Transformation Representation)은 아래와 같음.

 

 

같은 동차 표현으로 생각한다면 Rotation 파트는 벡터 표현이고 Position 파트가 점 표현임을 쉽게 알 수 있음.

 

 

P.S.

Robotics관련 서적에서 뭔가 부족했던 2%가 채워졌음. ㅋㅋㅋㅋㅋ

'공부' 카테고리의 다른 글

[물리] 자기력선  (0) 2010.11.02
[PSPICE] 외부 라이브러리 사용하기  (5) 2010.10.26
BLDC Motor 기술  (0) 2010.09.14
DSP 입문  (0) 2010.09.09
Δ  (0) 2008.07.04