2020년 8월 9일 일요일

회전 행렬(Rotation Matrix)

[경고] 아래 글을 읽지 않고 "회전 행렬"을 보면 바보로 느껴질 수 있습니다.


[그림 1] 2차원 좌표의 여러 가지 변환(출처: wikipedia.org)

[그림 2] 2차원 상에서 $\phi$방향으로 $\theta$만큼 회전한 벡터(출처: wikipedia.org)

삼각 함수의 합차 공식(angle sum and difference identity)을 이용하면, [그림 2]처럼 $xy$평면에 대한 좌표점의 회전을 쉽게 공식화할 수 있다.

                  (1)

여기서 $x = \rho \cos \phi$, $y = \rho \sin \phi$, 원래 좌표점 $(x, y)$가 $\phi$방향으로 $\theta$만큼 회전한 좌표점이 $(x', y')$이다. 식 (1)을 행렬(matrix) 형태로 쓰면, 2차원에 대한 회전 행렬(rotation matrix)을 다음처럼 얻을 수 있다.

                  (2)

2차원 상의 회전을 쉽게 증명했다고 해서 3차원 상의 회전도 비슷하다고 오판하면 안된다. 3차원 회전은 선형 대수학(linear algebra)을 만든 핵심 개념이다. 연립 방정식(simultaneous equations)을 풀기 위해 행렬이 제안되었다고 오해할 수 있지만, 행렬 개념이 없어도 가우스 소거법(Gaussian elimination)을 이용하면 연립 방정식을 쉽게 해결할 수 있다. 오히려 행렬 개념의 진가는 고유치와 고유 벡터(eigenvalue and eigenvector)에서 드러난다. 행렬이 표현하는 선형 변환(linear transformation)에 관계없이 원래 벡터와 평행한 방향을 유지하면 고유 벡터라 부른다. 당연히 회전축 방향으로 놓인 벡터는 돌리더라도 같은 방향이므로, 회전 행렬의 회전축이 고유 벡터가 된다. 벡터의 크기도 같아야 하므로, 고유치의 크기는 $1$이다. 이러한 측면에서 회전 행렬은 고유치와 고유 벡터의 개념을 이해하기 매우 좋은 예시이다. 수학사 측면에서 봐도 회전 행렬은 정말 중요하다. 사원수(quaternion), 벡터, 행렬 개념이 나오기 직전인 1840년에 로드리그Olinde Rodrigues(1795–1851)가 3차원 좌표점의 회전을 공식화했다[2], [3]. 이 공식은 로드리그의 회전 공식(Rodrigues' rotation formula)이라 부른다. 사실 로드리그가 회전 공식을 제안하기 한참 전인 1776년에 오일러Leonhard Euler(1707–1783)는 비슷한 공식을 먼저 제안했다[1], [3]. 하지만 벡터 개념에 가깝게 3차원 공간의 회전을 표현한 로드리그에게 공식의 이름이 돌아갔다. 그래서 오일러가 연구한 3차원의 회전 개념이 로드리그를 거쳐 사원수와 행렬에 영향을 주어서 고유치와 고유 벡터에 대한 개념이 정립되었다.

[그림 3] 로드리그의 회전 공식을 위한 좌표계(출처: wikipedia.org)

로드리그가 회전 공식을 증명할 때는 벡터가 없었지만, 우리는 벡터 개념을 알기 때문에 편하게 벡터를 써서 증명해보자.

[로드리그의 회전 공식]
벡터 $\bar v$를 회전축 $\hat k$를 기준으로 오른손 법칙에 따라 $\theta$만큼 회전한 벡터는 다음과 같다.

                  (3a)

                  (3b)

여기서 $\bar v$ = $\bar v_\parallel + \bar v_\bot$이다.

[증명]
벡터의 회전은 회전축이 아닌 성분에 대해 적용하므로, [그림 3]처럼 회전축에 평행 혹은 수직인 성분으로 $\bar v$를 분해해서 표현한다.

                  (4)

그러면 세 단위 벡터 $\hat k$, $\hat v_\bot$, $\hat w$ = $\hat k \times \hat v_\bot$는 3차원 공간에 대한 정규 직교 기저(orthonormal basis)가 된다. 그러면 벡터 $\bar v$를 $\theta$만큼 회전하는 연산은 $\hat v_\bot$와 $\hat w$가 만드는 평면에서 $\bar v_\bot$가 $\theta$만큼 돌아감을 의미한다. 따라서 [그림 2]를 참고하면 $\bar v_\bot$를 회전한 벡터 $\bar r$은 다음과 같다.

                  (5)

최종 결과에는 회전하지 않는 $\bar v_\parallel$도 포함되어야 하므로, 식 (5)를 이용해 회전 벡터를 쉽게 표현할 수 있다.

                  (6)

따라서 식 (3)이 증명된다.
______________________________

벡터의 외적(outer product)행렬 연산으로 바꾸면, 로드리그의 회전 공식을 회전 행렬로 바꿀 수 있다. 벡터의 내적을 피하기 위해 식 (5)와 (6)을 합쳐서 다음처럼 쓸 수 있다.

                  (7)

벡터의 외적을 외적 행렬(cross-product matrix)로 바꾸어서 식 (7)을 행렬로 표현한다.

                  (8)

여기서 $\bf K$는 $\hat k$에 대한 외적 행렬, $\bf R$은 회전 행렬이다. 외적 행렬 $\bf K$를 직접 제곱하면 다음을 얻는다.

                  (9)

                  (10)

여기서 단위 벡터 $\hat k$에 대한 열 벡터인 $\bf k$ = $[x~y~z]^T$, $\bf P$는 대칭 행렬(symmetric matrix) 특성을 가진 사영 행렬(projection matrix)이다. 사영 행렬은 ${\bf P}^2$ = $\bf P$를 만족하기 때문에 정사영에 대한 연산이다. 식 (10)을 식 (8)에 대입해서 더 정리하면 다음과 같다.

                  (11)

식 (11)을 행렬 원소로 풀어서 쓸 수도 있다.

                  (12)

여기서 $c = \cos \theta$, $s = \sin \theta$이다.
식 (11)을 이용하면 회전 행렬에 대한 다양한 성질을 증명할 수 있다.

[회전 행렬과 직교 행렬]
회전 행렬은 직교 행렬(orthogonal matrix)이다.

[증명]
각도 $\theta$에 $-\theta$를 넣으면, 회전 행렬의 역행렬을 구할 수 있다. 이 행렬은 회전 행렬의 전치 행렬과 같다.

                  (13)
______________________________

[정상 회전 행렬의 고유치]
정상 회전 행렬의 고유치는 $1, e^{i \theta}, e^{-i \theta}$이다.

[증명]
정상 회전 행렬(proper rotation matrix)정상 직교 행렬(proper orthogonal matrix)인 회전 행렬이다. 즉 행렬식 $|{\bf R}|$ = $1$이면 정상 회전 행렬이 된다. 정상 회전 행렬 $\bf R$에 대한 고유치와 고유 벡터는 다음처럼 정의한다.

                  (14)

여기서 $(\cdot)^H$는 켤레 전치 행렬(conjugate transpose), 고유치와 고유 벡터는 복소수(complex number)일 수 있다. 식 (14)의 두 식을 서로 곱하면 고유 벡터 $\bf x$에 대한 벡터 노름(vector norm) $||{\bf x}||$를 정의할 수 있다.

                  (15)

식 (15)에 의해 고유치의 크기 $|\lambda|$는 항상 $1$이다. 따라서 고유치는 $\lambda$ = $e^{i \alpha}$ 형태를 가진다. 고유치를 위한 행렬식 $\left|{\bf R} - \lambda{\bf I} \right|$와 비슷하게 다음 관계식을 고려하자.

                  (16)

그러면 하나의 고유치는 $\lambda$ = $1$이다. 나머지 두 고유치를 $e^{i \alpha}$, $e^{i \beta}$로 두자. 모든 고유치의 곱은 행렬식이므로, $\alpha$와 $\beta$의 관계는 다음과 같다.

                  (17)

또한 모든 고유치의 합은 행렬의 대각합(trace)이므로, $\alpha$를 결정할 수 있다.

                  (18)
______________________________

행렬식이 $-1$인 이상 회전 행렬(improper rotation matrix)의 고유치는 $-1, e^{i \theta}, e^{-i \theta}$이다. 왜냐하면 식 (16)과 비슷한 행렬식이 다음 특성을 가지기 때문이다.

                  (19)


[참고문헌]
[1] L. Euler, "Nova methodus motum corporum rigidorum degerminandi (A new method for generating the motion of a rigid body)," Novi Commentarii academiae scientiarum Petropolitanae (New Commentary of the St. Petersburg Scientist Academy), vol. 20, pp. 208–238, 1776.
[3] H. Cheng, K. C. Gupta, "An historical note on finite rotations," J. Appl. Mech., vol. 56, no. 1, pp. 139–145, 1989.

[다음 읽을거리]

댓글 없음 :

댓글 쓰기

욕설이나 스팸글은 삭제될 수 있습니다. [전파거북이]는 선플운동의 아름다운 인터넷을 지지합니다.