はじめに

3次元上で剛体を回転させたいとき,ありますよね.

質点のときは3自由度でしたが,そこに回転が加わると6自由度になります.

これは,剛体を3個の質点で表した自由度の9から,3点の距離がどれも一定という3つの束縛条件をひいてあげると, 6自由度であることがわかります.


オイラーの角とは?

オイラーの角とは,剛体の向きを表すための3つの角度の組み合わせです.

3次元空間における剛体の姿勢は,3回の回転によって完全に定まるため,オイラーの角はこの3つの回転を順に指定することで,任意の方法を記述できます.

オイラーの角にはいくつかの定義方法がありますが,今回はZYZの順に回転させていきます.

具体体的には,

  1. Z軸まわりに \(\phi\) 回転
  2. Y \(^{\prime}\) 軸まわりに \(\theta\) 回転
  3. Z \(^{\prime \prime}\) 軸まわりに \(\psi\) 回転

これにより,任意の姿勢を表すことが可能になります.


傾ける動作をひとつずつ追っていく

やる気があったら載せます…


四元数について

オイラーの角は直感的にはわかりやすいものの,数値的には以下のような問題があります

  • ジンバルロックの発生:2軸が一致して自由度が失われる現象
  • 連続的な変化の追跡が難しい:連続回転に対して角度の補完が上手くいかない

これらの問題を解決するために使われるのが 四元数(quaternion) です!

四元数は実数 \(w, x, y, z\) を用いて,

\[\begin{equation} q = w + xi + yj + zk \end{equation}\]

という形で表されます.コンピュータグラフィックスや航空機,ロボットの姿勢制御などでは,オイラー角ではなく四元数が使われています.


四元数を用いて \(\xi, \eta, \zeta\) 軸方向の角速度の導出

やる気があったら計算がんばって載せます…