Funzione D3DXQuaternionMultiply (D3dx9math.h)

Nota

La libreria di utilità D3DX è 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 alla struttura D3DXQUATERNION risultante dall'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 rappresenta 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 mantengano la stessa semantica di D3DXMatrixMultiply perché i quaternioni unità possono essere considerati 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 q rappresenteranno 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 quaternione non già normalizzato.

Requisiti

Requisito Valore
Intestazione
D3dx9math.h
Libreria
D3dx9.lib

Vedi anche

Funzioni matematiche

D3DXMatrixMultiply