Função D3DXMatrixTransformation (D3DX10Math.h)
Observação
A biblioteca do utilitário D3DX10 foi preterida. Em vez disso, recomendamos que você use DirectXMath .
Cria uma matriz de transformação. Os argumentos NULL são tratados como transformações de identidade.
Sintaxe
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*
Ponteiro para a estrutura D3DXMATRIX que é o resultado da operação.
-
pScalingCenter [in]
-
Tipo: const D3DXVECTOR3*
Ponteiro para um D3DXVECTOR3, identificando o ponto central de dimensionamento. Se esse argumento for NULL, uma matriz de identidade Msc será aplicada à fórmula em Comentários.
-
pScalingRotation [in]
-
Tipo: const D3DXQUATERNION*
Ponteiro para um D3DXQUATERNION que especifica a rotação de dimensionamento. Se esse argumento for NULL, uma matrizsr de identidade M será aplicada à fórmula em Comentários.
-
pScaling [in]
-
Tipo: const D3DXVECTOR3*
Ponteiro para uma estrutura D3DXVECTOR3, o vetor de dimensionamento. Se esse argumento for NULL, uma matriz ms de identidade será aplicada à fórmula em Comentários.
-
pRotationCenter [in]
-
Tipo: const D3DXVECTOR3*
Ponteiro para uma estrutura D3DXVECTOR3, um ponto que identifica o centro de rotação. Se esse argumento for NULL, uma matriz Mrc de identidade será aplicada à fórmula em Comentários.
-
pRotation [in]
-
Tipo: const D3DXQUATERNION*
Ponteiro para uma estrutura D3DXQUATERNION que especifica a rotação. Se esse argumento for NULL, uma matriz de identidade Mr será aplicada à fórmula em Comentários.
-
pTranslation [in]
-
Tipo: const D3DXVECTOR3*
Ponteiro para uma estrutura D3DXVECTOR3, representando a tradução. Se esse argumento for NULL, uma matriz mt de identidade será aplicada à fórmula em Comentários.
Valor retornado
Tipo: D3DXMATRIX*
Ponteiro para uma estrutura D3DXMATRIX que é a matriz de transformação.
Comentários
Essa função calcula a matriz de transformação com a seguinte fórmula, com a concatenação de matriz avaliada na ordem da esquerda para a direita:
Mout = (Msc)⁻¹ * (Msr)⁻¹* Ms * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mt
em que:
Mout = matriz de saída (pOut)
Msc = matriz central de dimensionamento (pScalingCenter)
Msr = matriz de rotação de dimensionamento (pScalingRotation)
Ms = matriz de dimensionamento (pScaling)
Mrc = centro da matriz de rotação (pRotationCenter)
Mr = matriz de rotação (pRotation)
Mt = matriz de tradução (pTranslation)
O valor retornado para essa função é o mesmo valor retornado no parâmetro pOut. Dessa forma, a função D3DXMatrixTransformation pode ser usada como um parâmetro para outra função.
Para transformações 2D, use D3DXMatrixTransformation2D.
Requisitos
Requisito | Valor |
---|---|
parâmetro |
|
Biblioteca |
|
Confira também