Microsoft DirectX 8.0 (C++) |
クォータニオンを記述する。
typedef struct D3DXQUATERNION { FLOAT x, y, z, w; } D3DXQUATERNION;
クオータニオンは、ベクトルを定義した [x, y, z] 値に第 4 元を追加し、任意の 4D ベクトルを生成する。次に、単位クオータニオンの各元が軸/角度の回転にどのように関係しているかを示す (ただし、q は単位クオータニオン (x, y, z, w) を表し、axis は正規化され、theta は軸を回転軸とした CCW 回転である)。
q.x = sin(theta/2) * axis.x q.y = sin(theta/2) * axis.y q.z = sin(theta/2) * axis.z q.w = cos(theta/2)
C++ プログラマは、演算子のオーバーロード機能や型変換機能を利用できる。D3DXQUATERNION 構造体を C++ で実装すると、オーバーロードされたコンストラクタやオーバーロードされた代入演算子、単項演算子、および 2 項演算子 (等価演算子を含む) が実装される。詳細については、「C++ 固有の機能」を参照すること。
ヘッダー : d3dx8math.h で宣言。