Funzione D3DXMatrixTransformation (D3dx9math.h)

Nota

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

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

Sintassi

D3DXMATRIX* D3DXMatrixTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_    const D3DXVECTOR3    *pScalingCenter,
  _In_    const D3DXQUATERNION *pScalingRotation,
  _In_    const D3DXVECTOR3    *pScaling,
  _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.

pScalingCenter [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , identificando il punto centrale di ridimensionamento. Se questo argomento è NULL, viene applicata una matrice identity Msc alla formula in Osservazioni.

pScalingRotation [in]

Tipo: const D3DXQUATERNION*

Puntatore a una struttura D3DXQUATERNION che specifica la rotazione del ridimensionamento. Se questo argomento è NULL, viene applicata una matriceidentity M sr alla formula in Osservazioni.

pScaling [in]

Tipo: const D3DXVECTOR3*

Puntatore a una struttura D3DXVECTOR3 , vettore di ridimensionamento. Se questo argomento è NULL, viene applicata una matrice ms di identità alla formula in Osservazioni.

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 la matrice di trasformazione.

Commenti

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

M out = (Msc)⁻¹ * (M sr)⁻¹* Ms * Msr * M sc * (Mrc)⁻¹* M r * Mrc * Mt

dove:

Mout = matrice di output (pOut)

Msc = matrice del centro di ridimensionamento (pScalingCenter)

Msr = matrice di rotazione del ridimensionamento (pScalingRotation)

Ms = matrice di ridimensionamento (pScaling)

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 D3DXMatrixTransformation può essere usata come parametro per un'altra funzione.

Per le trasformazioni 2D, usare D3DXMatrixTransformation2D.

Requisiti

Requisito Valore
Intestazione
D3dx9math.h
Libreria
D3dx9.lib

Vedi anche

Funzioni matematiche

D3DXMatrixAffineTransformation

Trasformazioni (Direct3D 9)