クォータニオン(四元数)による物体の回転 Quaternion


 クォータニオン(四元数)は1843年にウィリアム・ローワン・ハミルトンによって考案され、アイルランドのダブリンにあるブルーム橋にはクォータニオンを記念する盾があるようです。クォータニオンを使うと簡単に物体を回転させることが出来ます。ここではクォータニオンを使った物体の回転方法について説明します。

 

 図1のように点Pを原点回りに回転角θだけ回転させる場合を考えます。計算には、回転させる座標、回転角、回転軸ベクトル(原点を中心とする軸ベクトル)の3つの情報が必要です。

quaternion1

図1 軸周りの回転

 

(1) クォータニオンの作成
クォータニオンのq0、q1、q2、q3を求めます。q0~q3は回転軸ベクトルnと回転角θを用いてそれぞれ以下のように計算されます。

quaternion2

 

(2) クォータニオンを用いた回転行列の作成
回転行列Rは以下のように計算されます。

quaternion3

 

(3) 回転後の座標P’を算出
最後に回転後の座標P’を求めます。点P(x,y,z)、点P'(x’,y’,z’)とすると点P’は以下のように計算されます。

quaternion4

このようにクォータニオンを使うと簡単に座標を回転させることができます。

下の動画はクォータニオンを使い富士山の形状(STLデータ)を任意の回転軸に対して回転させたものです。