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 2º*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 |