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 |
|
Libreria |
|
Vedi anche