Microsoft DirectX 8.0 (C++)

D3DXQUATERNION

クォータニオンを記述する。

typedef struct D3DXQUATERNION {
  FLOAT x, y, z, w;
} D3DXQUATERNION;

メンバ

x
x 要素。
y
y 要素。
z
z 要素。
w
w 要素。

注意

クオータニオンは、ベクトルを定義した [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 で宣言。