Bagikan melalui


Fungsi XMVectorCatmullRom (directxmath.h)

Melakukan interpolasi Catmull-Rom, menggunakan vektor posisi yang ditentukan.

Sintaks

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

Parameter

[in] Position0

Posisi pertama.

[in] Position1

Posisi kedua.

[in] Position2

Posisi ketiga.

[in] Position3

Posisi keempat.

[in] t

Menginterpolasi faktor kontrol.

Nilai kembali

Mengembalikan hasil interpolasi Catmull-Rom.

Keterangan

Pseudocode berikut menunjukkan pengoperasian fungsi:

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;

Persyaratan Platform

Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header directxmath.h (termasuk DirectXMath.h)

Lihat juga

Fungsi Vektor Geometris

XMVectorCatmullRomV