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 |