次の方法で共有


D3DXQuaternionMultiply 関数 (D3dx9math.h)

Note

D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。

2 つの四元数を乗算します。

構文

D3DXQUATERNION* D3DXQuaternionMultiply(
  _Inout_       D3DXQUATERNION *pOut,
  _In_    const D3DXQUATERNION *pQ1,
  _In_    const D3DXQUATERNION *pQ2
);

パラメーター

pOut [in, out]

型: D3DXQUATERNION*

操作の結果である D3DXQUATERNION 構造体へのポインター。

pQ1 [in]

型: const D3DXQUATERNION*

ソース D3DXQUATERNION 構造体へのポインター。

pQ2 [in]

型: const D3DXQUATERNION*

ソース D3DXQUATERNION 構造体へのポインター。

戻り値

型: D3DXQUATERNION*

2 つの四元数の積である D3DXQUATERNION 構造体へのポインター。

解説

結果は、回転 Q1 と回転 Q2 (Out = Q2 * Q1) を表します。 これは、 D3DXQuaternionMultiplyD3DXMatrixMultiply と同じセマンティクスを維持するように行われます。これは、単位四元数を回転行列を表す別の方法と見なすことができるためです。

変換は、 D3DXQuaternionMultiply 関数と D3DXMatrixMultiply 関数の両方で同じ順序で連結されます。 たとえば、mX と mY が qX と qY と同じ回転を表すとすると、m と q の両方が同じ回転を表します。

D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);

四元数の乗算は可換ではありません。

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

正規化されていない四元数入力には 、D3DXQuaternionNormalize を使用します。

必要条件

要件
ヘッダー
D3dx9math.h
ライブラリ
D3dx9.lib

関連項目

数値演算関数

D3DXMatrixMultiply