3 minute read

"3D Rotation을 위한 포석"


절댓값이 $1$인 quaternion $t$는 complex number처럼 real part $\cos \theta$와 절댓값이 $\sin \theta$인 imaginary part1로 구성되어 있다.

\[t = \cos \theta + u \sin \theta\]

여기서 $u$는 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$의 unit vector이며 Sec. 1.3의 마지막 논의에 따라 $u^2=-1$.


이런 unit quaternion $t$는 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$의 rotation을 담당한다. 그러나 단순히 곱하기만 해서 되는 게 아닌데, $t$와 $q \in \mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$의 곱은 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$에 속하지 않기 때문.

그럼 어떻게 하지?



Example 1.4.1


\[t^{-1} = \frac{\overline{t}}{\vert t \vert^2} = \cos \theta - u \sin \theta\]

증명은 Ex. 1.3.4 이용.



$t^{-1}$은 항상 존재하므로, $\mathbb{H}$의 원소의 한쪽에 $t$ 또는 $t^{-1}$을 곱하는 것은 invertible map이자 $\mathbb{H}$ 자신으로 가는 bijection이라고 볼 수 있다.

그래서 rotation을 어떻게 구현하냐고?



Definition 1.4.2


다음 $\mathbb{H}$의 bijection map을 $t$에 의한 conjugation이라고 한다.

\[q \mapsto t^{-1}qt\]


이렇게 하면 $t^{-1}qt$는 다시 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$에 속하게 된다. 이 녀석을 rotation으로 보고 싶다.


일단 $t$에 대한 conjugation은 실직선 $\mathbb{R}$를 다시 $\mathbb{R}$로 옮긴다. 실수 $r$에 대해 $t^{-1}rt = r$이니까. 그런데 conjugation은 orthogonal complement $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$역시 자기 자신으로 옮긴다. 이는 $t$의 conjugation이 isometry이기 때문. Unit quaternion을 곱하는 것은 isometry였던 것을 기억!2



Theorem 1.4.3


$t = \cos \theta + u \sin \theta$이고 $u \in \mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$가 unit vector라고 하자. 그러면 $t$에 의한 conjugate는 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$를 축 $u$에 대해 각도 $2\theta$만큼 회전시킨다.


Proof.


먼저 $u$의 실수 배 $\mathbb{R}u$는 conjugation map에 의해 고정된다는 걸 확인하자.

\[\begin{align*} t^{-1}ut &= (\cos \theta - u \sin \theta)u(\cos \theta + u \sin \theta) \\ &= ( u\cos \theta - u^2 \sin \theta)(\cos \theta + u \sin \theta) \\ &= (u\cos \theta + \sin \theta)(\cos \theta + u \sin \theta) \qquad \textrm{ since } u^2 = -1 \\ &= u(\cos^2 \theta + \sin^2 \theta) + \sin \theta \cos \theta + u^2 \sin\theta\cos\theta \\ &= u \qquad \textrm{ also since } u^2 = -1 \end{align*}\]

$t$에 대한 conjugation은 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$의 isometry이므로, 원점 $O$를 통과하고 $\mathbb{R}u$에 수직인 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$의 plane을 생각하자. Conjugate를 취했을 때 이 plane이 rotation이면, $t$에 대한 conjugation은 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$ 전체의 rotation이라는 말이 된다.

실제로, $u \in \mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$에 수직인 unit vector $v$를 선택하자. 즉 $u \cdot v = 0$. 이제 $w = u \times v$로 두면 이는 $uv$와 같다. 그러면 $\{ u,v,w \}$는 $\mathbb{R}\textbf{i} + \mathbb{R}\textbf{j} + \mathbb{R}\textbf{k}$의 orthonormal basis이며 $uv=w$, $wu=v$, $uv=-vu$를 만족한다.

이제 다음을 보이면 된다.

\[t^{-1}vt = v \cos 2 \theta - w \sin 2 \theta \\ t^{-1}wt = v \sin 2 \theta + w \cos 2 \theta\]

