Compartilhar via


Função D3DXQuaternionMultiply (D3dx9math.h)

Observação

A biblioteca de utilitários D3DX foi preterida. Em vez disso, recomendamos que você use DirectXMath .

Multiplica dois quatérnios.

Sintaxe

D3DXQUATERNION* D3DXQuaternionMultiply(
  _Inout_       D3DXQUATERNION *pOut,
  _In_    const D3DXQUATERNION *pQ1,
  _In_    const D3DXQUATERNION *pQ2
);

Parâmetros

pOut [in, out]

Tipo: D3DXQUATERNION*

Ponteiro para a estrutura D3DXQUATERNION que é o resultado da operação.

pQ1 [in]

Tipo: const D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION de origem.

pQ2 [in]

Tipo: const D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION de origem.

Valor retornado

Tipo: D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION que é o produto de dois quatérnios.

Comentários

O resultado representa a rotação Q1 seguida pela rotação Q2 (Out = Q2 * Q1). Isso é feito para que D3DXQuaternionMultiply mantenha a mesma semântica que D3DXMatrixMultiply porque os quatérnios de unidade podem ser considerados como outra maneira de representar matrizes de rotação.

As transformações são concatenadas na mesma ordem para as funções D3DXQuaternionMultiply e D3DXMatrixMultiply . Por exemplo, supondo que mX e mY representem as mesmas rotações que qX e qY, m e q representarão as mesmas rotações.

D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);

A multiplicação de quatérnios não é commutativa.

O valor retornado para essa função é o mesmo valor retornado no parâmetro pOut . Dessa forma, a função D3DXQuaternionMultiply pode ser usada como um parâmetro para outra função.

Use D3DXQuaternionNormalize para qualquer entrada de quatérnio que ainda não esteja normalizada.

Requisitos

Requisito Valor
parâmetro
D3dx9math.h
Biblioteca
D3dx9.lib

Confira também

Funções Matemáticas

D3DXMatrixMultiply