9.40 동차 좌표(Homogeneous Coordinates)의 정의

1. 동차 좌표의 기본 개념

동차 좌표(homogeneous coordinates)는 n차원 유클리드 공간의 점을 (n+1)차원 벡터로 표현하는 좌표 체계이다. 유클리드 좌표 \mathbf{p} = (x_1, x_2, \ldots, x_n)에 추가 성분 하나를 덧붙여

\tilde{\mathbf{p}} = (x_1, x_2, \ldots, x_n, w)

로 나타내며, w \neq 0이면 다음의 관계로 유클리드 좌표로 환원된다.

(x_1/w, x_2/w, \ldots, x_n/w)

동차 좌표는 19세기에 메비우스(August Möbius, 1827)와 플뤼커(Julius Plücker)가 사영 기하학(projective geometry)의 체계화 과정에서 도입하였다.

2. 차원 유클리드 공간의 동차 좌표

3차원 유클리드 공간의 점 \mathbf{p} = (x, y, z)^T는 동차 좌표에서 4차원 벡터로 표현된다.

\tilde{\mathbf{p}} = \begin{bmatrix}x \\ y \\ z \\ 1\end{bmatrix}

여기서 네 번째 성분 w = 1이 표준 관례이며, 일반적으로는 w \neq 0의 임의의 값을 가질 수 있다. 동차 좌표의 본질적 특성은 다음의 스칼라 동치 관계이다.

(x, y, z, w) \equiv (\lambda x, \lambda y, \lambda z, \lambda w) \quad (\lambda \neq 0)

즉, 영이 아닌 스칼라 배는 동일한 점을 나타낸다.

3. 유클리드 좌표와의 상호 변환

3.1 유클리드에서 동차로

유클리드 점 (x, y, z)를 동차 좌표로 변환할 때는 w = 1을 부가한다.

(x, y, z) \mapsto (x, y, z, 1)

3.2 동차에서 유클리드로

동차 좌표 (x, y, z, w)를 유클리드로 환원할 때는 첫 세 성분을 네 번째로 나눈다.

(x, y, z, w) \mapsto (x/w, y/w, z/w) \quad (w \neq 0)

이 연산을 “정규화(normalization)” 또는 “역사영(dehomogenization)“이라 한다.

4. 점과 벡터의 구분

동차 좌표에서는 점(point)과 방향 벡터(direction vector)가 네 번째 성분의 값으로 구분된다.

4.1 점 (Point)

\tilde{\mathbf{p}}_{\text{point}} = (x, y, z, 1)^T

네 번째 성분이 1인 경우, 공간 내의 구체적인 위치를 나타낸다.

4.2 방향 벡터 (Direction vector)

\tilde{\mathbf{v}}_{\text{direction}} = (v_x, v_y, v_z, 0)^T

네 번째 성분이 0인 경우, 위치와 무관한 방향만을 나타낸다. 이는 “무한대의 점(point at infinity)” 또는 “이상적 점(ideal point)“으로 해석된다.

4.3 변환의 차이

동차 변환 행렬에 의해 이 두 종류가 다르게 처리된다.

  • (x, y, z, 1)^T는 회전과 병진 모두에 의해 변환된다.
  • 방향 벡터 (v_x, v_y, v_z, 0)^T는 회전에만 영향을 받고 병진에는 무관하다.

이 구분은 위치와 방향을 동일한 대수적 프레임워크에서 처리할 수 있게 하며, 동차 좌표의 주요 장점 중 하나이다.

5. 동차 좌표의 도입 동기

5.1 병진과 선형 변환의 통일

유클리드 좌표에서 병진 \mathbf{t}는 선형 변환이 아닌 아핀 변환이다.

\mathbf{p}' = \mathbf{R}\mathbf{p} + \mathbf{t}

이 식은 행렬-벡터 곱만으로 표현할 수 없다. 그러나 동차 좌표에서는 회전과 병진을 하나의 4 \times 4 행렬로 통합할 수 있다.

\begin{bmatrix}\mathbf{p}' \\ 1\end{bmatrix} = \begin{bmatrix}\mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}\begin{bmatrix}\mathbf{p} \\ 1\end{bmatrix}

이로써 일반적 강체 변환이 단일한 행렬 곱으로 표현되어, 변환의 합성, 역변환, 미분 등이 선형 대수의 표준 연산으로 환원된다.

5.2 사영 변환의 표현

원근 투영(perspective projection)과 같은 사영 변환은 유클리드 좌표에서는 비선형이지만 동차 좌표에서는 선형으로 표현된다. 컴퓨터 비전과 컴퓨터 그래픽스에서 카메라 투영 모델이 4 \times 4 또는 3 \times 4 동차 행렬로 통일적으로 기술될 수 있다.