즉, $t$에 의한 conjugation이 basis vector $v$, $w$를 회전시켜, 결과적으로 직선 $\mathbb{R}u$에 수직인 plane 전체가 $2\theta$만큼 회전하게 된다.

\[\begin{align*} t^{-1}vt &= (\cos \theta - u \sin \theta)v(\cos \theta + u \sin \theta) \\ &= ( v\cos \theta - uv \sin \theta)(\cos \theta + u \sin \theta) \\ &= v \cos^2 \theta - uv \sin\theta\cos\theta + vu \sin\theta\cos\theta - uvu \sin^2\theta \\ &= v \cos^2 \theta -2uv \sin\theta\cos\theta + u^2v\sin^2\theta \qquad \textrm{ since } vu = -uv \\ &= v(\cos^2 \theta - \sin^2\theta) -2w\sin\theta\cos\theta \qquad \textrm{ since } u^2=-1, uv=w \\ &= v \cos 2\theta - w \sin 2\theta \end{align*}\]

이제 같은 방법으로 $t^{-1}wt = v \sin 2 \theta + w \cos 2 \theta $도 보일 수 있다. $\square$



Thm. 1.4.3은 축 $u$와 회전 각도 $\alpha$로 이루어진 모든 $\mathbb{R}^3$의 rotation이 다음 unit quaternion

\[t = \cos \frac{\alpha}{2} + u\sin \frac{\alpha}{2}\]

에 대한 conjugate임을 말해주고 있다.

$(-t)$에 대한 rotation도 위와 같은데, $(-t)^{-1}s(-t) = t^{-1}st$이기 때문. 이외에 같은 회전을 만드는 unit quaternion은 존재하지 않는다. 모든 unit quaternion은 $t = \cos \frac{\alpha}{2} + u\sin \frac{\alpha}{2}$의 형태로 유일하게 표현될 수 있으므로 rotation은 두 pair $(\pm t, \pm \alpha)$만으로 결정된다. 이 두 quaternion $t$와 $-t$를 antipodal이라고 한다.

따라서, Thm. 1.4.3의 또다른 의미는, $\mathbb{R}^3$의 rotation이 어떤 unit quaternion의 antipodal pair와 대응된다는 것!



Theorem 1.4.4


Rotation의 곱은 rotation. Rotation의 inverse는 rotation


Proof.


축 $u$에 대한 각도 $\alpha$만큼의 rotation을 생각하자. 그 inverse는 당연히 축 $u$에 대한 각도 $-\alpha$만큼의 rotation.


두 rotation의 곱이 rotation이 됨을 보이자. 축 $u_1$에 대한 각도 $\alpha_1$만큼의 rotation $r_1$과 축 $u_2$에 대한 각도 $\alpha_2$만큼의 rotation $r_2$가 있다고 하자.

그러면 $r_1$은 $t_1 = \cos \frac{\alpha_1}{2} + u_1 \sin \frac{\alpha_1}{2}$에 의한 conjugation, $r_2$은 $t_2 = \cos \frac{\alpha_1}{2} + u_2 \sin \frac{\alpha_2}{2}$에 의한 conjugation.

그러므로 rotation $r_1$을 취하고 $r_2$를 취한 결과 $r_1r_2$는

\[q \mapsto t_2^{-1}(t_1^{-1}q t_1)t_2 = (t_1t_2)^{-1}q(t_1t_2)\]

즉 이는 $t_1t_2=t$에 대한 conjugation. Quaternion $t$ 역시 unit이며 따라서 어떤 quaternion $u$와 각도 $\alpha$에 대해

\[t = \cos \frac{\alpha}{2} + u\sin \frac{\alpha}{2}\]

형태로 나타낼 수 있다. 즉 두 rotation의 곱은 $u$에 대한 각도 $\alpha$만큼의 rotation. $\square$


  1. Real part와 orthogonal.

  2. Ex. 1.3.8