Ninja Library - 構造体/その他のデータ型

NJS_QUATERNION

クォータニオン構造体

定義

typedef struct { 
     float re; 
     float im[3]; 
} NJS_QUATERNION; 

メンバ

re   クォータニオン実数部
im[3]   クォータニオン虚数部

解説

クォータニオンを定義する構造体です。

クォータニオンは、ある軸の周りの回転を表します。

クォータニオンは、1つの実数部と3つの虚数部とから なります。それらを、4つの実数成分を持つベクトルとし て(re,im0,im1,im2) のように書きます。

クォータニオンの成分を表す4次元ベクトルは、単位 ベクトル化されています。つまり、


re^2 + im0^2 + im1^2 + im2^2 = 1

です。

単位ベクトル N=(Nx,Ny,Nz) の周りの θ (rad)の回転は、


re = cos(θ/2)
im0 = Nx sin(θ/2)
im1 = Ny sin(θ/2)
im2 = Nz sin(θ/2)

となります。


参照

njCreateQuaternion() 与えられた回転軸の周りの回転を表すクォータニオンを作成
njCreateQuaternionV() 与えられた回転軸の周りの回転を表すクォータニオンを作成
njInterpolateQuaternion() 二つのクォータニオンを補完したクォータニオンを算出
njMultiQuaternion() 二つのクォータニオンの積のクォータニオンを算出
njQuaternionEx() クォータニオン表現で回転を施す。
njXYZAngleToQuaternion() XYZ 形式のオイラー角をクォータニオンに変換
njZXYAngleToQuaternion() ZXY 形式のオイラー角をクォータニオンに変換
njGetMotionLinkNodeData() 現在のモーションリンクパラメータにおいてのカレントノードの姿勢情報の取得
njGetMotionNodeData() 現在のモーションパラメータにおいてのカレントノードの姿勢情報の取得

NJS_QUATERNION
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000