Fonction D3DXVec2CatmullRom (D3DX10Math.h)
Notes
La bibliothèque utilitaire D3DX10 est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.
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
-
pOut [in, out]
-
Type : D3DXVECTOR2*
Pointeur vers le D3DXVECTOR2 qui est le résultat de l’opération.
-
pV0 [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2 source, vecteur de position.
-
pV1 [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2 source, vecteur de position.
-
pV2 [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2 source, vecteur de position.
-
pV3 [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2 source, vecteur de position.
-
s [in]
-
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.
Notes
En fonction de quatre points (p1, p2, p3, p4), recherchez une fonction Q(s) telle que :
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.
La spline Catmull-Rom peut être dérivée 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.
Utilisation de l’équation spline Hermite :
Q(s) = (2s3 - 3s2 + 1)v1 + (-2s3 + 3s2)v2 + (s3 - 2s2 + s)t1 + (s3 - s2)t2
et en remplaçant les rendements v1, v2, t1, t2 :
Q(s) = (2s3 - 3s2 + 1)p2 + (-2s3 + 3s2)p3 + (s3 - 2s2 + s)(p3 - p1) / 2 + (s3 - s2)(p4 - p2)/2
Cela peut être réorganisé comme suit :
Q(s) = [(-s3 + 2s2 - s)p1 + (3s3 - 5s2 + 2)p2 + (-3s3 + 4s2 + s)p3 + (s3 - s2)p4] / 2
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour