Compartir a través de


Función D3DXMatrixTransformation (D3DX10Math.h)

Nota

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

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

Sintaxis

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
);

Parámetros

pOut [in, out]

Tipo: D3DXMATRIX*

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

pScalingCenter [in]

Tipo: const D3DXVECTOR3*

Puntero a un D3DXVECTOR3, que identifica el punto central de escalado. Si este argumento es NULL, se aplica una matriz Msc de identidad a la fórmula en Comentarios.

pScalingRotation [in]

Tipo: const D3DXQUATERNION*

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

pScaling [in]

Tipo: const D3DXVECTOR3*

Puntero a una estructura D3DXVECTOR3, el vector de escalado. Si este argumento es NULL, se aplica una matriz ms de identidad a la fórmula en Comentarios.

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 la matriz de transformación.

Comentarios

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

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

donde:

Mout = matriz de salida (pOut)

Msc = matriz del centro de escalado (pScalingCenter)

Msr = matriz de rotación de escalado (pScalingRotation)

Ms = matriz de escalado (pScaling)

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 D3DXMatrixTransformation se puede usar como parámetro para otra función.

Para las transformaciones 2D, use D3DXMatrixTransformation2D.

Requisitos

Requisito Value
Encabezado
D3DX10Math.h
Biblioteca
D3DX10.lib

Consulte también

Funciones matemáticas