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() 現在のモーションパラメータにおいてのカレントノードの姿勢情報の取得