機械学習基礎理論独習

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

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

鏡映変換

鏡映変換とは

鏡映変換とは平面で折り返すことです。
位置ベクトルを {\bf p}=(x,y,z)\in{\mathbb R}^3 、平面の単位法線ベクトルを {\bf n}=(n_x,n_y,n_z)\in{\mathbb R}^3 とすると、鏡映変換後の位置ベクトル {\bf p}'\in{\mathbb R}^3

\begin{eqnarray}
{\bf p}'={\bf p}-2({\bf n}^\top{\bf p}){\bf n}\tag{1}
\end{eqnarray}
となります。

鏡映変換を行列で表す

鏡映変換は行列で表すこともできます。

\begin{eqnarray}
{\bf p}'&=&{\bf p}-2({\bf n}^\top{\bf p}){\bf n}\\
&=&\begin{pmatrix}x\\y\\z\end{pmatrix}-2(n_xx+b_yy+c_zz) \begin{pmatrix}n_x\\n_y\\n_z\end{pmatrix}\\
&=&\begin{pmatrix}x\\y\\z\end{pmatrix}
+
\begin{pmatrix}
 -2{n_x}^2x -2n_xn_yy -2n_xn_zz\\
 -2n_xn_yx -2{n_y}^2y -2n_yn_zz\\
 -2n_xn_zx -2n_yn_zy z-2{n_z}^2z\\
\end{pmatrix}\\
&=&\begin{pmatrix}
1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & 1\\
\end{pmatrix}
\begin{pmatrix}x\\y\\z\end{pmatrix}
 +\begin{pmatrix}
 -2{n_x}^2 & -2n_xn_y & -2n_xn_z\\
 -2n_xn_y & -2{n_y}^2 & -2n_yn_z\\
 -2n_xn_z & -2n_yn_z & -2{n_z}^2\\
\end{pmatrix}
\begin{pmatrix}x\\y\\z\end{pmatrix}\\
&=&\begin{pmatrix}
 1-2{n_x}^2 & -2n_xn_y & -2n_xn_z\\
 -2n_xn_y & 1-2{n_y}^2 & -2n_yn_z\\
 -2n_xn_z & -2n_yn_z & 1-2{n_z}^2\\
\end{pmatrix}
\begin{pmatrix}x\\y\\z\end{pmatrix}\tag{2}
\end{eqnarray}

(2) より、鏡映変換 {\bf M}_{\bf n}\in{\mathbb R}^{3\times 3} は、以下のように表せます。

\begin{eqnarray}
{\bf M}_{\bf n}=
\begin{pmatrix}
1-2{n_x}^2 & -2n_xn_y & -2n_xn_z\\
 -2n_xn_y & 1-2{n_y}^2 & -2n_yn_z\\
 -2n_xn_z & -2n_yn_z & 1-2{n_z}^2\\
\end{pmatrix}\tag{3}
\end{eqnarray}

鏡映変換を四元数で表す

(0,{\bf n}),(0, {\bf p})\in{\mathbb H} の積 (0,{\bf n})(0, {\bf p})(0,{\bf n}) が鏡映変換であることを示します。

\begin{eqnarray}
(0,{\bf n})(0, {\bf p})(0,{\bf n})&=&(0,{\bf n})(-{\bf p}^\top{\bf n},{\bf p}\times{\bf n})\\
&=&(-{\bf n}^\top\left({\bf p}\times{\bf n}\right), \left(-{\bf p}^\top{\bf n}\right){\bf n}+{\bf n}\times\left({\bf p}\times{\bf n}\right))\\
&=&(0,-\left({\bf p}^\top{\bf n}\right){\bf n}+||{\bf n}||^2{\bf p}-\left({\bf n}^\top{\bf p}\right){\bf n})\\
&=&(0,{\bf p}-2({\bf n}^\top{\bf p}){\bf n})\\
&=&(0,{\bf p}')\tag{4}
\end{eqnarray}

(4) より、(0,{\bf n})(0, {\bf p})(0,{\bf n}) が鏡映変換であることが示せました。

参考リンク

鏡映 - Wikipedia

参考文献

四元数の発見 p70-p82

目次へ戻る