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

# NJS_QUATERNION

クォータニオン構造体

### 定義

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

### メンバ

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

### 解説

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

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

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

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

> 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