今回は、複素数を拡張した概念である四元数について説明します。
また、四元数の計算が回転に対応することを、ロドリゲスの回転公式と比較することで示します。まずは、四元数の定義と性質について説明します。
四元数とは?
冒頭で紹介したように、複素数を拡張した概念として四元数($\RM{quaternion}$)が生まれました。
さて、四元数 $q$ は $q_0,q_1,q_2,q_3$ を実数、$i$ を虚数、$i$ とは異なる二つの虚数を $j,k$ として、以下のように定義されます。
\begin{split}
q=q_0+iq_1+jq_2+kq_3
\end{split}
ただし、三つの虚数単位 $i,j,k$ は次の規則に従うとします。
$$
\left\{
\begin{split}
&i^2=-1,\,\,j^2=-1,\,\,k^2=-1 \EE
&ij=k,\quad jk=i,\quad ki=j \EE
&ji=-k,\,\,kj=-i,\,\,ik=-j
\end{split}
\right.
$$
そして、四元数の大きさを $|q|$ で表現し、以下のように定義します。
\begin{split}
|q|=\sqrt{q_0^2+q_1^2+q_2^2+q_3^2}
\end{split}
特に、$|q|=1$ となる四元数を単位四元数と呼びます。
また、四元数は複素数と同様に、共役四元数 $\bar{q}$ を考えることができて次のように定義されます。
\begin{split}
\bar{q}=q_0-iq_1-jq_2-kq_3
\end{split}
四元数の演算と形式和の対応
さて、四元数の実数部分(上述の $q_0$ 部分)をスカラー部分と呼び、$iq_1+jq_2+kq_3$ 部分のことをベクトル部分と呼びます。この名が示す通り、$iq_1+jq_2+kq_3$ は三次元空間のベクトルと同一視できます。
上のように同一視すると、四元数 $q$ を三次元空間のベクトル $\B{q}$ とスカラー部分 $q_0$ の形式的な和として、
\begin{split}
q=q_0+\B{q}
\end{split}
と表現できます。なお、上のようにスカラーとベクトルを $+$ で結んだ”和”には、形式的な意味しか持たないため、形式和と呼ばれます。ただし、形式和の演算も交換則や分配則を満たし、実数と同様の計算が行えるとします。
ところで、二つの四元数 $\A=a_0+ia_1+ja_2+ka_3=a_0+\B{a},$ $\beta=b_0+ib_1+jb_2+kb_3=b_0+\B{b}$ の積 $\A\beta$ につい、形式和の考え方を適用すると、以下のようにできます。
\begin{split}
\A\beta&=(a_0+ia_1+ja_2+ka_3)(b_0+ib_1+jb_2+kb_3) \EE
&=a_0b_0+a_0(ib_1+jb_2+kb_3)+b_0(ia_1+ja_2+ka_3) \EE
&\quad\,\,+(i^2a_1b_1+j^2a_2b_2+k^2a_3b_3)+jk(a_2b_3-a_3b_2)\EE
&\qquad+ki(a_3b_1-a_1b_3)ij(a_1b_2-a_2b_1)\EE
&= a_0b_0+a_0\B{b}+b_0\B{a}-\B{a}\cdot\B{b}\EE
&\quad\,\,+i(a_2b_3-a_3b_2)+j(a_3b_1-a_1b_3)+k(a_1b_2-a_2b_1) \EE
&=a_0b_0+a_0\B{b}+b_0\B{a}-\B{a}\cdot\B{b}+\B{a}\times\B{b}
\end{split}
一方、$\A\beta$ は形式和を用いて次のようにもできることに注目すると、
\begin{split}
\A\beta&=(a_0+\B{a})(b_0+\B{b}) \EE
&=a_0b_0+a_0\B{b}+b_0\B{a}+\B{a}\B{b}
\end{split}
二式を比較して
\begin{eqnarray}
\B{a}\B{b}=-\B{a}\cdot\B{b}+\B{a}\times\B{b} \tag{1}
\end{eqnarray}
という関係が導けます。このように、ベクトルの”積”は、内積と外積により記述されます。
四元数と回転との関係
この節では、四元数が回転と密接な関係を持つことを説明します。
まず、単位四元数 $q$ があるとき、以下の関係を満たす角度 $\Omega$ が存在することが言えます。(ただし、$q$ のスカラー部分を$q_0$、ベクトル部分を $iq_1+jq_2+kq_3$ とします)
$$
\left\{
\begin{split}
&q_0=\cos\ff{\Omega}{2} \EE
&\sqrt{q_1^2+q_2^2+q_3^2}=\sin\ff{\Omega}{2}
\end{split}
\right.
$$
これを用いると $\B{l}$ をベクトルとして、$q$ が形式和として、
\begin{split}
q=\cos\ff{\Omega}{2}+\B{l}\sin\ff{\Omega}{2}
\end{split}
と表現できます。さらに、$\B{l}$ が単位ベクトルであることも言えます。
このとき、任意のベクトル $\B{a}$ について、以下の計算を考えてみましょう。
\begin{split}
q\B{a}\bar{q}=\left(\cos\ff{\Omega}{2}+\B{l}\sin\ff{\Omega}{2} \right)\B{a}\left(\cos\ff{\Omega}{2}-\B{l}\sin\ff{\Omega}{2} \right)
\end{split}
上式にはベクトルとスカラーが混在していますが、形式和の考え方に従って計算を進めていきます。すると、
\begin{split}
q\B{a}\bar{q}=\B{a}\cos^2\ff{\Omega}{2}+(\B{l}\B{a}-\B{a}\B{l})\cos\ff{\Omega}{2}\sin\ff{\Omega}{2}-\B{l}\B{a}\B{l}\sin^2\ff{\Omega}{2}
\end{split}
とできて、まず、$\B{l}\B{a}-\B{a}\B{l}$ の部分については式$(1)$で導いた対応関係を用いて、
\begin{split}
\B{l}\B{a}-\B{a}\B{l}=2(\B{l}\times \B{a})
\end{split}
となります。次に、$\B{l}\B{a}\B{l}$ は以下のように計算できます。
\begin{split}
\B{l}\B{a}\B{l}&=\B{l}(-\B{a}\cdot\B{l}+\B{a}\times\B{l})\EE
&=-(\B{a}\cdot\B{l})\B{l}+\B{l}(\B{a}\times\B{l}) \EE
&=-(\B{a}\cdot\B{l})\B{l}+\Big\{-\B{l}\cdot(\B{a}\times\B{l})+\B{l}\times(\B{a}\times\B{l}) \Big\}\EE
&=-(\B{a}\cdot\B{l})\B{l}+\B{l}\times(\B{a}\times\B{l})
\end{split}
右辺第二項にベクトル三重積の公式を適用して整理すると、
\begin{split}
\B{l}\B{a}\B{l}&=\B{a}-2(\B{a}\cdot\B{l})\B{l}
\end{split}
となります。これらの結果を元の式に戻すと、
\begin{split}
q\B{a}\bar{q}&=\B{a}\cos^2\ff{\Omega}{2}+2(\B{l}\times \B{a})\cos\ff{\Omega}{2}\sin\ff{\Omega}{2}-\Big\{\B{a}-2(\B{a}\cdot\B{l})\B{l} \Big\}\sin^2\ff{\Omega}{2}\EE
&=\B{a}\left(\cos^2\ff{\Omega}{2}-\sin^2\ff{\Omega}{2} \right)+2(\B{l}\times \B{a})\cos\ff{\Omega}{2}\sin\ff{\Omega}{2}-2(\B{a}\cdot\B{l})\B{l}\sin^2\ff{\Omega}{2}
\end{split}
となり、これらに二倍角の公式を用いると、
\begin{split}
q\B{a}\bar{q}&=\cos \Omega\B{a}+(\B{a}\cdot\B{l})(1-\cos\Omega)\B{l}+\sin \Omega(\B{l}\times \B{a})
\end{split}
となります。これがロドリゲスの回転公式と一致することより、$q\B{a}\bar{q}$ という演算がベクトル $\B{a}$ を回転軸周りに $\Omega$ 回転させる操作に相当することが分かります。