次の方法で共有


D3DXQuaternionSquad

球状平方補間を使用して、クオータニオン間を補間します。

D3DXQUATERNION * 
D3DXQuaternionSquad(
  D3DXQUATERNION * pOut,
  CONST D3DXQUATERNION * pQ1,
  CONST D3DXQUATERNION * pA,
  CONST D3DXQUATERNION * pB,
  CONST D3DXQUATERNION * pC,
  FLOAT t
);

パラメータ

  • pOut
    処理の結果を表す D3DXQUATERNION 構造体へのポインターです。
  • pQ1
    演算対象の D3DXQUATERNION 構造体へのポインターです。
  • pA
    演算対象の D3DXQUATERNION 構造体へのポインターです。
  • pB
    演算対象の D3DXQUATERNION 構造体へのポインターです。
  • pC
    演算対象の D3DXQUATERNION 構造体へのポインターです。
  • t
    クオータニオン間で補間する範囲を指定するパラメーターです。

戻り値

球状平方補間の結果を表す D3DXQUATERNION 構造体へのポインターです。

解説 

この関数は、次の球状線形補間演算を使用します。

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

この関数の戻り値は、pOut パラメーターに返される値と同じです。このため、D3DXQuaternionSquad 関数は他の関数のパラメーターとして使用できます。

クオータニオン間の球状平方補間の例については、「SkinnedMesh サンプル」を参照してください。

まだ正規化されていない入力クオータニオンに対しては、すべて D3DXQuaternionNormalize 関数を使用します。

要件

ヘッダー: D3dx9math.h 宣言

ライブラリ: D3dx9.lib 内容

関連項目

D3DXQuaternionExp, D3DXQuaternionLn, D3DXQuaternionSquadSetup