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 |
|
| Bibliothèque |
|