XMQuaternionMultiply 函数 (directxmath.h)
计算两个四元数的乘积。
语法
XMVECTOR XM_CALLCONV XMQuaternionMultiply(
[in] FXMVECTOR Q1,
[in] FXMVECTOR Q2
) noexcept;
参数
[in] Q1
第一个四元数。
[in] Q2
第二个四元数。
返回值
返回 Q2*Q1 形式的两个四元数的乘积。
注解
DirectXMath 四元数函数使用 XMVECTOR 4 向量表示四元数,其中 X、Y 和 Z 分量是矢量部分,W 分量是标量部分。
结果表示旋转 Q1 后跟旋转 Q2,以便与 XMMatrixMulplity 串联保持一致,因为此函数通常用于串联表示旋转 (即返回 Q2*Q1) 。
此函数计算与以下伪代码等效的 :
XMVECTOR Result;
Result.x = (Q2.w * Q1.x) + (Q2.x * Q1.w) + (Q2.y * Q1.z) - (Q2.z * Q1.y);
Result.y = (Q2.w * Q1.y) - (Q2.x * Q1.z) + (Q2.y * Q1.w) + (Q2.z * Q1.x);
Result.z = (Q2.w * Q1.z) + (Q2.x * Q1.y) - (Q2.y * Q1.x) + (Q2.z * Q1.w);
Result.w = (Q2.w * Q1.w) - (Q2.x * Q1.x) - (Q2.y * Q1.y) - (Q2.z * Q1.z);
return Result;
平台要求
Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 与 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | directxmath.h |