Microsoft DirectX 8.0 (C++)

D3DXQuaternionMultiply

2 つのクオータニオンの積を求める。

D3DXQUATERNION* D3DXQuaternionMultiply(
  D3DXQUATERNION* pOut,
  CONST D3DXQUATERNION* pQ1,
  CONST D3DXQUATERNION* pQ2
); 

パラメータ

pOut
[in, out] 演算結果である D3DXQUATERNION 構造体へのポインタ。
pQ1
[in] 処理の基になる D3DXQUATERNION 構造体へのポインタ。
pQ2
[in] 処理の基になる D3DXQUATERNION 構造体へのポインタ。

戻り値

2 つのクオータニオンの積である D3DXQUATERNION 構造体へのポインタ。

注意

結果は、回転 Q1 の後に回転 Q2 を実行した結果を示している (Out = Q2 * Q1)。実際の出力は Q2*Q1 である (Q1*Q2 ではない)。このようにすると、回転行列を表すまた別の方法として正規化されたクオータニオンを見なすことができるので、D3DXQuaternionMultiply 関数は D3DXMatrixMultiply と同じセマンティクスを保持する。

D3DXQuaternionMultiply 関数と D3DXMatrixMultiply 関数の両方とも、同じ順序で変換が結合される。たとえば、mX と mY が qX と qY と同じ回転を表しているものと仮定すると、m と q は両方とも同じ回転を表すことになる。

D3DXMatrixMultiply(&m, &mX, &mY);

D3DXQuaternionMultiply(&q, &qX, &qY);

クオータニオンの積算は、可換性がない。

この関数の戻り値は、pOut パラメータの戻り値と同じである。このように、D3DXQuaternionMultiply 関数を別の関数のパラメータとして使用できる。

動作環境

  ヘッダー : D3dx8math.h で宣言。
  インポート ライブラリ : D3dx8.lib を使用。

参照

D3DXMatrixMultiply