四元数と回転行列の関係
四元数
次の関係
を満たす
$\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}$
と表せる。
以下同じように他の成分を表すと、
である。
この表現と
四元数による表現
を比較すると分かるように、
両者の間には、
の対応関係がある。
この関係により、回転軸と回転角度が与えられたときには、
それに対応する四元数を求めることができる。
逆に四元数が与えられたときには、
それに対応する回転軸と回転角度を求めることができる。