次の方法で共有


XMPlaneFromPoints 関数 (directxmath.h)

平面内の 3 つの点から構築された平面の数式を計算します。

構文

XMVECTOR XM_CALLCONV XMPlaneFromPoints(
  [in] FXMVECTOR Point1,
  [in] FXMVECTOR Point2,
  [in] FXMVECTOR Point3
) noexcept;

パラメーター

[in] Point1

平面内の点を記述する 3D ベクター。

[in] Point2

平面内の点を記述する 3D ベクター。

[in] Point3

平面内の点を記述する 3D ベクター。

戻り値

平面数式の平面の係数 (A、B、C、D) を成分とするベクトルを返します。

XMVECTOR Result;
XMVECTOR N;
XMVECTOR D;

XMVECTOR V21 = XMVectorSubtract(Point1, Point2);
XMVECTOR V31 = XMVectorSubtract(Point1, Point3);

N = XMVector3Cross(V21, V31);
N = XMVector3Normalize(N);

D = XMPlaneDotNormal(N, Point1);

Result.x = N.x;
Result.y = N.y;
Result.z = N.z;
Result.w = -D.w;

return Result;

.

Remarks

次の擬似コードは、 関数の操作を示しています。

Ax+By+Cz+D=0

プラットフォームの要件

Windows SDK for Windows 8 を使用する Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。

要件

   
対象プラットフォーム Windows
ヘッダー directxmath.h

関連項目

DirectXMath ライブラリ プレーン関数