Compartir a través de


Función D3DXMatrixTransformation2D (D3dx9math.h)

Nota

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

Crea una matriz de transformación 2D que representa las transformaciones en el plano xy. Los argumentos NULL se tratan como transformaciones de identidad.

Sintaxis

D3DXMATRIX* D3DXMatrixTransformation2D(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR2 *pScalingCenter,
  _In_          FLOAT       pScalingRotation,
  _In_    const D3DXVECTOR2 *pScaling,
  _In_    const D3DXVECTOR2 *pRotationCenter,
  _In_          FLOAT       Rotation,
  _In_    const D3DXVECTOR2 *pTranslation
);

Parámetros

pOut [in, out]

Tipo: D3DXMATRIX*

Puntero a la estructura D3DXMATRIX que contiene el resultado de las transformaciones.

pScalingCenter [in]

Tipo: const D3DXVECTOR2*

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

pScalingRotation [in]

Tipo: FLOAT

Factor de rotación de escalado.

pScaling [in]

Tipo: const D3DXVECTOR2*

Puntero a una estructura D3DXVECTOR2 , un punto que identifica la escala. Si este argumento es NULL, se aplica una matriz ms de identidad a la fórmula en Comentarios.

pRotationCenter [in]

Tipo: const D3DXVECTOR2*

Puntero a una estructura D3DXVECTOR2 , 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.

Rotación [in]

Tipo: FLOAT

Ángulo de rotación en radianes.

pTranslation [in]

Tipo: const D3DXVECTOR2*

Puntero a una estructura D3DXVECTOR2 , que identifica 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 contiene 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 (rotación)

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

Para las transformaciones 3D, use D3DXMatrixTransformation.

Requisitos

Requisito Value
Encabezado
D3dx9math.h
Biblioteca
D3dx9.lib

Consulte también

Funciones matemáticas

D3DXMatrixAffineTransformation2D

Transformaciones (Direct3D 9)