내용을 보강하여 3D Rigid Body Transformation 개념 정리 포스트에 업로드하였습니다.
Introduction
회전행렬은 n차원 공간 상 존재하는 물체를 회전시킬 때 사용하는 행렬이다. 일반적으로 2차원 또는 3차원 공간 상의 강체(rigid body)를 회전시킬 때 사용한다. 본 포스트에서는 3차원 공간 상의 강체를 회전시킨다고 가정한다.
다음과 같이 공간 상의 고정좌표계
\begin{equation}
\begin{aligned}
\vec{P}=P_1\hat{X}+P_2\hat{Y}+P_3\hat{Z}
\end{aligned}
\end{equation}
그리고
\begin{equation}
\begin{aligned}
\hat{x}=r_{11}\hat{X}+r_{21}\hat{Y}+r_{31}\hat{Z}
\ \hat{y}=r_{12}\hat{X}+r_{22}\hat{Y}+r_{32}\hat{Z}
\ \hat{z}=r_{13}\hat{X}+r_{23}\hat{Y}+r_{33}\hat{Z}
\end{aligned}
\end{equation}
위 수식의 표현을 간략하게 하기 위해 아래와 같은 기호를 사용한다.
\begin{equation}
\begin{aligned}
{\color{red}{P}} =\left[
\end{aligned}
\end{equation}
위 기호를 사용하면 아래와 같은 복잡한 수식을
\begin{equation}
\begin{aligned}
\vec{P}=P_1\hat{X}+P_2\hat{Y}+P_3\hat{Z}
\ \hat{x}=r_{11}\hat{X}+r_{21}\hat{Y}+r_{31}\hat{Z}
\ \hat{y}=r_{12}\hat{X}+r_{22}\hat{Y}+r_{32}\hat{Z}
\ \hat{z}=r_{13}\hat{X}+r_{23}\hat{Y}+r_{33}\hat{Z}
\end{aligned}
\end{equation}
아래와 같이 간단하게 나타낼 수 있다.
\begin{equation}
\begin{aligned}
\vec{P}=\left[
\ \left[
\end{aligned}
\end{equation}
이 때,
그리고
Properties of Rotation Matrix
다음과 같이 총 12개의 변수를 사용하여
\begin{equation}
\begin{aligned}
(\hat{x},\hat{y},\hat{z}), (r_{11},r_{12},r_{13},r_{21},r_{22},r_{23},r_{31},r_{32},r_{33})
\end{aligned}
\end{equation}
하지만 3차원 공간에서 물체는 회전 3자유도와 이동 3자유도를 합한 6자유도(=6DOF, 6 Degree of Freedom)를 갖는다. 회전은 3자유도를 가지므로 이에 따라 12개의 변수는 모두 독립이 아니고 종속적이라는 것을 알 수 있다. 즉, 독립적으로 3개를 정하면 제약조건에 의해 나머지 9개의 변수는 결정된다는 것을 알 수 있다.
제약조건 및 회전행렬의 특징은 다음과 같다.
1)
\begin{equation}
\begin{aligned}
\end{aligned}
\end{equation}
2)
\begin{equation}
\begin{aligned}
\end{aligned}
\end{equation}
위 조건들을 합쳐서 보통 다음과 같이 표현한다.
3) (일반적으로) 오른손 좌표계를 사용한다는 조건
\begin{equation}
\begin{aligned}
\text{(vii) det}R=1 \Leftrightarrow \hat{x} \times \hat{y} = \hat{z}
\end{aligned}
\end{equation}
4) 다음과 같은 연속적인 회전을 나타낼 때는 회전 행렬의 곱셈을 통해 표현할 수 있다.
\begin{equation}
\begin{aligned}
^{a}_{b}R^{b}_{c}R \ =\ ^{a}_{c}R
\end{aligned}
\end{equation}
\begin{equation}
\begin{aligned}
\color{red}{[\hat{x}_{b},\hat{y}_{b},\hat{z}_{b}] = [\hat{x}_{a},\hat{y}_{a},\hat{z}_{a}]^{a}_{b}R}
\ \color{red}{[\hat{x}_{c},\hat{y}_{c},\hat{z}_{c}] = [\hat{x}_{b},\hat{y}_{b},\hat{z}_{b}]^{b}_{c}R}
\ \color{blue}{\therefore [\hat{x}_{c},\hat{y}_{c},\hat{z}_{c}] = [\hat{x}_{a},\hat{y}_{a},\hat{z}_{a}]^{a}_{c}R^{b}_{c}R}
\end{aligned}
\end{equation}
5)
\begin{equation}
\begin{aligned}
^{a}_{b}R^{b}_{a}R = \mathbf{I}
\end{aligned}
\end{equation}
6) 또한 다음과 조건들로부터 아래와 같은 식을 유도할 수 있다.
\begin{equation}
\begin{aligned}
^{a}_{b}R\ ^{a}_{b}R^\text{T}=\mathbf{I} \quad \text{and} \quad ^{a}_{b}R\ ^{b}_{a}R = \mathbf{I}
\end{aligned}
\end{equation}
로부터
\begin{equation}
\begin{aligned}
& R^\text{T}R=\mathbf{I} \quad \leftrightarrow \quad R^{\text{T}} = R^{-1} \
& \therefore \ ^{a}_{b}R^{-1} = \ ^{a}_{b}R^{T} = \ ^{b}_{a}R
\end{aligned}
\end{equation}
따라서 회전행렬은 역행렬과 전치행렬이 동일 하며 이는 반대방향으로 회전을 나타냄을 알 수 있다.
7) 회전행렬을 통해 특정 vector의 기준 좌표계 또한 변환할 수 있다.
\begin{equation}
\begin{aligned}
& \vec{v}_a \ = \ ^{a}_{b}R\vec{v}_b
\end{aligned}
\end{equation}
이 때
따라서 아래와 같이 특정 vector의 기준좌표계를 회전행렬을 통해 변환할 수 있다.
\begin{equation}
\begin{aligned}
\therefore \vec{v}_a \ = \ ^{a}_{b}R\vec{v}_b
\end{aligned}
\end{equation}
8) 회전행렬을 사용하여 특정 vector를 회전시킬 수도 있다.
\begin{equation}
\begin{aligned}
v' \ = \ ^{a}_{b}Rv
\end{aligned}
\end{equation}
frame이 회전할 때 frame 위에 있는 사람이 보면 vector가 회전하는 것처럼 보인다.
Special Orthogonal Group (SO3)
회전행렬과 같이 순수한 회전에만 관여하는 행렬을 따로 Group으로 묶을 수 있다. 회전행렬의 성질을 만족하는 모든 집합은 Special Orthogonal Group (SO)에 속하며 본 자료에서 다루는 3차원 공간 상의 회전행렬은 SO(3)에 속한다. SO(3) 그룹은 Lie Group에 속한다.
SO(3) 그룹(또는 집합)의 정의는 다음과 같다.
\begin{equation}
\begin{aligned}
\text{SO}(3) = \{ R \in \mathbb{R}^{3 \times 3} \ | \ RR^{T} = \mathbf{I}, \text{det}(R)=1 \}
\end{aligned}
\end{equation}
SO(3) 성질 중
\begin{equation}
\begin{aligned}
\text{O}(3) = \{ R \in \mathbb{R}^{3 \times 3} \ | \ RR^{T} = \mathbf{I}, \}
\end{aligned}
\end{equation}
따라서 SO(3) 그룹은 O(3) 그룹의 특징에 Special한 특징 (
임의의 회전행렬
\begin{equation}
\begin{aligned}
R_{1} + R_{2} \notin SO(3) \quad \text{and} \quad R_{1}R_{2} \in SO(3)
\end{aligned}
\end{equation}
References
'Fundamental' 카테고리의 다른 글
선형대수학 (Linear Algebra) 개념 정리 Part 1 (1) | 2022.01.05 |
---|---|
리군 이론(Lie Theory) 개념 정리 - SO(3), SE(3) (9) | 2022.01.04 |
오일러 각도 (Euler Angle) 개념 정리 (0) | 2022.01.04 |
강체 변환 (Rigid Body Transformation) 개념 정리 (0) | 2022.01.04 |
좌표계 (Coordinate System) 개념 정리 (0) | 2022.01.04 |