四元数と回転行列の関係

四元数
  次の関係
四元数
を満たす $\mathbf{i}$, $\mathbf{j}$, $\mathbf{k}$ によって
と表される数 $\hat{q}$ を四元数という。
  $\hat{q}$ の共役 $\hat{q}^{*}$ は
と定義される。
  $\hat{q}$ の絶対値 $\| \hat{q} \|$ は
と定義される。

四元数の積と行列 $R$
  四元数 $\hat{r}$ と $\hat{q}$ を
とし、 四元数 $\hat{r}'$ を
と定義すると、 四元数の性質より、
と表せる (計算の詳細は下記ボタン)。

計算
  四元数の性質より、
と表せる。


  ここで四元数 $\hat{r}'$ を
と置くと、各成分に対し、
が成立する。
  この関係を行列の形でまとめると、
である。 ここで行列 $R$ を
と定義すると、$r_{i}'$ と $r_{i}$ の関係が
と表せる。
  従って、 $3$ つの成分を持つ四元数 $\hat{r}$ に対して、 左から四元数 $\hat{q}$ を掛け、 右からその共役 $\hat{q}^{*}$ を掛けること ($\hat{q}\hat{r}\hat{q}^{*} $ ) は、 $\hat{r}$ の成分からなる $3$ 次元ベクトルに行列 $R$ を掛けることに対応する。
  以下では、条件 $|\hat{q}| = 1$ がある場合には、 $R$ が回転行列になることを示す。
$R$ は回転行列
  四元数 $\hat{q}$ が単位四元数である場合、 すなわち、
である場合には、上で定義した行列
が回転行列であることを示す。
  ある行列が回転行列であることを示すためには、 その行列が直交行列であり、 かつ、行列式が $1$ であることを示せばよい。 そこで、 次の順序で証明を行う。

(i)   $R$ が直交行列
(ii)   $|R| = 1$
(i)   $R$ は直交行列
  $R$ の列ベクトルを
と表すと、
である。$ \mathbf{R}_{1}$ のノルムの二乗を計算すると、
である。 同様に
が成り立つ。
  また $\mathbf{R}_{1}$ と $ \mathbf{R}_{2} $ の内積を計算すると、
が成り立つ。 同様に
が成り立つので、 異なる列ベクトル同士が直交する
  以上より、 行列 $R$ の列ベクトルは正規直交系をなす。 これにより、
が成り立つ (ここで $I$ は単位行列)。 同じように $RR^{T} = I$ も示されるので(直交行列の性質を参考)、 $R$ は直交行列である。
(ii)  $|R|=1$
  次に $(10)$ のもとで、$R$ の行列式が $1$ であることを示す。
  $\mathbf{R}_{1}$ と $\mathbf{R}_{2}$ の列ベクトルの外積の第 $1$ 成分を $(\mathbf{R}_{1} \times \mathbf{R}_{2}) |_{1}$ と表すと、
が成立する。すなわち、$\mathbf{R}_{3}$ の第 $1$ 成分に等しい。
  同じように、第 2、第 3 成分に対しても
が成立する。 よって
である。 ここで、 $3 \times 3$ の行列式がスカラー三重積に等しいこと を用いると、 $R$ の行列式は
である。
結論
  以上より、行列 $R$ は
を満たすので、回転行列である。
回転軸と角度
  回転行列を表すにおける四元数
のそれぞれの $q_{i}$ と、 回転角度 $\theta$ と回転軸 $(n_{1}, n_{2}, n_{3})$ との対応関係は、
四元数と回転軸と回転角度との対応
である。

解説
  ロドリゲスの回転公式により、 回転軸 $\mathbf{n} = [n_1, n_2, n_3]$ の周りの角度 $\theta$ の回転を与える回転行列は、
と表される。ここで 倍角の公式
と、$\mathbf{n}$ が単位ベクトルであること、すなわち
を使って、 $R$ の各成分 $R_{ij} \hspace{1mm} (i,j=1,2,3)$ を書き直すと、 $R_{11}$ と $R_{12}$
と表せる。
  以下同じように他の成分を表すと、
である。
  この表現と四元数による表現
を比較すると分かるように、 両者の間には、
の対応関係がある。
  この関係により、回転軸と回転角度が与えられたときには、 それに対応する四元数を求めることができる。 逆に四元数が与えられたときには、 それに対応する回転軸と回転角度を求めることができる。