Função D3DXMatrixTransformation (D3dx9math.h)
Observação
A biblioteca de utilitários D3DX 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 uma estrutura 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 uma estrutura D3DXQUATERNION que especifica a rotação de dimensionamento. Se esse argumento for NULL, uma matriz de identidade Msr 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 do centro de dimensionamento (pScalingCenter)
Msr = matriz de rotação de dimensionamento (pScalingRotation)
Ms = matriz de dimensionamento (pScaling)
Mrc = centro de 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