Microsoft DirectX 8.0 (Visual Basic)

D3DXQuaternionMultiply

2 つのクオータニオンの積を計算する。

D3DXQuaternionMultiply( _ 
    QOut As D3DQUATERNION, _ 
    Q1 As D3DQUATERNION, _ 
    Q2 As D3DQUATERNION)

パラメータ

QOut
演算結果である 2 つのクオータニオンの積が格納される D3DQUATERNION 型。
Q1
処理の基になる D3DQUATERNION 型。
Q2
処理の基になる D3DQUATERNION 型。

エラー コード

失敗した場合はエラーが発生し、Err.Number に次のいずれかの値が設定される。

D3DERR_INVALIDCALL
D3DERR_OUTOFVIDEOMEMORY

エラー トラッピングの詳細については、Microsoft® Visual Basic® の「エラー処理」を参照すること。

注意

結果は、回転 Q2 に続いて回転 Q1 を実行する処理を表している (Out = Q2 * Q1)。出力は実際には Q2*Q1 である (Q1*Q2 ではない)。正規化されたクオータニオンは回転行列を別の方法で表したものと見なすことができるため、このような計算順序にすることで、D3DXQuaternionMultiplyD3DXMatrixMultiply のセマンティクスの同一性が保たれる。

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

D3DXMatrixMultiply m, mX, mY

D3DXQuaternionMultiply q, qX, qY

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

参照

D3DXMatrixMultiply