Funzione D3DXMatrixAffineTransformation (D3dx9math.h)

Nota

La libreria di utilità D3DX è deprecata. È consigliabile usare invece DirectXMath .

Compila una matrice di trasformazione affine 3D. Gli argomenti NULL vengono considerati come trasformazioni di identità.

Sintassi

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

Parametri

pOut [in, out]

Tipo: D3DXMATRIX*

Puntatore alla struttura D3DXMATRIX che è il risultato dell'operazione.

Ridimensionamento [in]

Tipo: FLOAT

Fattore di ridimensionamento.

pRotationCenter [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , un punto che identifica il centro di rotazione. Se questo argomento è NULL, viene applicata una matriceidentity M rc alla formula in Osservazioni.

pRotation [in]

Tipo: const D3DXQUATERNION*

Puntatore a una struttura D3DXQUATERNION che specifica la rotazione. Se questo argomento è NULL, viene applicata una matrice identity Mr alla formula in Osservazioni.

pTranslation [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 che rappresenta la traduzione. Se questo argomento è NULL, viene applicata una matrice identity Mt alla formula in Osservazioni.

Valore restituito

Tipo: D3DXMATRIX*

Puntatore a una struttura D3DXMATRIX che rappresenta una matrice di trasformazione affine.

Commenti

Questa funzione calcola la matrice di trasformazione affine con la formula seguente, con la concatenazione matrice valutata nell'ordine a sinistra a destra:

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

dove:

Mout = matrice di output (pOut)

Ms = matrice di ridimensionamento (ridimensionamento)

Mrc = centro della matrice di rotazione (pRotationCenter)

Mr = matrice di rotazione (pRotation)

Mt = matrice di traduzione (pTranslation)

Il valore restituito per questa funzione è lo stesso valore restituito nel parametro pOut. In questo modo, la funzione D3DXMatrixAffineTransformation può essere usata come parametro per un'altra funzione.

Per le trasformazioni affine 2D, usare D3DXMatrixAffineTransformation2D.

Requisiti

Requisito Valore
Intestazione
D3dx9math.h
Libreria
D3dx9.lib

Vedi anche

Funzioni matematiche

D3DXMatrixTransformation

Trasformazioni (Direct3D 9)