ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

直交行列、回転行列と反転

写真から作る3次元CG 3.5から

直交行列

行列Mが  $M^{T}M=I を満たすとき、Mは直交行列である。
回転行列Rも  $R^{T}R=I を満たすので直交行列である。

確認作業

回転行列が直交行列であることを、手を動かして確認してみる。任意の回転は、3つの軸に対する回転の合成で表すことができるので、 $R=R{_1}R{_2}R{_3} と表せる。オイラー角ロール・ピッチ・ヨーによる表現もこの形になる。
これを  $R^{T}R に代入すると、
 $R^{T}R=(R{_1}R{_2}R{_3})^{T}(R{_1}R{_2}R{_3})=R{_3}^{T}R{_2}^{T}R{_1}^{T}R{_1}R{_2}R{_3}
ある軸に対する回転行列の転置行列は、逆行列に一致し、逆回転を表す。これを利用すると、一番内側の  $R{_1}^{T}R{_1} $I になる。同じ操作を2回繰り返し、  $R^{T}R=I を得る。

反転行列

反転行列は、このように表現できる。
 $R'=I-2u{_h}u{_h}^{T}
ここで、  $u{_h} は、反転する平面の法線方向を示す単位ベクトルである。

確認作業

こちらも手を動かして確認する。
平面z=0に対する反転の時、  $u{_h} = \begin{pmatrix} 0 & 0 & 1 \end{pmatrix}^{T} なので、

 $R^{'}=I-2u_{h}u_{h}^{T}=\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} -2\begin{pmatrix} 0 \\ 0 \\ 1 \end{pmatrix} \begin{pmatrix} 0 & 0 & 1 \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} -2\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 1 \end{pmatrix} =\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & -1 \end{pmatrix}

なので、x座標とy座標はそのままに、z座標の符号だけを反転させている。