次の方法で共有


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 ベクトルのもう 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 を含む)

関連項目

DirectXMath ライブラリ 4D ベクタージオメトリック関数