次の方法で共有


XMVector2Reflect 関数 (directxmath.h)

2D 法線ベクトル全体にインシデント 2D ベクトルを反映します。

構文

XMVECTOR XM_CALLCONV XMVector2Reflect(
  [in] FXMVECTOR Incident,
  [in] FXMVECTOR Normal
) noexcept;

パラメーター

[in] Incident

反映する 2D インシデント ベクトル。

[in] Normal

インシデント ベクトルを全体に反映する 2D 法線ベクトル。

戻り値

反射されたインシデントの角度を返します。

解説

次の擬似コードは、 関数の操作を示しています。

XMVECTOR Result;

float s = 2.0f * (Incident.x * Normal.x + Incident.y * Normal.y);	// 2.0 * dot(Incident, Normal);

Result.x = Incident.x - s * Normal.x;
Result.y = Incident.y - s * Normal.y;
Result.z = undefined;
Result.w = undefined;

return Result;

プラットフォームの要件

Windows SDK for Windows 8 を使用する Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。

要件

   
対象プラットフォーム Windows
ヘッダー directxmath.h (DirectXMath.h を含む)

関連項目

DirectXMath ライブラリ 2D ベクター幾何学的関数