クォータニオンと回転
クォータニオンについては 四元数(クォータニオン)を見よ.
まず,一般の四元数$ {\boldsymbol q} = s + {\boldsymbol v} = \left( q_0 , q_1, q_2 , q_3 \right)^\topと三次元ベクトル$ {\boldsymbol x}について,
$ \begin{aligned} {\boldsymbol q} {\boldsymbol x} \bar{\boldsymbol q} = 2 ( {\boldsymbol x} \cdot {\boldsymbol v} ) {\boldsymbol v} + q^2_0 {\boldsymbol x} + 2 q_0 {\boldsymbol v} \times {\boldsymbol x} - \| {\boldsymbol q} \|^2 {\boldsymbol x} \end{aligned}
となる(導出略).これはベクトル部分しか持たないため,ベクトルからベクトルへの変換と解釈できる.
さらにこの変換は線形であり,行列を用いて
$ \begin{aligned} {\boldsymbol x} \mapsto \begin{pmatrix} q^2_0 + q^2_1 - q^2_2 - q^2_3 & 2 ( q_1 q_2 - q_0 q_3) & 2 (q_1 q_3 + q_0 q_2) \\ 2(q_2 q_1 + q_0 q_3) & q^2_0 - q^2_1 + q^2_2 - q^2_3 & 2 (q_2 q_3 - q_0 q_1) \\ 2(q_3 q_1 + q_0 q_2) & 2 (q_3 q_2 + q_0 q_1 ) & q^2_0 - q^2_1 - q^2_2 + q^2_3 \\ \end{pmatrix} {\boldsymbol x} \end{aligned}
と表せる.
また,スカラー$ \alphaに対して,
$ {\boldsymbol q} \begin{pmatrix} \alpha \\ 0 \end{pmatrix} \bar{\boldsymbol q} = \alpha {\boldsymbol q}\bar{\boldsymbol q} = \alpha \left\| {\boldsymbol q} \right\|^2
となる(導出略).
$ \left\| {\boldsymbol q} \right\| = 1 となる単位四元数(unit quaternion)について,$ q_0 = \cos \frac{\theta}{2}, \sqrt{q^2_1 + q^2_2 + q^2_3} = \sin \frac{\theta}{2} となる$ \theta \in [0,2] が一意に定まる.
$ \theta \neq 0 , 2\pi のとき,$ {\boldsymbol n} = \frac{1}{\sin \frac{\theta}{2}} \begin{pmatrix} q_1 \\ q_2 \\ q_3 \end{pmatrix} として,
$ {\boldsymbol q} = \cos \frac{\theta}{2} + \sin \frac{\theta}{2} {\boldsymbol n}
と書ける.$ \theta = 0, 2\piのとき,$ q_0 = 1, q_1 = q_2 = q_3 = 0なので,任意の$ {\boldsymbol n}について上の式が成立する.
この単位四元数を用いた三次元ベクトルの変換は,
$ \begin{aligned} {\boldsymbol q} {\boldsymbol x} \bar{\boldsymbol q} & = \cos \theta {\boldsymbol x} + \left( 1 - \cos \theta \right) \left( {\boldsymbol x} \cdot {\boldsymbol n} \right) {\boldsymbol n} + \sin \theta ~ {\boldsymbol n} \times {\boldsymbol x} , \end{aligned}
となる(導出は省略).
これは回転軸$ {\boldsymbol n}まわりの$ \theta回転を表すロドリゲスの公式と一致する.
したがって,単位四元数$ {\boldsymbol q} = \cos \frac{\theta}{2} + \sin \frac{\theta}{2} {\boldsymbol n}で三次元回転を表現できる.
$ {\boldsymbol q}が単位四元数のとき,三次元ベクトル$ {\boldsymbol x}の変換$ {\boldsymbol q} {\boldsymbol x} {\boldsymbol q}^{-1}の行列での表現は
$ \begin{aligned} {\boldsymbol x} & \mapsto \begin{pmatrix} q^2_0 + q^2_1 - q^2_2 - q^2_3 & 2 ( q_1 q_2 - q_0 q_3) & 2 (q_1 q_3 + q_0 q_2) \\ 2(q_2 q_1 + q_0 q_3) & q^2_0 - q^2_1 + q^2_2 - q^2_3 & 2 (q_2 q_3 - q_0 q_1) \\ 2(q_3 q_1 - q_0 q_2) & 2 (q_3 q_2 + q_0 q_1 ) & q^2_0 - q^2_1 - q^2_2 + q^2_3 \\ \end{pmatrix} {\boldsymbol x} \\ & = \begin{pmatrix} 2 q^2_0 - 1 + 2 q^2_1 & 2 ( q_1 q_2 - q_0 q_3) & 2 (q_1 q_3 + q_0 q_2) \\ 2 (q_2 q_1 + q_0 q_3) & 2 q^2_0 - 1 + 2 q^2_2 & 2 (q_2 q_3 - q_0 q_1) \\ 2 (q_3 q_1 - q_0 q_2) & 2 (q_3 q_2 + q_0 q_1 ) & 2 q^2_0 - 1 + 2 q^2_3 \\ \end{pmatrix} {\boldsymbol x} \end{aligned}
と表せる,当然これは回転行列になる.
上の単位四元数について,$ {\boldsymbol n}と$ \thetaを$ -{\boldsymbol n}と$ 2\pi - \thetaに置き換えたとき,
$ \cos \frac{ 2 \pi - \theta}{2} - \sin \frac{2\pi - \theta}{2} {\boldsymbol n} = - \left( \cos \frac{\theta}{2} + \sin \frac{\theta}{2} {\boldsymbol n} \right)
この四元数はもとの四元数の$ -1倍であるが,回転としては同じ変換である(行列にすると一致する).
また,$ \thetaに$ 2\piの整数倍を足して得られる四元数はもとの四元数と同じ.
つまり,ある回転を表す単位四元数はふたつ存在し,一方はもう一方の符号を反転させたものである.
この2つは同じ回転を表すが,幾何的解釈としては反対方向に$ 2 \pi - \thetaに回す変換とみなせる.
スカラー$ \alphaに対して,
$ {\boldsymbol q} \begin{pmatrix} \alpha \\ 0 \end{pmatrix} \bar{\boldsymbol q} = \alpha {\boldsymbol q}\bar{\boldsymbol q} = \alpha
となる.
回転行列から単位四元数に変換する:
$ {\rm tr} \left( {\boldsymbol R} \right) = 3 q^3_0 - q^1_1 - q^2_2 - q^2_3 = 4 q^2_0 -1
$ \pm \frac{\sqrt{{\rm tr}({\boldsymbol R}) + 1}}{2} = q_0
$ \epsilon_{ijk} R_{jk} = \begin{pmatrix}R_{23} - R_{32} \\ R_{31} - R_{13} \\ R_{12} - R_{21} \\ \end{pmatrix} = -4 \begin{pmatrix} q_0q_1 \\ q_0 q_2 \\ q_0 q_3 \end{pmatrix} = -4 q_0 \begin{pmatrix} q_1 \\ q_2 \\ q_3 \end{pmatrix}
符号は2通りある回転軸と回転角度の選択を表す.$ q_0 = \cos \frac{\theta}{2} なので$ 0 \leq \theta \leq \piの四元数が欲しいなら正を選ぶ.
メモ:
回転軸 $ {\boldsymbol n}と回転角度$ \thetaに対応する単位四元数は$ {\boldsymbol q} = \cos \frac{\theta}{2} + \sin \frac{\theta}{2} {\boldsymbol n}
$ ({\boldsymbol n}, -\theta)あるいは$ (-{\boldsymbol n}, \theta)のとき$ \cos \frac{\theta}{2} - \sin \frac{\theta}{2} {\boldsymbol n} = \bar{\boldsymbol q}
$ ({\boldsymbol n}, 2\pi + \theta)あるいは$ (-{\boldsymbol n}, 2\pi - \theta)のとき,$ - \cos \frac{\theta}{2} - \sin \frac{\theta}{2} {\boldsymbol n} = - {\boldsymbol q}
$ ({\boldsymbol n}, 2\pi - \theta)あるいは$ (-{\boldsymbol n}, 2\pi + \theta)のとき,$ - \cos \frac{\theta}{2} + \sin \frac{\theta}{2} {\boldsymbol n} = - \bar{\boldsymbol q}
#3DRotation