Compartir a través de


Función D3DXMatrixAffineTransformation (D3dx9math.h)

Nota:

La biblioteca de utilidades D3DX está en desuso. Se recomienda usar DirectXMath en su lugar.

Crea una matriz de transformación afín 3D. Los argumentos NULL se tratan como transformaciones de identidad.

Sintaxis

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

Parámetros

pOut [in, out]

Tipo: D3DXMATRIX*

Puntero a la estructura D3DXMATRIX que es el resultado de la operación.

Escalado [in]

Tipo: FLOAT

Factor de escalado.

pRotationCenter [in]

Tipo: const D3DXVECTOR3*

Puntero a una estructura D3DXVECTOR3 , un punto que identifica el centro de rotación. Si este argumento es NULL, se aplica una matriz Mrc de identidad a la fórmula en Comentarios.

pRotation [in]

Tipo: const D3DXQUATERNION*

Puntero a una estructura D3DXQUATERNION que especifica la rotación. Si este argumento es NULL, se aplica una matriz de identidad Mr a la fórmula en Comentarios.

pTranslation [in]

Tipo: const D3DXVECTOR3*

Puntero a una estructura D3DXVECTOR3 que representa la traducción. Si este argumento es NULL, se aplica una matriz mt de identidad a la fórmula en Comentarios.

Valor devuelto

Tipo: D3DXMATRIX*

Puntero a una estructura D3DXMATRIX que es una matriz de transformación afín.

Observaciones

Esta función calcula la matriz de transformación afín con la fórmula siguiente, con la concatenación de matriz evaluada en orden de izquierda a derecha:

Mout = Ms * (Mrc)⁻¹ * Mr * Mrc * Mt

donde:

Mout = matriz de salida (pOut)

Ms = matriz de escalado (Escalado)

Mrc = centro de la matriz de rotación (pRotationCenter)

Mr = matriz de rotación (pRotation)

Mt = matriz de traducción (pTranslation)

El valor devuelto de esta función es el mismo valor devuelto en el parámetro pOut. De este modo, la función D3DXMatrixAffineTransformation se puede usar como parámetro para otra función.

Para las transformaciones afín 2D, use D3DXMatrixAffineTransformation2D.

Requisitos

Requisito Value
Encabezado
D3dx9math.h
Biblioteca
D3dx9.lib

Consulte también

Funciones matemáticas

D3DXMatrixTransformation

Transformaciones (Direct3D 9)