D3DXQuaternionMultiply 関数

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 = Q1 * Q2)。このようにすると、単位クォータニオンは回転行列を表す別の方法と見なすことができるので、D3DXQuaternionMultiply 関数は D3DXMatrixMultiply と同じセマンティクスを保持する。

D3DXQuaternionMultiply 関数と D3DXMatrixMultiply 関数の両方において、トランスフォームは同じ順序で連結される。たとえば、mX と mY が qX と qY と同じ回転を表しているものと仮定すると、m と q は両方とも同じ回転を表すことになる。

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



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

クォータニオンの乗算は可換ではない。

この関数の戻り値は、pOut パラメータの戻り値と同じである。したがって、D3DXQuaternionMultiply 関数を別の関数の引数として使える。

関数の情報

ヘッダー d3dx9math.h
インポート ライブラリ d3dx9.lib
最低限のオペレーティング システム Windows 98

参照

D3DXMatrixMultiply