Partilhar via


Função D3DXMatrixTransformation2D (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 2D que representa transformações no plano xy. Os argumentos NULL são tratados como transformações de identidade.

Sintaxe

D3DXMATRIX* D3DXMatrixTransformation2D(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR2 *pScalingCenter,
  _In_          FLOAT       pScalingRotation,
  _In_    const D3DXVECTOR2 *pScaling,
  _In_    const D3DXVECTOR2 *pRotationCenter,
  _In_          FLOAT       Rotation,
  _In_    const D3DXVECTOR2 *pTranslation
);

Parâmetros

pOut [in, out]

Tipo: D3DXMATRIX*

Ponteiro para a estrutura D3DXMATRIX que contém o resultado das transformações.

pScalingCenter [in]

Tipo: const D3DXVECTOR2*

Ponteiro para uma estrutura D3DXVECTOR2 , um ponto que identifica o centro de dimensionamento. Se esse argumento for NULL, uma matriz de identidade Msc será aplicada à fórmula em Comentários.

pScalingRotation [in]

Tipo: FLOAT

O fator de rotação de dimensionamento.

pScaling [in]

Tipo: const D3DXVECTOR2*

Ponteiro para uma estrutura D3DXVECTOR2 , um ponto que identifica a escala. Se esse argumento for NULL, uma matriz ms de identidade será aplicada à fórmula em Comentários.

pRotationCenter [in]

Tipo: const D3DXVECTOR2*

Ponteiro para uma estrutura D3DXVECTOR2 , 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.

Rotação [in]

Tipo: FLOAT

O ângulo de rotação em radianos.

pTranslation [in]

Tipo: const D3DXVECTOR2*

Ponteiro para uma estrutura D3DXVECTOR2 , identificando 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 contém 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 (Rotação)

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

Para transformações 3D, use D3DXMatrixTransformation.

Requisitos

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

Confira também

Funções Matemáticas

D3DXMatrixAffineTransformation2D

Transformações (Direct3D 9)