Platform SDK: DirectX |
D3DXQuaternionMultiply 関数は、2 つのクオータニオンを積算する。
D3DXQUATERNION* D3DXQuaternionMultiply( D3DXQUATERNION* pOut, const D3DXQUATERNION* pQ1, const D3DXQUATERNION* pQ2 );
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 を使用。