次の方法で共有


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

関連項目

DirectXMath ライブラリ プレーン関数

XMPlaneNormalizeEst