Partilhar via


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
D3dx9math.h
Biblioteca
D3dx9.lib

Confira também

Funções Matemáticas

D3DXMatrixAffineTransformation

Transformações (Direct3D 9)