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、V2V3 的 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)

请参阅

DirectXMath 库 4D 矢量几何函数