next up previous
Next: 3 3 点から合同アフィン変換を決定 Up: 3 次元のアフィン行列を求める問題について Previous: 1 はじめに (PDF ファイル: system2.pdf)

2 アフィン変換と回転行列

3 次元空間内のアフィン変換とは、

\begin{displaymath}
P(x_1,x_2,x_3) \mapsto Q(y_1,y_2,y_3)
\end{displaymath}

が、以下のように一つの行列 $A$ とベクトル $\mbox{\boldmath$b$}$ によって表される変換のことである:
\begin{displaymath}
\mbox{\boldmath$q$} = A\mbox{\boldmath$p$} + \mbox{\boldmat...
...w}(\mbox{\boldmath$q$}=\vec{OQ}, \mbox{\boldmath$p$}=\vec{OP})\end{displaymath} (1)

$\mbox{\boldmath$b$}$ は平行移動を表し、行列 $A$ が一次変換を意味しているが、 ここでは形を変えない合同変換 (回転 $+$ 平行移動) を考えることにする。

この変換によって、座標軸方向の単位ベクトル

\begin{displaymath}
\mbox{\boldmath$e_1$}=\matrixC{1,0,0},  \mbox{\boldmath$e_2$}=\matrixC{0,1,0},
  \mbox{\boldmath$e_3$}=\matrixC{0,0,1}
\end{displaymath}

は、新たな互いに直交する単位ベクトルに写るはずであるが、 それらをそれぞれ $\mbox{\boldmath$a_1$}$, $\mbox{\boldmath$a_2$}$, $\mbox{\boldmath$a_3$}$ とすると、例えば $\mbox{\boldmath$a_1$}$

\begin{displaymath}
\mbox{\boldmath$a_1$}=A\mbox{\boldmath$e_1$} = \matrixR{%
a...
..._{32},a_{33}}
\matrixC{1,0,0} = \matrixC{a_{11},a_{21},a_{31}}
\end{displaymath}

のようになり、結局 $A=\matrixR{{a_1},{a_2},{a_3}}$ であることがわかる。

ここで、 $\mbox{\boldmath$a$}^T\mbox{\boldmath$b$} = \mbox{\boldmath$a$}\cdot\mbox{\boldmath$b$}$ (内積) に等しいことを 利用して、この行列 $A$ に関して $A^TA$ ($A^T$$A$ の転置) を計算してみると、

\begin{displaymath}
A^TA = \matrixC{{a_1}^T,{a_2}^T,{a_3}^T}
\matrixR{{a_1},{a_2...
...ot{a_3}:
{a_3}\cdot{a_1},
{a_3}\cdot{a_2},
{a_3}\cdot{a_3}}
\end{displaymath}

となるが、 $\mbox{\boldmath$a_1$}$, $\mbox{\boldmath$a_2$}$, $\mbox{\boldmath$a_3$}$ は互いに直交する 単位ベクトルであるから、結局 $A^TA=E$ (単位行列) となる。

このように、$A^TA=E$、すなわち転置行列が逆行列となるような実行列は、 直交行列 と呼ばれているが、逆に、直交行列の列ベクトルは 上の計算からもわかるように互いに直交する単位ベクトルとなっている。 すなわち、合同変換を表す行列 $A$ は直交行列であることがわかる。

また、直交行列は

\begin{displaymath}
\vert A^TA\vert = \vert A^T\vert\vert A\vert=\vert A\vert^2=\vert E\vert=1
\end{displaymath}

よりその行列式の値は $\pm 1$ となるが、行列式の値が負の場合 $\mbox{\boldmath$a_1$}$, $\mbox{\boldmath$a_2$}$, $\mbox{\boldmath$a_3$}$ は左手系をなす。 よって、回転を表す行列の場合は行列式の値が 1 の直交行列のみを扱うのが 普通である ($-1$ の方は反転が入る)。

回転を表す行列は、さらに各軸の周りの回転角を用いて、3 つのパラメータ (角度) の正弦、余弦の値を使って表されるようであり、 詳しくは知らないのでここではそれは省略するが、 回転を表す行列が与えられれば、それらの角は一意に決定することができるようである。

また、$A$ による変換が本当に原点の周りの回転を表しているのか、 ということに関しては、 一次変換の性質を次のように見れば多少納得できるだろう。 3 次元空間の任意の点 $P(x_1,x_2,x_3)$ が、$A$ によって $Q(y_1,y_2,y_3)$ に写ったとすると、それらは $\mbox{\boldmath$q$} = A\mbox{\boldmath$p$}$ の 関係にあるが、ここで、

\begin{displaymath}
\mbox{\boldmath$p$} = \matrixC{x_1,x_2,x_3}
=x_1\matrixC{1,0...
...ldmath$e_1$}+x_2\mbox{\boldmath$e_2$}+x_3\mbox{\boldmath$e_3$}
\end{displaymath}

と考えれば、

\begin{eqnarray*}\mbox{\boldmath$q$} & = & A\mbox{\boldmath$p$} = A(x_1\mbox{\bo...
...\boldmath$a_1$}+x_2\mbox{\boldmath$a_2$}+x_3\mbox{\boldmath$a_3$}\end{eqnarray*}

となる。

この式は、 $\mbox{\boldmath$a_1$}$, $\mbox{\boldmath$a_2$}$, $\mbox{\boldmath$a_3$}$ をあらたな座標軸として 点 $Q$ を見ると、その成分は $x_1$, $x_2$, $x_3$ であり、 それは、元の座標系での点 $P$ の成分に等しい、 ということを意味している。 つまり、$A$ による変換は、 座標軸が $\mbox{\boldmath$a_1$}$, $\mbox{\boldmath$a_2$}$, $\mbox{\boldmath$a_3$}$ に合わせて方向を変えた分だけ $P$ も動く、そういう変換である、ということを意味することになる。


next up previous
Next: 3 3 点から合同アフィン変換を決定 Up: 3 次元のアフィン行列を求める問題について Previous: 1 はじめに
Shigeharu TAKENO
2004年 2月 26日