Compartilhar via


Função XMQuaternionMultiply (directxmath.h)

Calcula o produto de dois quatérnios.

Sintaxe

XMVECTOR XM_CALLCONV XMQuaternionMultiply(
  [in] FXMVECTOR Q1,
  [in] FXMVECTOR Q2
) noexcept;

Parâmetros

[in] Q1

O primeiro quatérnion.

[in] Q2

Segundo quatérnion.

Retornar valor

Retorna o produto de dois quatérnios como *trimestre.

Comentários

As funções de quatérnio DirectXMath usam um vetor XMVECTOR 4 para representar quatérnios, em que os componentes X, Y e Z são a parte vetor e o componente W é a parte escalar.

O resultado representa a rotação Q1 seguida pela rotação Q2 para ser consistente com a concatenação XMMatrixMulplity, pois essa função normalmente é usada para concatenar quatérnios que representam rotações (ou seja, ela retorna q2*Q1).

Essa função calcula o equivalente ao seguinte pseudocódigo:


XMVECTOR Result;
Result.x = (Q2.w * Q1.x) + (Q2.x * Q1.w) + (Q2.y * Q1.z) - (Q2.z * Q1.y);
Result.y = (Q2.w * Q1.y) - (Q2.x * Q1.z) + (Q2.y * Q1.w) + (Q2.z * Q1.x);
Result.z = (Q2.w * Q1.z) + (Q2.x * Q1.y) - (Q2.y * Q1.x) + (Q2.z * Q1.w);
Result.w = (Q2.w * Q1.w) - (Q2.x * Q1.x) - (Q2.y * Q1.y) - (Q2.z * Q1.z);
return Result;
    

Requisitos da plataforma

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 com o SDK do Windows para Windows 8. Com suporte para aplicativos da área de trabalho Win32, aplicativos da Windows Store e aplicativos Windows Phone 8.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directxmath.h

Confira também

Funções Quaternion da Biblioteca DirectXMath