Compartilhar via


Função D3DXMatrixAffineTransformation (D3DX10Math.h)

Observação

A biblioteca do utilitário D3DX foi preterida. Em vez disso, recomendamos que você use DirectXMath .

Cria uma matriz de transformação de afim 3D. Os argumentos NULL são tratados como transformações de identidade.

Sintaxe

D3DXMATRIX* D3DXMatrixAffineTransformation(
  _In_       D3DXMATRIX     *pOut,
  _In_       FLOAT          Scaling,
  _In_ const D3DXVECTOR3    *pRotationCenter,
  _In_ const D3DXQUATERNION *pRotation,
  _In_ const D3DXVECTOR3    *pTranslation
);

Parâmetros

pOut [in]

Tipo: D3DXMATRIX*

Ponteiro para o D3DXMATRIX que é o resultado da operação.

Dimensionamento [in]

Tipo: FLOAT

Fator de dimensionamento.

pRotationCenter [in]

Tipo: const D3DXVECTOR3*

Ponteiro para um 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 um 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 que representa 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 é uma matriz de transformação afim.

Comentários

Essa função calcula a matriz de transformação afim com a seguinte fórmula, com a concatenação de matriz avaliada na ordem da esquerda para a direita:

Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt

em que:

Mout = matriz de saída (pOut)

Ms = matriz de dimensionamento (dimensionamento)

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 D3DXMatrixAffineTransformation pode ser usada como um parâmetro para outra função.

Para transformações de afim 2D, use D3DXMatrixAffineTransformation2D.

Requisitos

Requisito Valor
parâmetro
D3DX10Math.h
Biblioteca
D3DX10.lib

Confira também

Funções Matemáticas