D3DXVec2CatmullRom, fonction (D3DX10Math. h)

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

Syntaxe

D3DXVECTOR2* D3DXVec2CatmullRom(
  _Inout_       D3DXVECTOR2 *pOut,
  _In_    const D3DXVECTOR2 *pV0,
  _In_    const D3DXVECTOR2 *pV1,
  _In_    const D3DXVECTOR2 *pV2,
  _In_    const D3DXVECTOR2 *pV3,
  _In_          FLOAT       s
);

Paramètres

moue [ in, out]

Type : D3DXVECTOR2*

Pointeur vers le D3DXVECTOR2 qui est le résultat de l’opération.

pV0 [ dans]

Type : const D3DXVECTOR2 *

Pointeur vers une structure source D3DXVECTOR2, un vecteur de position.

pV1 [ dans]

Type : const D3DXVECTOR2 *

Pointeur vers une structure source D3DXVECTOR2, un vecteur de position.

pV2 [ dans]

Type : const D3DXVECTOR2 *

Pointeur vers une structure source D3DXVECTOR2, un vecteur de position.

pV3 [ dans]

Type : const D3DXVECTOR2 *

Pointeur vers une structure source D3DXVECTOR2, un vecteur de position.

[ dans]

Type : float

Facteur de pondération. Consultez la section Notes.

Valeur de retour

Type : D3DXVECTOR2*

Pointeur vers une structure D3DXVECTOR2 qui est le résultat de l’interpolation Catmull-Rom.

Remarques

À partir de quatre points (P1, P2, P3, P4), recherchez une fonction Q (s) de ce type :

Q(s) is a cubic function. 
Q(s) interpolates between p2 and p3 as s ranges from 0 to 1. 
Q(s) is parallel to the line joining p1 to p3 when s is 0. 
Q(s) is parallel to the line joining p2 to p4 when s is 1. 

Le Catmull-Rom spline peut être dérivé de la spline Hermite en définissant :

v1 = p2
v2 = p3
t1 = (p3 - p1) / 2
t2 = (p4 - p2) / 2

où :

v1 est le contenu de pV0.

v2 est le contenu de pV1.

P3 est le contenu de pV2.

P4 est le contenu de pV3.

À l’aide de l’équation spline Hermite :

Q(s) = (2s3 - 3s2 + 1)v1 + (-2s3 + 3s2)v2 + (s3 - 2s2 + s)t1 + (s3 - s2)t2

et le remplacement de v1, v2, T1, T2 donne :

Q(s) = (2s3 - 3s2 + 1)p2 + (-2s3 + 3s2)p3 + (s3 - 2s2 + s)(p3 - p1) / 2 + (s3 - s2)(p4 - p2)/2

Cette réorganisation peut être réorganisée comme suit :

Q(s) = [(-s3 + 2s2 - s)p1 + (3s3 - 5s2 + 2)p2 + (-3s3 + 4s2 + s)p3 + (s3 - s2)p4] / 2

Configuration requise

Condition requise Valeur
En-tête
D3DX10Math. h
Bibliothèque
D3DX10. lib

Voir aussi

Fonctions mathématiques