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
D3DX10Math.h
Libreria
D3DX10.lib

Vedi anche

Funzioni matematiche