5.3 무한대 점의 수학적 처리

유클리드 공간에서 무한대의 개념은 극한을 통해서만 정의되지만, 동차 좌표에서는 w = 0인 점들이 자연스럽게 무한대의 점을 나타낸다. 이는 평행선의 교점을 수학적으로 다룰 수 있게 한다.

6. 사영 공간 \mathbb{P}^n과의 관계

n차원 사영 공간 \mathbb{P}^n(n+1)차원 동차 좌표의 스칼라 동치류의 집합으로 정의된다.

\mathbb{P}^n = (\mathbb{R}^{n+1} \setminus \{\mathbf{0}\})/\sim

여기서 \sim은 스칼라 동치 관계 \mathbf{x} \sim \lambda\mathbf{x} (\lambda \neq 0)이다. 유클리드 공간 \mathbb{R}^nw \neq 0인 점들의 부분집합으로 \mathbb{P}^n에 포함된다.

\mathbb{P}^3(3차원 사영 공간)은 \mathbb{R}^3을 포함하고 “무한대의 평면“을 추가한 공간이며, 3차원 로봇 공학의 자연스러운 대수적 프레임워크를 제공한다.

7. 동차 좌표 표기의 관례

7.1 물결 표기

수학과 공학 문헌에서 동차 좌표는 물결표(tilde)를 붙여 \tilde{\mathbf{p}}로 표기하거나, 명시적으로 4 \times 1 벡터임을 밝혀 표기한다.

7.2 블록 표기

동차 벡터를 공간 성분과 스칼라 성분으로 블록 분할하여

\tilde{\mathbf{p}} = \begin{bmatrix}\mathbf{p} \\ 1\end{bmatrix}

의 형태로 표기하는 것도 일반적이다.

8. 동차 변환의 기본 구조

동차 좌표에서 강체 변환은 4 \times 4 동차 변환 행렬로 표현된다.

\mathbf{T} = \begin{bmatrix}\mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1\end{bmatrix}

여기서 \mathbf{R} \in SO(3)은 회전 부분, \mathbf{t} \in \mathbb{R}^3는 병진 부분이다. 이 행렬들의 집합이 특수 유클리드군 SE(3)을 이룬다.

9. 장점 요약

동차 좌표의 주요 장점은 다음과 같다.

  1. 변환의 통일: 회전, 병진, 스케일링, 사영을 모두 행렬 곱으로 표현 가능
  2. 합성의 단순화: 복수의 변환을 행렬 곱의 연쇄로 표현
  3. 점과 벡터의 통일 처리: 네 번째 성분으로 구분
  4. 무한대 점의 수학적 표현: 평행선 처리, 소실점 해석 등
  5. 사영 기하학의 완전한 언어: 카메라 모델, 프로젝티브 변환 등

10. 로봇 공학에서의 활용

10.1 기구학 연쇄

매니퓰레이터의 순기구학은 동차 변환 행렬의 연쇄 곱으로 표현된다.

\mathbf{T}_{0,n} = \mathbf{T}_{0,1}\mathbf{T}_{1,2}\cdots\mathbf{T}_{n-1,n}

\mathbf{T}_{i-1,i}DH 파라미터 등에 의해 결정되는 4 \times 4 동차 변환 행렬이다.

10.2 좌표 변환

월드 좌표계에서 카메라 좌표계로, 카메라 좌표계에서 이미지 좌표계로의 변환 등 로봇의 다중 좌표계 관리가 동차 변환의 연쇄로 통합된다.

10.3 카메라 모델

핀홀 카메라 모델에서 3차원 점의 이미지 투영은 3 \times 4 카메라 투영 행렬로 표현된다. 내부 매개변수와 외부 매개변수가 동차 좌표 형식으로 결합된다.

10.4 시뮬레이션과 시각화

3D 엔진과 시각화 도구는 내부적으로 동차 좌표와 4 \times 4 변환 행렬을 사용한다. OpenGL, DirectX 등의 그래픽스 API는 동차 좌표 체계를 기본으로 채택한다.

11. 참고 문헌

  • Möbius, A. F. (1827). Der barycentrische Calcul. Leipzig.
  • Hartley, R., & Zisserman, A. (2003). Multiple View Geometry in Computer Vision (2nd ed.). Cambridge University Press.
  • Siciliano, B., Sciavicco, L., Villani, L., & Oriolo, G. (2009). Robotics: Modelling, Planning and Control. Springer.
  • Craig, J. J. (2018). Introduction to Robotics: Mechanics and Control (4th ed.). Pearson.
  • Spong, M. W., Hutchinson, S., & Vidyasagar, M. (2020). Robot Modeling and Control (2nd ed.). Wiley.

version: 1.0