クオータニオンによる回転をイメージする方法

クオータニオンによるベクトルの回転は以下のように表される。


r^\prime = q r q^*


ここで、


r = ix + jy + kz = (i, j, k) \cdot {\bf r}


{\bf r} が回転したいベクトルであり、


q = \cos(\theta/2) + ((i, j, k) \cdot {\bf a}) \sin(\theta/2)


{\bf a} が回転軸(大きさ 1 のベクトル)、\theta が回転角である。
この回転に使われるクオータニオンは、オイラーの公式を使って


q = {\rm e}^{I_a\theta/2}
I_a = (i, j, k) \cdot {\bf a}


と表せることが分かる。この表現を取ると、回転の式は


r^\prime = {\rm e}^{I_a\theta/2} r {\rm e}^{-I_a\theta/2}


と書ける。


では、なぜこれで回転できるのだろうか? まあ式変形すれば回転できることは分かるだろうが、もうちょっと分かりやすいイメージが欲しいところだ。

それを考えるのにまず、\theta が非常に小さい場合を考えてみよう。マクローリン展開を使った {\rm e}^q の定義に立ち返ってみて考えると、\theta が非常に小さい場合は


{\rm e}^{I_a\theta/2} \simeq 1 + I_a\theta/2


となる。これを回転の式に代入してやると、


r^\prime
\qquad\qquad= {\rm e}^{I_a\theta/2} r {\rm e}^{-I_a\theta/2}
\qquad\qquad\simeq (1 + I_a\theta/2) r (1 - I_a\theta/2)
\qquad\qquad\simeq r + I_a r \theta / 2 - r I_a \theta / 2
\qquad\qquad= r + [I_a, r] \theta / 2


となる。ここで r = \left|r\right| I_r と表すと、


r^\prime \simeq \left|r\right|(I_r + [I_a, I_r] \theta / 2)


となる。ここで、


[I_a, I_r] / 2 = I_{ar} \sin\theta_{ar}


であるので、最終的には


r^\prime \simeq \left|r\right|(I_r + \theta I_{ar} \sin\theta_{ar})


となる。I_{ar}I_rI_a の両方に直交する。つまり、この変換により、ベクトル {\bf r} は回転軸と {\bf r} のなす面に直交する方向に移動することになる。

ベクトルの回転の軌跡を考えた時、その一番最初の僅かな変化では、まさにほぼこの方向に変化を受けていることが分かると思う。円の接線を考えるとイメージしやすいだろうか?(もちろん厳密には {\bf r} から回転中心に向かう方向にも変化はあるが、\theta^2 のオーダーの変化であり、この \theta のオーダーの変化に比べれば遥かに小さい。)

{\bf r} と回転軸のなす角が直角に近いほど移動量は大きくなり、平行に近いほど移動量は小さくなる。これも、回転半径の大きさを考えると納得がいくと思う。(回転半径はまさに \left|r\right|\sin\theta_{ar} である。)

逆向きに考えると、r^\prime \simeq \left|r\right|(I_r + \theta I_{ar} \sin\theta_{ar}) という変換が微小回転を表すっぽいと考え、それと等価な変換を探すと r^\prime = {\rm e}^{I_a\theta/2} r {\rm e}^{-I_a\theta/2} に行き着く、という風にもなる。


では、この変換を行った後、さらにもう一度同じ変換を行うとどうなるのだろうか? つまり、


r^{\prime\prime} = {\rm e}^{I_a\theta/2} r^\prime {\rm e}^{-I_a\theta/2}


を考えるとどうなるのだろうか? {\bf r} が回転軸と {\bf r} のなす面に直交する方向にちょっとだけ動いたものが r^\prime で、さらに {\bf r}^\prime が回転軸と {\bf r}^\prime のなす面に直交する方向にちょっとだけ動いたものが r^{\prime\prime} となるわけである。図を書くのが面倒なので書きはしないが、図を書けば、この2回の変換を行うとちょっとだけ回転した気分になれることが分かると思う。

では、この変換をさらにずっと行うと? 「まあちゃんと回転するんじゃないかな?」というイメージが湧いてきてもらえば幸いである。この変換を n 回行うというのは、まさに


q = ({\rm e}^{I_a\theta/2})^n = {\rm e}^{I_a(n\theta)/2}


で変換を行うということである。いきなり n\theta による変換を考えるとイメージが湧き辛いが、一旦小さな \theta での変換を考え、それを積算して考えると、ちょっとイメージが湧きやすくなるというわけだ。


この辺の話をもっと詳しく知りたければ、Lie 代数とか勉強するのがオススメ。