Partilhar via


Função D3DXMatrixAffineTransformation (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 de affine 3D. Os argumentos NULL são tratados como transformações de identidade.

Sintaxe

D3DXMATRIX* D3DXMatrixAffineTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_          FLOAT          Scaling,
  _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.

Dimensionamento [in]

Tipo: FLOAT

Fator de dimensionamento.

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 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 affine.

Comentários

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

Mout = Ms * (Mrc)⁻¹ * Mr * Mrc * Mt

em que:

Mout = matriz de saída (pOut)

Ms = matriz de dimensionamento (dimensionamento)

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

Para transformações de afinação 2D, use D3DXMatrixAffineTransformation2D.

Requisitos

Requisito Valor
parâmetro
D3dx9math.h
Biblioteca
D3dx9.lib

Confira também

Funções Matemáticas

D3DXMatrixTransformation

Transformações (Direct3D 9)