Partager via


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
D3DX10Math.h
Bibliothèque
D3DX10.lib

Voir aussi

Fonctions mathématiques