Fonction XMQuaternionSquad (directxmath.h)
Interpole entre quatre quaternions d’unités, à l’aide de l’interpolation quadrangle sphérique.
Syntaxe
XMVECTOR XM_CALLCONV XMQuaternionSquad(
[in] FXMVECTOR Q0,
[in] FXMVECTOR Q1,
[in] FXMVECTOR Q2,
[in] GXMVECTOR Q3,
[in] float t
) noexcept;
Paramètres
[in] Q0
Quaternion de première unité.
[in] Q1
Deuxième quaternion d’unité.
[in] Q2
Troisième quaternion d’unité.
[in] Q3
Quatrième quaternion d’unité.
[in] t
Facteur de contrôle d’interpolation.
Valeur retournée
Retourne le quaternion interpolé. Si Q0, Q1, Q2 et Q3 ne sont pas tous des quaternions d’unités, le quaternion retourné n’est pas défini.
Notes
Les fonctions quaternion DirectXMath utilisent un vecteur XMVECTOR 4 pour représenter les quaternions, où les composants X, Y et Z sont la partie vectorielle et le composant W est la partie scalaire.
L’utilisation de cette méthode nécessite une configuration avant son utilisation. Pour plus d’informations, consultez XMQuaternionSquadSetup .
L’exemple suivant montre comment utiliser un ensemble de clés quaternion (Q0, Q1, Q2, Q3) pour calculer les points quadrangle internes (A, B, C). Cela garantit que les tangentes sont continues sur les segments adjacents.
// Rotation about the z-axis
XMVECTOR Q0 = XMVectorSet(0, 0, 0.707f, -.707f);
XMVECTOR Q1 = XMVectorSet(0, 0, 0.000f, 1.000f);
XMVECTOR Q2 = XMVectorSet(0, 0, 0.707f, 0.707f);
XMVECTOR Q3 = XMVectorSet(0, 0, 1.000f, 0.000f);
XMVECTOR A, B, C;
XMQuaternionSquadSetup(&A, &B, &C, Q0, Q1, Q2, Q3);
XMVECTOR result = XMQuaternionSquad(Q1, A, B, C, 0.5f);
// result is a rotation of 45 degrees around the z-axis
Configuration requise pour la plateforme
Pris en charge pour les applications de bureau Win32, les applications du Windows Store et les applications Windows Phone 8.Spécifications
Plateforme cible | Windows |
En-tête | directxmath.h |