Funzione D3DXQuaternionMultiply (D3DX10Math.h)
Nota
La libreria di utilità D3DX10 è deprecata. È consigliabile usare invece DirectXMath .
Moltiplica due quaternioni.
Sintassi
D3DXQUATERNION* D3DXQuaternionMultiply(
_Inout_ D3DXQUATERNION *pOut,
_In_ const D3DXQUATERNION *pQ1,
_In_ const D3DXQUATERNION *pQ2
);
Parametri
-
pOut [in, out]
-
Tipo: D3DXQUATERNION*
Puntatore al D3DXQUATERNION che è il risultato dell'operazione.
-
pQ1 [in]
-
Tipo: const D3DXQUATERNION*
Puntatore a una struttura D3DXQUATERNION di origine.
-
pQ2 [in]
-
Tipo: const D3DXQUATERNION*
Puntatore a una struttura D3DXQUATERNION di origine.
Valore restituito
Tipo: D3DXQUATERNION*
Puntatore a una struttura D3DXQUATERNION che è il prodotto di due quaternioni.
Commenti
Il risultato rappresenta la rotazione Q1 seguita dalla rotazione Q2 (Out = Q2 * Q1). Questa operazione viene eseguita in modo che D3DXQuaternionMultiply mantenga la stessa semantica di D3DXMatrixMultiply perché le unità quaternioni possono essere considerate come un altro modo per rappresentare le matrici di rotazione.
Le trasformazioni vengono concatenate nello stesso ordine per le funzioni D3DXQuaternionMultiply e D3DXMatrixMultiply . Ad esempio, supponendo che mX e mY rappresentino le stesse rotazioni di qX e qY, sia m che qY rappresentano le stesse rotazioni.
D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);
La moltiplicazione dei quaternioni non è commutativa.
Il valore restituito per questa funzione è lo stesso valore restituito nel parametro pOut. In questo modo, la funzione D3DXQuaternionMultiply può essere usata come parametro per un'altra funzione.
Usare D3DXQuaternionNormalize per qualsiasi input quaternion non già normalizzato.
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|
Vedi anche