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 |