XMPlaneNormalize 関数 (directxmath.h)
x、y、z の係数が単位法線ベクトルを形成するように、平面の係数を正規化します。
構文
XMVECTOR XM_CALLCONV XMPlaneNormalize(
[in] FXMVECTOR P
) noexcept;
パラメーター
[in] P
平面方程式の平面係数 (A、B、C、D) を記述する XMVECTOR
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 ベクトルとして返します。その成分は、平面方程式 Ax+By+Cz+D=0
の平面係数 (A、B、C、D) です。
解説
次の擬似コードは、 関数の操作を示しています。
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 |