Funzione XMQuaternionSquad (directxmath.h)
Interpola tra quattro quaternioni di unità, usando l'interpolazione quadrale sferica.
Sintassi
XMVECTOR XM_CALLCONV XMQuaternionSquad(
[in] FXMVECTOR Q0,
[in] FXMVECTOR Q1,
[in] FXMVECTOR Q2,
[in] GXMVECTOR Q3,
[in] float t
) noexcept;
Parametri
[in] Q0
Quaternione della prima unità.
[in] Q1
Quaternione di seconda unità.
[in] Q2
Quaternione di terza unità.
[in] Q3
Quaternione quarta unità.
[in] t
Fattore di controllo interpolazione.
Valore restituito
Restituisce il quaternione interpolato. Se Q0, Q1, Q2 e Q3 non sono tutti quaternioni unità, il quaternione restituito non è definito.
Commenti
Le funzioni quaternione DirectXMath usano un vettore XMVECTOR 4 per rappresentare quaternioni, dove i componenti X, Y e Z sono la parte vettoriale e il componente W è la parte scalare.
L'uso di questo metodo richiede alcune impostazioni prima dell'uso. Per informazioni dettagliate, vedere XMQuaternionSquadSetup .
Nell'esempio seguente viene illustrato come usare un set di chiavi quaternione (Q0, Q1, Q2, Q3) per calcolare i punti quadrangle interni (A, B, C). Ciò garantisce che le tangenti siano continue tra segmenti adiacenti.
// 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
Requisiti della piattaforma
Supportato per le app desktop Win32, le app di Windows Store e Windows Phone 8 app.Requisiti
Piattaforma di destinazione | Windows |
Intestazione | directxmath.h |