Platform SDK: DirectX

D3DXQuaternionMultiply

D3DXQuaternionMultiply 関数は、2 つのクオータニオンを積算する。

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

パラメータ

pOut
演算結果である D3DXQUATERNION 構造体へのポインタ。
pQ1
ソースの D3DXQUATERNION 構造体へのポインタ。
pQ2
ソースの 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 関数を別の関数のパラメータとして使用できる。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxmath.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

D3DXMatrixMultiply