XMVector4Cross 函数 (directxmath.h)
计算 4D 交叉积。
语法
XMVECTOR XM_CALLCONV XMVector4Cross(
[in] FXMVECTOR V1,
[in] FXMVECTOR V2,
[in] FXMVECTOR V3
) noexcept;
参数
[in] V1
4D 矢量。
[in] V2
4D 矢量。
[in] V3
4D 矢量。
返回值
返回 V1、V2 和 V3 的 4D 交叉积。
备注
4D 跨积的定义不明确。 此函数计算 3D 交叉乘积的几何模拟值。 XMVector4Orthogonal 是 4D 矢量的另一个通用“交叉积”。
以下伪代码演示函数的操作:
XMVECTOR Result;
Result.x = V1.y * (V2.z * V3.w - V3.z * V2.w)
- V1.z * (V2.y * V3.w - V3.y * V2.w )
+ V1.w * (V2.y * V3.z - V3.y * V2.z);
Result.y = V1.x * (V3.z * V2.w - V2.z * V3.w)
- V1.z * (V3.x * V2.w - V2.x * V3.w)
+ V1.w * (V3.x * V2.z - V2.x * V3.z);
Result.z = V1.x * (V2.y * V3.w - V3.y * V2.w)
- V1.y * (V2.x * V3.w - V3.x * V2.w)
+ V1.w * (V2.x * V3.y - V3.x * V2.y);
Result.w = V1.x * (V3.y * V2.z - V2.y * V3.z)
- V1.y * (V3.x * V2.z - V2.x * V3.z)
+ V1.z * (V3.x * V2.y - V2.x * V3.y);
return Result;
平台要求
带有 Windows SDK for Windows 8 的 Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。要求
目标平台 | Windows |
标头 | directxmath.h (包括 DirectXMath.h) |