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


Функция XMPlaneNormalize (directxmath.h)

Нормализует коэффициенты плоскости таким образом, чтобы коэффициенты x, y и z образуют вектор нормы единицы.

Синтаксис

XMVECTOR XM_CALLCONV XMPlaneNormalize(
  [in] FXMVECTOR P
) noexcept;

Параметры

[in] P

XMVECTOR , описывающий коэффициенты плоскости (A, B, C, D) для уравнения плоскости

XMVECTOR Result;

float LengthSq = P.x * P.x + P.y * P.y + P.z * P.z;

float ReciprocalLength = 1.0f / sqrt(LengthSq);
Result.x = P.x * ReciprocalLength;
Result.y = P.y * ReciprocalLength;
Result.z = P.z * ReciprocalLength;
Result.w = P.w * ReciprocalLength;

return Result;

.

Возвращаемое значение

Возвращает нормализованную плоскость в виде вектора 4D, компонентами которого являются коэффициенты плоскости (A, B, C, D) для уравнения Ax+By+Cz+D=0плоскости .

Комментарии

Следующий псевдокод демонстрирует работу функции:

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

XMPlaneNormalizeEst