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 ベクトルのもう 1 つの一般化された "クロス積" です。
次の擬似コードは、 関数の操作を示しています。
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 8 用 Windows SDK を使用した Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。要件
対象プラットフォーム | Windows |
ヘッダー | directxmath.h (DirectXMath.h を含む) |