Share via


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
D3DX10Math.h
Biblioteca
D3DX10.lib

Confira também

Funções Matemáticas