D3DXMatrixTransformation, fonction (D3DX10Math.h)
Notes
La bibliothèque utilitaire D3DX10 est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.
Génère une matrice de transformation. Les arguments NULL sont traités comme des transformations d’identité.
Syntaxe
D3DXMATRIX* D3DXMatrixTransformation(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR3 *pScalingCenter,
_In_ const D3DXQUATERNION *pScalingRotation,
_In_ const D3DXVECTOR3 *pScaling,
_In_ const D3DXVECTOR3 *pRotationCenter,
_In_ const D3DXQUATERNION *pRotation,
_In_ const D3DXVECTOR3 *pTranslation
);
Paramètres
-
pOut [in, out]
-
Type : D3DXMATRIX*
Pointeur vers la structure D3DXMATRIX qui est le résultat de l’opération.
-
pScalingCenter [in]
-
Type : const D3DXVECTOR3*
Pointeur vers un D3DXVECTOR3, identifiant le point central de mise à l’échelle. Si cet argument a la valeur NULL, une matricesc d’identité M est appliquée à la formule dans Remarques.
-
pScalingRotation [in]
-
Type : const D3DXQUATERNION*
Pointeur vers un D3DXQUATERNION qui spécifie la rotation de mise à l’échelle. Si cet argument a la valeur NULL, une matrice d’identité Msr est appliquée à la formule dans Notes.
-
pScaling [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3, le vecteur de mise à l’échelle. Si cet argument a la valeur NULL, une matrice Ms d’identité est appliquée à la formule dans Notes.
-
pRotationCenter [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3, point qui identifie le centre de rotation. Si cet argument a la valeur NULL, une matriced’identité M rc est appliquée à la formule dans Remarques.
-
pRotation [in]
-
Type : const D3DXQUATERNION*
Pointeur vers une structure D3DXQUATERNION qui spécifie la rotation. Si cet argument a la valeur NULL, une matrice Mr d’identité est appliquée à la formule dans Remarques.
-
pTranslation [in]
-
Type : const D3DXVECTOR3*
Pointeur vers une structure D3DXVECTOR3, représentant la traduction. Si cet argument a la valeur NULL, une matrice Mt d’identité est appliquée à la formule dans Remarques.
Valeur retournée
Type : D3DXMATRIX*
Pointeur vers une structure D3DXMATRIX qui est la matrice de transformation.
Notes
Cette fonction calcule la matrice de transformation avec la formule suivante, avec la concaténation de matrice évaluée dans l’ordre de gauche à droite :
Mout = (Msc)⁻¹ * (Msr)⁻¹* Ms * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mt
où :
Mout = matrice de sortie (pOut)
Msc = matrice de centre de mise à l’échelle (pScalingCenter)
Msr = matrice de rotation de mise à l’échelle (pScalingRotation)
Ms = matrice de mise à l’échelle (pScaling)
Mrc = centre de la matrice de rotation (pRotationCenter)
Mr = matrice de rotation (pRotation)
Mt = matrice de traduction (pTranslation)
La valeur de retour pour cette fonction est la même valeur retournée dans le paramètre pOut. De cette façon, la fonction D3DXMatrixTransformation peut être utilisée comme paramètre pour une autre fonction.
Pour les transformations 2D, utilisez D3DXMatrixTransformation2D.
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi