XMPlaneFromPoints 函数 (directxmath.h)

计算从平面中的三个点构造的平面的公式。

语法

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;

.

注解

以下伪代码演示函数的操作:

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 库平面函数