機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

オイラーの定理(任意の回転はある回転軸の周りの回転で表せる)

オイラーの定理とは

オイラーの定理ってたくさんあるんですが、今回のオイラー定理は回転に関するものです。

オイラーの定理

3次元空間の任意の回転 {\bf R} はある回転軸 l の周りのある回転角 \Omega の回転である。

回転行列を何回も掛けた回転行列でも任意軸回りの回転で表せるってことです。

回転の定義

本記事で使用する {\bf R}\in{\mathbb R}^{3\times 3} は以下を満たすとします。

\begin{eqnarray}
{\bf R}^\top{\bf R}={\bf I},\ |{\bf R}|>0\tag{1}
\end{eqnarray}
(1){\bf R} が直交行列で、行列式が1であるということです。
簡単に言うと、{\bf R} は普通の回転行列であるということです。
意味が分からない人は、参考文献読んでください。

証明

さて、オイラーの定理を証明しましょう。
{\bf R} の1つの固有値\lambda\in{\mathbb C} とし、対応する単位固有ベクトル{\bf l}\in{\mathbb C}^3 とすると以下が成り立ちます。

\begin{eqnarray}
{\bf R}{\bf l}=\lambda{\bf l}\tag{2}
\end{eqnarray}

(2) の両辺の複素共役は以下のようになります。

\begin{eqnarray}
{\bf R}\bar{\bf l}=\bar{\lambda}\bar{\bf l}\tag{3}
\end{eqnarray}

(2),(3) の両辺の内積をとります。

\begin{eqnarray}
({\bf R}{\bf l})^\top{\bf R}\bar{\bf l}&=&\lambda{\bf l}^\top\bar{\lambda}\bar{\bf l}\\
&=&|\lambda|^2\cdot\|{\bf l}\|^2\tag{4}
\end{eqnarray}

(4) とは違った式変形をしてみます。

\begin{eqnarray}
({\bf R}{\bf l})^\top{\bf R}\bar{\bf l}&=&{\bf l}^\top\underbrace{{\bf R}^\top{\bf R}}_{={\bf I}}\bar{\bf l}\\
&=&{\bf l}^\top{\bf l}\\
&=&\|{\bf l}\|^2\tag{5}
\end{eqnarray}

(4),(5) より、|\lambda|^2=1 であることが分かります。
{\bf R}固有値\lambda_1,\lambda_2,\lambda_3 とすると、以下が成り立ちます。

\begin{eqnarray}
 |{\bf R}|=\lambda_1\lambda_2\lambda_3=1\tag{6}
\end{eqnarray}
(6)固有値の性質より成り立つ式です。詳細については線形代数の書籍を参照してください。

{\bf R}固有値は、固有多項式 \phi(\lambda)=|\lambda{\bf I}-{\bf R}| の根(\phi(\lambda)=0 の解)であり、\phi(\lambda) は3次多項式であるから、
根はすべて実数か、あるいは1つが実数で残りが互いに共役な複素数であることが分かります。
根がすべて実数の場合、順序を問わない列挙は \{\lambda_1,\lambda_2,\lambda_3\}=[1,1,1\},\{1,-1,-1\} です。
根が1つが実数 \lambda で残りが互いに共役な複素数 \alpha,\bar{\alpha} の場合、式 (6) より \lambda\alpha\bar{\alpha}=\lambda|\alpha|^2=\lambda=1 です。
いずれの場合でも、1つの固有値は1であることが分かりました。
実数の固有値 \lambda に対する固有ベクトル {\bf l} は、式 (2) より成分が実数であることが分かります。
よって、式 (2) を満たす単位ベクトル {\bf l} が存在することが分かります。
これは、{\bf l} 方向の直線 l は回転 {\bf R} によって変化しないことを意味します。

任意の位置ベクトル {\bf a}\in{\mathbb R}^3 を直線 l 上へ射影した長さは {\bf l}^\top{\bf a} です。
回転 {\bf R} によって、{\bf a}{\bf a}'={\bf R}{\bf a} に移動したとすると、以下が成り立ちます。(図1参照)

\begin{eqnarray}
{\bf l}^\top{\bf a}'&=&{\bf l}^\top{\bf R}{\bf a}\\
&=&({\bf R}{\bf l})^\top{\bf R}{\bf a}\\
&=&{\bf l}^\top{\bf R}^\top{\bf R}{\bf a}\\
&=&{\bf l}^\top{\bf a}\tag{7}
\end{eqnarray}

一方、{\bf a} と回転軸 l との距離は d=\|{\bf a}-({\bf l}^\top{\bf a}){\bf l}\| となります。
このとき、回転後の {\bf a}' に対する距離 d' は以下のようになります。

\begin{eqnarray}
d'&=&\|{\bf a}'-({\bf l}^\top{\bf a}'){\bf l}\|\\
&=&\|{\bf R}{\bf a}-({\bf l}^\top{\bf a}'){\bf R}{\bf l}\|\\
&=&\|{\bf R}({\bf a}-({\bf l}^\top{\bf a}'){\bf l})\|\\
&=&\|{\bf a}-({\bf l}^\top{\bf a}'){\bf l}\|\\
&=&\|{\bf a}-({\bf l}^\top{\bf a}){\bf l}\|\\
&=&d\tag{8}
\end{eqnarray}

(7),(8) より、任意のベクトル {\bf a} に対して、回転軸 l 上への射影も回転軸 l からの距離 d も回転 {\bf R} によって変化しないことが分かりました。
以上より、オイラーの定理が成り立つことが示せました。

参考文献

3次元回転 パラメータ計算とリー代数による最適化 p8-p12

目次へ戻る