Partager via


Fonction XMQuaternionMultiply (directxmath.h)

Calcule le produit de deux quaternions.

Syntaxe

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

Paramètres

[in] Q1

Premier quaternion.

[in] Q2

Deuxième quaternion.

Valeur retournée

Retourne le produit de deux quaternions sous la forme Q2*Q1.

Remarques

Les fonctions quaternion DirectXMath utilisent un vecteur XMVECTOR 4 pour représenter des quaternions, où les composants X, Y et Z sont la partie vectorielle et le composant W est la partie scalaire.

Le résultat représente la rotation Q1 suivie de la rotation Q2 pour être cohérente avec la concaténation XMMatrixMulplity, car cette fonction est généralement utilisée pour concaténer des quaternions qui représentent des rotations (c’est-à-dire qu’elle retourne Q2*Q1).

Cette fonction calcule l’équivalent du pseudo-code suivant :


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;
    

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le Kit de développement logiciel (SDK) Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxmath.h

Voir aussi

Fonctions quaternion de la bibliothèque DirectXMath