Fonction D3DXMatrixTransformation2D (D3DX10Math.h)
Notes
La bibliothèque d’utilitaireS D3DX10 est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.
Génère une matrice de transformation 2D qui représente les transformations dans le plan xy. Les arguments NULL sont traités comme des transformations d’identité.
Syntaxe
D3DXMATRIX* D3DXMatrixTransformation2D(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR2 *pScalingCenter,
_In_ FLOAT ScalingRotation,
_In_ const D3DXVECTOR2 *pScaling,
_In_ const D3DXVECTOR2 *pRotationCenter,
_In_ FLOAT Rotation,
_In_ const D3DXVECTOR2 *pTranslation
);
Paramètres
-
pOut [in, out]
-
Type : D3DXMATRIX*
Pointeur vers la structure D3DXMATRIX qui contient le résultat des transformations.
-
pScalingCenter [in]
-
Type : const D3DXVECTOR2*
Pointeur vers un D3DXVECTOR2, point identifiant le centre de mise à l’échelle. Si cet argument a la valeur NULL, une matrice Msc d’identité est appliquée à la formule dans Remarques.
-
ScaleRotation [in]
-
Type : FLOAT
Pointeur vers le facteur de rotation de mise à l’échelle.
-
pScaling [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2, point identifiant l’échelle. Si cet argument a la valeur NULL, une matrice Ms d’identité est appliquée à la formule dans Remarques.
-
pRotationCenter [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2, point identifiant le centre de rotation. Si cet argument a la valeur NULL, une matrice Mrc d’identité est appliquée à la formule dans Remarques.
-
Rotation [in]
-
Type : FLOAT
Angle de rotation en radians.
-
pTranslation [in]
-
Type : const D3DXVECTOR2*
Pointeur vers une structure D3DXVECTOR2, identifiant 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 contient 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 centrale de mise à l’échelle (pScalingCenter)
Msr = matrice de rotation de mise à l’échelle (pScalingRotation)
Ms = matrice de mise à l’échelle (pScaling)
Mrc = matrice de centre de rotation (pRotationCenter)
Mr = matrice de rotation (Rotation)
Mt = matrice de traduction (pTranslation)
La valeur de retour de cette fonction est la même valeur retournée dans le paramètre pOut. De cette façon, la fonction D3DXMatrixTransformation2D peut être utilisée comme paramètre pour une autre fonction.
Pour les transformations 3D, utilisez D3DXMatrixTransformation.
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|
Voir aussi