次の方法で共有


D3DXQuaternionSquad 関数 (D3dx9math.h)

Note

D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。

球面四角形補間を使用して四元数間の補間を行います。

構文

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

パラメーター

pOut [in, out]

型: D3DXQUATERNION*

操作の結果である D3DXQUATERNION 構造体へのポインター。

pQ1 [in]

型: const D3DXQUATERNION*

ソース D3DXQUATERNION 構造体へのポインター。

pA [in]

型: const D3DXQUATERNION*

ソース D3DXQUATERNION 構造体へのポインター。

pB [in]

型: const D3DXQUATERNION*

ソース D3DXQUATERNION 構造体へのポインター。

pC [in]

型: const D3DXQUATERNION*

ソース D3DXQUATERNION 構造体へのポインター。

t [in]

型: FLOAT

四元数を補間する距離を示すパラメーター。

戻り値

型: D3DXQUATERNION*

球面四角形補間の結果である D3DXQUATERNION 構造体へのポインター。

解説

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

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

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

四元数間の補間の例については、SkinnedMesh サンプルを参照してください。 このサンプルを入手し、DirectX SDK から学習できます。 DirectX SDK の詳細については、「 DirectX SDK はどこにありますか?」を参照してください。

正規化されていない四元数入力には 、D3DXQuaternionNormalize を使用します。

要件

要件
ヘッダー
D3dx9math.h
ライブラリ
D3dx9.lib

関連項目

数値演算関数

D3DXQuaternionExp

D3DXQuaternionLn

D3DXQuaternionSquadSetup