회전 행렬의 정의

회전 행렬은 공간에서 벡터를 회전시키는 변환을 수학적으로 표현하는 행렬이다. 3차원 공간에서 회전은 주로 \mathbb{R}^3 공간을 대상으로 하며, 회전 행렬은 3x3 행렬로 나타낸다. 회전 행렬은 직교 행렬이며, 그 행렬식은 1이다. 즉, 회전 행렬 \mathbf{R}는 다음 조건을 만족한다:

\mathbf{R}^\top \mathbf{R} = \mathbf{I}, \quad \det(\mathbf{R}) = 1

여기서, \mathbf{R}^\top\mathbf{R}의 전치 행렬이며, \mathbf{I}는 단위 행렬이다.

2차원 공간에서의 회전 행렬

먼저 2차원에서의 회전 행렬을 살펴보자. \mathbb{R}^2 공간에서 점 (x, y)를 원점을 기준으로 반시계 방향으로 \theta 만큼 회전시키는 변환은 다음과 같은 행렬로 나타낸다:

\mathbf{R}(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}

이 회전 행렬은 2차원 벡터 \mathbf{v} = \begin{bmatrix} x \\ y \end{bmatrix}에 대해 다음과 같이 작용한다:

\mathbf{v}' = \mathbf{R}(\theta) \mathbf{v} = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}

따라서, 회전된 벡터 \mathbf{v}' = \begin{bmatrix} x' \\ y' \end{bmatrix}는 다음과 같이 계산된다:

x' = x \cos \theta - y \sin \theta
y' = x \sin \theta + y \cos \theta

3차원 공간에서의 회전 행렬

3차원 공간에서 회전 행렬은 더 복잡하지만, 각 축을 기준으로 하는 회전 행렬을 세 가지로 나누어 설명할 수 있다. 각 축에 대한 회전 행렬은 다음과 같다:

1. x-축 회전

x-축을 기준으로 반시계 방향으로 \theta만큼 회전하는 3차원 회전 행렬은 다음과 같이 정의된다:

\mathbf{R}_x(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos \theta & -\sin \theta \\ 0 & \sin \theta & \cos \theta \end{bmatrix}

2. y-축 회전

y-축을 기준으로 \theta만큼 회전하는 회전 행렬은 다음과 같다:

\mathbf{R}_y(\theta) = \begin{bmatrix} \cos \theta & 0 & \sin \theta \\ 0 & 1 & 0 \\ -\sin \theta & 0 & \cos \theta \end{bmatrix}

3. z-축 회전

z-축을 기준으로 \theta만큼 회전하는 회전 행렬은 다음과 같다:

\mathbf{R}_z(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta & 0 \\ \sin \theta & \cos \theta & 0 \\ 0 & 0 & 1 \end{bmatrix}

이 각각의 회전 행렬은 3차원 벡터 \mathbf{v} = \begin{bmatrix} x \\ y \\ z \end{bmatrix}에 대해 다음과 같이 적용된다:

\mathbf{v}' = \mathbf{R}_x(\theta) \mathbf{v}, \quad \mathbf{v}' = \mathbf{R}_y(\theta) \mathbf{v}, \quad \mathbf{v}' = \mathbf{R}_z(\theta) \mathbf{v}

이를 통해, 임의의 축에 대한 회전은 각 축에 대한 회전 행렬을 곱하는 방식으로 표현할 수 있다.

임의의 축에 대한 회전

임의의 축을 기준으로 회전하려면 회전축 벡터 \mathbf{u} = \begin{bmatrix} u_x \\ u_y \\ u_z \end{bmatrix}와 회전 각도 \theta를 정의할 수 있다. 이때, 임의의 축에 대한 회전 행렬은 Rodrigues' 회전 공식을 사용하여 구할 수 있다. Rodrigues' 공식에 따르면, 임의 축을 기준으로 한 회전 행렬 \mathbf{R}(\theta, \mathbf{u})는 다음과 같이 표현된다:

\mathbf{R}(\theta, \mathbf{u}) = \mathbf{I} + (\sin \theta) \mathbf{K} + (1 - \cos \theta) \mathbf{K}^2

여기서 \mathbf{I}는 3x3 단위 행렬이고, \mathbf{K}는 축 벡터 \mathbf{u}의 외적 행렬(또는 스큐 대칭 행렬)로 정의된다:

\mathbf{K} = \begin{bmatrix} 0 & -u_z & u_y \\ u_z & 0 & -u_x \\ -u_y & u_x & 0 \end{bmatrix}

Rodrigues' 공식의 유도

Rodrigues' 회전 공식은 회전 벡터의 기하학적 성질을 이용해 유도된다. 벡터 \mathbf{v}를 임의의 축 \mathbf{u} 주위로 \theta만큼 회전시키면, 다음과 같은 세 가지 성분으로 나눌 수 있다:

  1. \mathbf{v}_\parallel: 회전축 방향의 벡터 성분 (회전과 무관한 성분)
  2. \mathbf{v}_\perp: 회전축에 수직인 벡터 성분 (회전이 영향을 미치는 성분)
  3. 회전 후의 \mathbf{v}_\perp: 회전 후의 수직 성분

회전 후의 벡터 \mathbf{v}'는 다음과 같이 표현된다:

\mathbf{v}' = \mathbf{v}_\parallel + \cos \theta \mathbf{v}_\perp + \sin \theta (\mathbf{u} \times \mathbf{v})

이 공식을 행렬 형태로 바꾸면 Rodrigues' 회전 공식을 얻게 된다.

회전 행렬의 성질

회전 행렬은 몇 가지 중요한 성질을 가진다:

  1. 역행렬: 회전 행렬 \mathbf{R}의 역행렬은 그 전치 행렬과 같다. 즉,
\mathbf{R}^{-1} = \mathbf{R}^\top

이는 회전이 거꾸로 적용될 때 원래 상태로 복원되는 대칭성을 나타낸다.

  1. 직교성: 회전 행렬은 직교 행렬이다. 즉, \mathbf{R}^\top \mathbf{R} = \mathbf{I}를 만족한다. 이는 회전이 벡터의 크기를 보존하고, 두 벡터 간의 내적 관계를 유지한다는 의미이다.

  2. 행렬식: 회전 행렬의 행렬식은 항상 1이다:

\det(\mathbf{R}) = 1

이는 회전 변환이 벡터의 방향을 유지하며, 부피 보존 변환임을 나타낸다.

회전 행렬의 응용

회전 행렬은 다양한 분야에서 응용된다. 특히, 로봇 공학, 컴퓨터 그래픽스, 항공우주공학, 물리학 등에서 물체의 회전 및 방향을 계산하는 데 중요한 역할을 한다. 예를 들어, 로봇 팔의 운동학을 계산하거나 3D 객체의 회전 애니메이션을 구현하는 데 사용된다.