Share via


Função D3DXMatrixTransformation2D (D3DX10Math.h)

Observação

A biblioteca de utilitários D3DX10 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       ScalingRotation,
  _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 um 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.

ScalingRotation [in]

Tipo: FLOAT

Ponteiro para o fator de rotação de escala.

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

Confira também

Funções Matemáticas