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 |
|
Biblioteca |
|
Consulte también