XMVectorCatmullRom 函式 (directxmath.h)

使用指定的位置向量執行 Catmull-Rom 插補點。

語法

XMVECTOR XM_CALLCONV XMVectorCatmullRom(
  [in] FXMVECTOR Position0,
  [in] FXMVECTOR Position1,
  [in] FXMVECTOR Position2,
  [in] GXMVECTOR Position3,
  [in] float     t
) noexcept;

參數

[in] Position0

第一個位置。

[in] Position1

第二個位置。

[in] Position2

第三個位置。

[in] Position3

第四個位置。

[in] t

插補控制因數。

傳回值

傳回 Catmull-Rom 插補的結果。

備註

下列虛擬程式代碼示範函式的作業:

XMVECTOR Result;

float t2 = t * t;
float t3 = t2* t;

float P0 = -t3 + 2.0f * t2 - t;
float P1 = 3.0f * t3 - 5.0f * t2 + 2.0f;
float P2 = -3.0f * t3 + 4.0f * t2 + t;
float P3 = t3 - t2;

Result.x = (P0 * Position0.x + P1 * Position1.x + P2 * Position2.x + P3 * Position3.x) * 0.5f;
Result.y = (P0 * Position0.y + P1 * Position1.y + P2 * Position2.y + P3 * Position3.y) * 0.5f;
Result.z = (P0 * Position0.z + P1 * Position1.z + P2 * Position2.z + P3 * Position3.z) * 0.5f;
Result.w = (P0 * Position0.w + P1 * Position1.w + P2 * Position2.w + P3 * Position3.w) * 0.5f;

return Result;

平臺需求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 與 Windows SDK for Windows 8。 支援 Win32 傳統型應用程式、Windows 市集應用程式和 Windows Phone 8 個應用程式。

規格需求

需求
目標平台 Windows
標頭 directxmath.h (包含 DirectXMath.h)

另請參閱

幾何向量函式

XMVectorCatmullRomV