Compartilhar via


Função D3DXQuaternionSquad (D3dx9math.h)

Observação

A biblioteca do utilitário D3DX foi preterida. Em vez disso, recomendamos que você use DirectXMath .

Interpola entre quatérnions, usando interpolação de quadrângulo esférico.

Sintaxe

D3DXQUATERNION* D3DXQuaternionSquad(
  _Inout_       D3DXQUATERNION *pOut,
  _In_    const D3DXQUATERNION *pQ1,
  _In_    const D3DXQUATERNION *pA,
  _In_    const D3DXQUATERNION *pB,
  _In_    const D3DXQUATERNION *pC,
  _In_          FLOAT          t
);

Parâmetros

pOut [in, out]

Tipo: D3DXQUATERNION*

Ponteiro para a estrutura D3DXQUATERNION que é o resultado da operação.

pQ1 [in]

Tipo: const D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION de origem.

pA [in]

Tipo: const D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION de origem.

pB [in]

Tipo: const D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION de origem.

pC [in]

Tipo: const D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION de origem.

t [in]

Tipo: FLOAT

Parâmetro que indica até que ponto interpolar entre os quatérnions.

Valor retornado

Tipo: D3DXQUATERNION*

Ponteiro para uma estrutura D3DXQUATERNION que é o resultado da interpolação de quadrângulo esférico.

Comentários

Essa função usa a seguinte sequência de operações de interpolação linear esférica:

Slerp(Slerp(pQ1, pC, t), Slerp(pA, pB, t), 2t(1 - t))

O valor retornado para essa função é o mesmo valor retornado no parâmetro pOut . Dessa forma, a função D3DXQuaternionSquad pode ser usada como um parâmetro para outra função.

Para obter um exemplo de interpolação entre quatérnions, consulte o exemplo SkinnedMesh. Você pode obter este exemplo e saber mais sobre ele no SDK do DirectX. Para obter informações sobre o SDK do DirectX, consulte Onde está o SDK do DirectX?.

Use D3DXQuaternionNormalize para qualquer entrada de quatérnion que ainda não esteja normalizada.

Requisitos

Requisito Valor
parâmetro
D3dx9math.h
Biblioteca
D3dx9.lib

Confira também

Funções Matemáticas

D3DXQuaternionExp

D3DXQuaternionLn

D3DXQuaternionSquadSetup