Funzione D3DXMatrixTransformation (D3DX10Math.h)

Nota

La libreria di utilità D3DX10 è 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 risultante dall'operazione.

pScalingCenter [in]

Tipo: const D3DXVECTOR3*

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

pScalingRotation [in]

Tipo: const D3DXQUATERNION*

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

pScaling [in]

Tipo: const D3DXVECTOR3*

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

pRotationCenter [in]

Tipo: const D3DXVECTOR3*

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

pRotation [in]

Tipo: const D3DXQUATERNION*

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

pTranslation [in]

Tipo: const D3DXVECTOR3*

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

Valore restituito

Tipo: D3DXMATRIX*

Puntatore a una struttura D3DXMATRIX che è la matrice di trasformazione.

Commenti

Questa funzione calcola la matrice di trasformazione con la formula seguente, con la concatenazione della matrice valutata in ordine da sinistra a destra:

Mout = (Msc)⁻¹ * (Msr)⁻¹* Ms * Msr * Msc * (Mrc)⁻¹* Mr * 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
D3DX10Math.h
Libreria
D3DX10.lib

Vedi anche

Funzioni matematiche