Функция XMPlaneFromPoints (directxmath.h)
Вычисляет уравнение плоскости, построенное из трех точек плоскости.
Синтаксис
XMVECTOR XM_CALLCONV XMPlaneFromPoints(
[in] FXMVECTOR Point1,
[in] FXMVECTOR Point2,
[in] FXMVECTOR Point3
) noexcept;
Параметры
[in] Point1
Трехмерный вектор, описывающий точку в плоскости.
[in] Point2
Трехмерный вектор, описывающий точку в плоскости.
[in] Point3
Трехмерный вектор, описывающий точку в плоскости.
Возвращаемое значение
Возвращает вектор, компоненты которого являются коэффициентами плоскости (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
Требования к платформе
Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и приложений Windows Phone 8.Требования
Целевая платформа | Windows |
Header | directxmath.h |