DOSEIの日記

技術メモ+日常ログ

外積が行列で書けること

空間上の回転

id:DOSEI:20060512:p1 で書いた通り, 外積の計算は行列を使って線型変換の形で書ける:

a × b = [a]× b

で、単位ベクトル n の(原点を通る)軸周り、回転角 θ[rad] の回転行列は

exp(θ[n]×)

と書ける。ただし、指数を行列に拡張した定義は、テイラー展開した式で形式的に行列で置き換える事で与えられる。

平面上の回転

複素平面において、a+bi を [a,b] と同一視すると,

\begin{bmatrix} a \\ b \end{bmatrix} \bullet \begin{bmatrix} c \\ d \end{bmatrix} = \begin{bmatrix} a & -b \\ b & a \end{bmatrix}\begin{bmatrix}c \\ d \end{bmatrix}

となり、特に i を掛けることは、 \begin{bmatrix} 0 & -1 \\ 1 & 0\end{bmatrix} を掛けることに対応する。ここで, • はベクトル表記での複素数の積。これは、3次元の外積と類似した関係。そこで、

\begin{bmatrix} a \\ b \end{bmatrix}_{\bullet} := \begin{bmatrix} a & -b \\ b & a \end{bmatrix}

という演算子[]を定義する。

複素平面上の回転は

exp(iθ)(a+bi) = (cos θ + i sin θ)(a+bi) = (a cos θ − b sin θ) + (a sin θ + b cos θ)i

で、ベクトル表記では

\begin{bmatrix} \cos\theta \\ \sin\theta \end{bmatrix} \bullet \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} \cos\theta \\ \sin\theta \end{bmatrix}_{\bullet} \begin{bmatrix} a \\ b \end{bmatrix} = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}\begin{bmatrix}a \\ b \end{bmatrix}

である。
したがって、原点中心に回転を表す行列は

\exp\left(\theta\begin{bmatrix}0 \\ 1\end{bmatrix}_{\bullet}\right) = \exp\left(\begin{bmatrix} 0 & -\theta \\ \theta & 0 \end{bmatrix}\right) = \begin{bmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{bmatrix}

となっている。これは 3次元の回転行列の式と類似している。3次元の場合の軸を表すベクトルに対応するのは、[0,1] というベクトル、つまり虚数単位らしい。2次元平面において回転軸という概念はないが、これはアナロジーとして何を意味しているのか?3次元ではノルムが1であれば自由にあたえらるが、2次元の場合はどうなるのか?またこれはn次元に拡張できるか?