Partager via


Fonction XMVectorCatmullRom (directxmath.h)

Effectue une interpolation Catmull-Rom à l’aide des vecteurs de position spécifiés.

Syntaxe

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

Paramètres

[in] Position0

Première position.

[in] Position1

Deuxième position.

[in] Position2

Troisième position.

[in] Position3

Quatrième position.

[in] t

Facteur de contrôle interpolation.

Valeur retournée

Retourne les résultats de l’interpolation Catmull-Rom.

Remarques

Le pseudocode suivant illustre le fonctionnement de la fonction :

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;

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le Kit de développement logiciel (SDK) Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxmath.h (inclure DirectXMath.h)

Voir aussi

Fonctions vectorielles géométriques

XMVectorCatmullRomV