Partager via


D3DXMatrixTransformation2D, fonction (D3dx9math.h)

Notes

La bibliothèque utilitaire D3DX est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place.

Génère une matrice de transformation 2D qui représente des 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       pScalingRotation,
  _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 une structure D3DXVECTOR2 , point identifiant le centre 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 : FLOAT

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 Notes.

pRotationCenter [in]

Type : const D3DXVECTOR2*

Pointeur vers une structure D3DXVECTOR2 , point identifiant le centre de rotation. Si cet argument a la valeur NULL, une matriced’identité M rc 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 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 (Rotation)

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 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
D3dx9math.h
Bibliothèque
D3dx9.lib

Voir aussi

Fonctions mathématiques

D3DXMatrixAffineTransformation2D

Transformations (Direct3D 9)