D3DXMatrixAffineTransformation, fonction (D3dx9math. h)

Crée une matrice de transformation affine 3D. Les arguments null sont traités comme des transformations d’identité.

Syntaxe

D3DXMATRIX* D3DXMatrixAffineTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_          FLOAT          Scaling,
  _In_    const D3DXVECTOR3    *pRotationCenter,
  _In_    const D3DXQUATERNION *pRotation,
  _In_    const D3DXVECTOR3    *pTranslation
);

Paramètres

moue [ in, out]

Type : D3DXMATRIX*

Pointeur vers la structure D3DXMATRIX qui est le résultat de l’opération.

Mise à l’échelle [ dans]

Type : float

Facteur d’échelle.

pRotationCenter [ dans]

Type : const D3DXVECTOR3 *

Pointeur vers une structure D3DXVECTOR3 , point identifiant le centre de rotation. Si cet argument a la valeur null, une matrice Identity M RC est appliquée à la formule dans la section Notes.

protique [ dans]

Type : const D3DXQUATERNION *

Pointeur vers une structure D3DXQUATERNION qui spécifie la rotation. Si cet argument a la valeur null, une matrice Identity M r est appliquée à la formule dans la section Notes.

pTranslation [ dans]

Type : const D3DXVECTOR3 *

Pointeur vers une structure D3DXVECTOR3 représentant la traduction. Si cet argument a la valeur null, une matrice Identity MT est appliquée à la formule dans la section Notes.

Valeur retournée

Type : D3DXMATRIX*

Pointeur vers une structure D3DXMATRIX qui est une matrice de transformation affine.

Remarques

Cette fonction calcule la matrice de transformation affine avec la formule suivante, avec la concaténation de matrice évaluée dans l’ordre de gauche à droite :

Mout = MS * (MRC) ⁻ ¹ * mr * mRC * MT

où :

M out = matrice de sortie (moue)

MS = matrice de mise à l’échelle (mise à l’échelle)

M RC = Centre de rotation de la matrice (pRotationCenter)

M r = matrice de rotation (protique)

MT = matrice de translation (pTranslation)

La valeur de retour de cette fonction est la même que celle retournée dans le paramètre moue. De cette façon, la fonction D3DXMatrixAffineTransformation peut être utilisée comme paramètre pour une autre fonction.

Pour les transformations affines 2D, utilisez D3DXMatrixAffineTransformation2D.

Configuration requise

Condition requise Valeur
En-tête
D3dx9math. h
Bibliothèque
D3dx9. lib

Voir aussi

Fonctions mathématiques

D3DXMatrixTransformation

Transformations (Direct3D 9)