Поделиться через


Функция 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

См. также раздел

Функции плоскости библиотеки DirectXMath