機械学習基礎理論独習

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

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

鏡映変換を2回行うことで回転変換は実現できる

四元数で示してみる

位置ベクトルを {\bf p}=(x,y,z)\in{\mathbb R}^3 、平面の単位法線ベクトルを {\bf n},{\bf u}\in{\mathbb R}^3 、2回の鏡映変換後の位置ベクトル {\bf p}'\in{\mathbb R}^3四元数を使って、

\begin{eqnarray}
(0,{\bf p}')=(0,{\bf u})(0,{\bf n})(0,{\bf p})(0,{\bf n})(0,{\bf u})\tag{1}
\end{eqnarray}
で表せます。
この (1) の右辺が回転を表すことを示します。

\begin{eqnarray}
(0,{\bf u})(0,{\bf n})(0,{\bf p})(0,{\bf n})(0,{\bf u})&=&(-{\bf u}^\top{\bf n},{\bf u}\times{\bf n})(0,{\bf p})(-{\bf n}^\top{\bf u},{\bf n}\times{\bf u})\\
&=&(-{\bf u}^\top{\bf n},{\bf u}\times{\bf n})(0,{\bf p})(-{\bf u}^\top{\bf n},{\bf u}\times{\bf n})^*\\
&=&({\bf u}^\top{\bf n},{\bf n}\times{\bf u})(0,{\bf p})({\bf u}^\top{\bf n},{\bf n}\times{\bf u})^*\tag{2}
\end{eqnarray}

この2つの平面のなす角を \theta/2 します。また、{\bf w}=\dfrac{{\bf n}\times{\bf u}}{\|{\bf n}\times{\bf u}\|} とすると、({\bf u}^\top{\bf n},{\bf n}\times{\bf u}) は以下のように書けます。

\begin{eqnarray}
({\bf u}^\top{\bf n},{\bf n}\times{\bf u})=\left(\cos\dfrac{\theta}{2},\sin\dfrac{\theta}{2}{\bf w}\right)\tag{3}
\end{eqnarray}

よって、(2),(3) より、(1) の右辺 (0,{\bf u})(0,{\bf n})(0,{\bf p})(0,{\bf n})(0,{\bf u}) が回転を表すことが示せました。

最後に

平行移動変換も2回の鏡映変換で実現できます。

参考文献

四元数の発見 p77-p79

目次へ戻る