Fonction D3DXVec3CatmullRom (D3DX10Math.h)
Notes
La bibliothèque d’utilitaireS D3DX10 est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.
Effectue une interpolation Catmull-Rom à l’aide des vecteurs 3D spécifiés.
Syntaxe
D3DXVECTOR3* D3DXVec3CatmullRom(
_Inout_ D3DXVECTOR3 *pOut,
_In_ const D3DXVECTOR3 *pV0,
_In_ const D3DXVECTOR3 *pV1,
_In_ const D3DXVECTOR3 *pV2,
_In_ const D3DXVECTOR3 *pV3,
_In_ FLOAT s
);
Paramètres
-
pOut [in, out]
-
Type : D3DXVECTOR3*
Pointeur vers le D3DXVECTOR3 qui est le résultat de l’opération.
-
pV0 [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3 source, vecteur de position.
-
pV1 [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3 source, vecteur de position.
-
pV2 [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3 source, vecteur de position.
-
pV3 [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3 source, vecteur de position.
-
s [in]
-
Type : FLOAT
Facteur de pondération. Consultez la section Notes.
Valeur de retour
Type : D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3 qui est le résultat de l’interpolation Catmull-Rom.
Notes
Avec 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 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
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 |
|
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