D3DXQuaternionMultiply 函数 (D3dx9math.h)

注意

D3DX 实用工具库已弃用。 建议改用 DirectXMath

将两个四元数相乘。

语法

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*

指向 D3DXQUATERNION 结构的指针,该结构是两个四元数的乘积。

备注

结果表示旋转 Q1,后跟旋转 Q2 (Out = Q2 * Q1) 。 这样做是为了使 D3DXQuaternionMultiply 保持与 D3DXMatrixMultiply 相同的语义,因为单位四元数可以被视为表示旋转矩阵的另一种方式。

转换按 D3DXQuaternionMultiplyD3DXMatrixMultiply 函数的相同顺序连接。 例如,假设 mX 和 mY 表示与 qX 和 qY 相同的旋转,m 和 q 表示相同的旋转。

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

四元数的乘法不是交换性的。

此函数的返回值与 pOut 参数中返回的值相同。 这样, D3DXQuaternionMultiply 函数可用作另一个函数的参数。

对于尚未规范化的任何四元数输入,请使用 D3DXQuaternionNormalize

要求

要求
标头
D3dx9math.h

D3dx9.lib

另请参阅

数学函数

D3DXMatrixMultiply