회전 행렬의 정의¶
회전 행렬은 공간에서 벡터를 회전시키는 변환을 수학적으로 표현하는 행렬이다. 3차원 공간에서 회전은 주로 \(\mathbb{R}^3\) 공간을 대상으로 하며, 회전 행렬은 3x3 행렬로 나타낸다. 회전 행렬은 직교 행렬이며, 그 행렬식은 1이다. 즉, 회전 행렬 \(\mathbf{R}\)는 다음 조건을 만족한다:
여기서, \(\mathbf{R}^\top\)는 \(\mathbf{R}\)의 전치 행렬이며, \(\mathbf{I}\)는 단위 행렬이다.
2차원 공간에서의 회전 행렬¶
먼저 2차원에서의 회전 행렬을 살펴보자. \(\mathbb{R}^2\) 공간에서 점 \((x, y)\)를 원점을 기준으로 반시계 방향으로 \(\theta\) 만큼 회전시키는 변환은 다음과 같은 행렬로 나타낸다:
이 회전 행렬은 2차원 벡터 \(\mathbf{v} = \begin{bmatrix} x \\ y \end{bmatrix}\)에 대해 다음과 같이 작용한다:
따라서, 회전된 벡터 \(\mathbf{v}' = \begin{bmatrix} x' \\ y' \end{bmatrix}\)는 다음과 같이 계산된다:
3차원 공간에서의 회전 행렬¶
3차원 공간에서 회전 행렬은 더 복잡하지만, 각 축을 기준으로 하는 회전 행렬을 세 가지로 나누어 설명할 수 있다. 각 축에 대한 회전 행렬은 다음과 같다:
1. \(x\)-축 회전¶
\(x\)-축을 기준으로 반시계 방향으로 \(\theta\)만큼 회전하는 3차원 회전 행렬은 다음과 같이 정의된다:
2. \(y\)-축 회전¶
\(y\)-축을 기준으로 \(\theta\)만큼 회전하는 회전 행렬은 다음과 같다:
3. \(z\)-축 회전¶
\(z\)-축을 기준으로 \(\theta\)만큼 회전하는 회전 행렬은 다음과 같다:
이 각각의 회전 행렬은 3차원 벡터 \(\mathbf{v} = \begin{bmatrix} x \\ y \\ z \end{bmatrix}\)에 대해 다음과 같이 적용된다:
이를 통해, 임의의 축에 대한 회전은 각 축에 대한 회전 행렬을 곱하는 방식으로 표현할 수 있다.
임의의 축에 대한 회전¶
임의의 축을 기준으로 회전하려면 회전축 벡터 \(\mathbf{u} = \begin{bmatrix} u_x \\ u_y \\ u_z \end{bmatrix}\)와 회전 각도 \(\theta\)를 정의할 수 있다. 이때, 임의의 축에 대한 회전 행렬은 Rodrigues' 회전 공식을 사용하여 구할 수 있다. Rodrigues' 공식에 따르면, 임의 축을 기준으로 한 회전 행렬 \(\mathbf{R}(\theta, \mathbf{u})\)는 다음과 같이 표현된다:
여기서 \(\mathbf{I}\)는 3x3 단위 행렬이고, \(\mathbf{K}\)는 축 벡터 \(\mathbf{u}\)의 외적 행렬(또는 스큐 대칭 행렬)로 정의된다:
Rodrigues' 공식의 유도¶
Rodrigues' 회전 공식은 회전 벡터의 기하학적 성질을 이용해 유도된다. 벡터 \(\mathbf{v}\)를 임의의 축 \(\mathbf{u}\) 주위로 \(\theta\)만큼 회전시키면, 다음과 같은 세 가지 성분으로 나눌 수 있다:
- \(\mathbf{v}_\parallel\): 회전축 방향의 벡터 성분 (회전과 무관한 성분)
- \(\mathbf{v}_\perp\): 회전축에 수직인 벡터 성분 (회전이 영향을 미치는 성분)
- 회전 후의 \(\mathbf{v}_\perp\): 회전 후의 수직 성분
회전 후의 벡터 \(\mathbf{v}'\)는 다음과 같이 표현된다:
이 공식을 행렬 형태로 바꾸면 Rodrigues' 회전 공식을 얻게 된다.
회전 행렬의 성질¶
회전 행렬은 몇 가지 중요한 성질을 가진다:
- 역행렬: 회전 행렬 \(\mathbf{R}\)의 역행렬은 그 전치 행렬과 같다. 즉,
이는 회전이 거꾸로 적용될 때 원래 상태로 복원되는 대칭성을 나타낸다.
-
직교성: 회전 행렬은 직교 행렬이다. 즉, \(\mathbf{R}^\top \mathbf{R} = \mathbf{I}\)를 만족한다. 이는 회전이 벡터의 크기를 보존하고, 두 벡터 간의 내적 관계를 유지한다는 의미이다.
-
행렬식: 회전 행렬의 행렬식은 항상 1이다:
이는 회전 변환이 벡터의 방향을 유지하며, 부피 보존 변환임을 나타낸다.
회전 행렬의 응용¶
회전 행렬은 다양한 분야에서 응용된다. 특히, 로봇 공학, 컴퓨터 그래픽스, 항공우주공학, 물리학 등에서 물체의 회전 및 방향을 계산하는 데 중요한 역할을 한다. 예를 들어, 로봇 팔의 운동학을 계산하거나 3D 객체의 회전 애니메이션을 구현하는 데 사용된다.