機械学習基礎理論独習

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

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

剛体変換行列の積が剛体変換行列であることの確認

剛体変換行列とは

剛体変換行列 {\bf M}\in{\mathbb R}^{4\times 4} は、回転行列 {\bf R}_3\in{\mathbb R}^{3\times 3} と平行移動ベクトル {\bf t} を使って、以下のように表せます。

\begin{eqnarray}
{\bf M}=
\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf I}_3 &  & \large{\bf t} \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)
\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3 &  & {\bf 0} \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)
=
\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3 &  & \large{\bf t} \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)
\end{eqnarray}

剛体変換行列の積が剛体変換行列であることの確認

もう1つ剛体変換行列を用意します。
剛体変換行列 {\bf M}'\in{\mathbb R}^{4\times 4} は、回転行列 {\bf R}_3'\in{\mathbb R}^{3\times 3} と平行移動ベクトル {\bf t}' を使って表されるとします。
このとき、{\bf M}{\bf M}' が剛体変換行列であること、すなわち、4行目が ({\bf 0}^\top \ 1) で左上の 3\times 3 のブロック行列が回転行列であればよいことになります。
では {\bf M}{\bf M}' を計算していきます。

\begin{eqnarray}
{\bf M}{\bf M}'&=&\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3 &  & \large{\bf t} \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)
\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf I}_3 &  & \large{\bf t}' \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)
\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3' &  & {\bf 0} \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)\\
&=&\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3 &  & \large{\bf t} + \large{\bf R}_3\large{\bf t}'\\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)
\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3' &  & {\bf 0} \\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)\\
&=&\left(
\begin{array}{ccc|c}
   & & & \\
   & \large{\bf R}_3\large{\bf R}_3' &  & \large{\bf t} + \large{\bf R}_3\large{\bf t}'\\
   & & & \\  \hline
   & {\bf 0}^\top & & 1
\end{array}
\right)\tag{2}
\end{eqnarray}

(2) より、4行目が ({\bf 0}^\top \ 1) で左上の 3\times 3 のブロック行列 {\bf R}{\bf R}' が回転行列であるので、{\bf M}{\bf M}' が剛体変換行列です。
({\bf R}{\bf R}' が回転行列であることは、「任意軸回りの回転が回転行列である」ことと「回転行列の積は回転行列である」ことの確認 を参照してください。)
よって、剛体変換行列の積が剛体変換行列であることが示せました。

最後に

数学的にまあまあ怪しい感じですが、明らかだと思うのでこんな示し方でもいいんじゃないかなって思います。

目次へ戻る