座標変換のメモ その2 同次変換行列

理論関係

前回の記事では、回転行列について説明をしました。ここでは移動を中心に説明します。

移動と回転

つぎのような原点o_{o}をもつ座標系\Sigma_{o}と 原点o_{a}をもつ座標系 \Sigma_{a}を考えます。

座標系\Sigma_{o} からみた,点Pの位置ベクトルを{^{o}p_{p-o}},
座標系\Sigma_{a} からみた,点Pの位置ベクトルを{^{a}p_{p-a}},
原点o_{a}の位置ベクトルを {{o}^p_{a-o}}とすれば,
\Sigma_{o} からみた点Pの位置ベクトルは次のように表現できます。

(1)   \begin{equation*}\begin{Bmatrix} ^{o}p_{p} \end{Bmatrix} =\begin{bmatrix} ^{o}R_{a} \end{bmatrix} \begin{Bmatrix} ^{a}p_{p} \end{Bmatrix} +\begin{Bmatrix} ^{o}p_{a-o} \end{Bmatrix} \end{equation*}

右辺第一項は、回転行列を利用することで、座標系 \Sigma_{a}のベクトル成分を、 \Sigma_{o}に変換しているのがミソです。 これは, \Sigma_{a}がどれだけ, \Sigma_{o}から回転していても同じように表現できます。

同次変換行列

上の式(1)を一つの行列で表現したものが同次変換行列です。具体的には次のような内容の4×4の行列になります。回転行列をRであらわすことが多い気がしますが,同次変換行列はTを使うことが多い気がします。

(2)   \begin{equation*} \begin{bmatrix}^{o}T_{a}\end{bmatrix} = \begin{bmatrix}&^{o}R_{a}&&  ^{o}p_{a-o}  \\0&0&0&1\end{bmatrix}\end{equation*}

同次変換行列の逆行列

回転行列の逆行列はその転置行列と同じですが,同次変換行列はそうはいきません。しかし,同次変換行列は転置行列を使って次のような式が知られています。

(3)   \begin{equation*} \begin{bmatrix}^{o}T_{a}\end{bmatrix}^{-1} = \begin{bmatrix}&^{o}R_{a}^{T}&& -^{o}R_{a}^{T} ^{o}p_{a} \\0&0&0&1\end{bmatrix}\end{equation*}

以上より、回転と、移動を考慮した座標変換が一つの行列を利用することで表現できることになります。

(4)   \begin{equation*}\begin{Bmatrix} ^{o}p_{p} \end{Bmatrix} =\begin{bmatrix} ^{o}T_{a} \end{bmatrix} \begin{Bmatrix} ^{a}p_{p} \end{Bmatrix}\end{equation*}

ここで,右辺のTの右下の添え字と,pの左上の添え字が同じところがミソです。この概念は3Dの幾何学操作では必ず出てくると思うので自由自在に使えるようになるとよいかなーと個人的に思っています。毎日鍛錬あるのみです!

コメント

タイトルとURLをコピーしました