Microsoft DirectX 8.0 (C++)

D3DXVec3Hermite

指定された 3D ベクトルを使用して、エルミートのスプライン補間を実行する。

D3DXVECTOR3* D3DXVec3Hermite(
  D3DXVECTOR3* pOut,
  CONST D3DXVECTOR3* pV1,
  CONST D3DXVECTOR3* pT1,
  CONST D3DXVECTOR3* pV2,
  CONST D3DXVECTOR3* pT2,
  FLOAT s
); 

パラメータ

pOut
[in, out] 演算結果である D3DXVECTOR3 構造体へのポインタ。
pV1
[in] 位置ベクトルを示す、処理の基になる D3DXVECTOR3 構造体へのポインタ。
pT1
[in] 接線ベクトルを示す、処理の基になる D3DXVECTOR3 構造体へのポインタ。
pV2
[in] 位置ベクトルを示す、処理の基になる D3DXVECTOR3 構造体へのポインタ。
pT2
[in] 接線ベクトルを示す、処理の基になる D3DXVECTOR3 構造体へのポインタ。
s
[in] 加重係数。「注意」を参照すること。

戻り値

エルミートのスプライン補間の結果である D3DXVECTOR3 構造体へのポインタ。

注意

D3DXVec3Hermite 関数は、エルミートのスプライン補間を使用して (positionA, tangentA) から (positionB, tangentB) へ補間する。この関数は、位置 V1 と接線 T1 の間 (s が 0 の場合) と、位置 V2 と接線 T2 の間 (s が 1 の場合) を補間する。

エルミートのスプラインは、カーブがすべての制御ポイントを通過するので、アニメーションを制御する場合に便利である。また、位置や接線が各セグメントの終点で明示的に指定されているので、起点と接線が最終セグメントの終点の値に一致するようにしている限り、C2 連続カーブを簡単に作成できる。

この関数の戻り値は、pOut パラメータの戻り値と同じである。このように、D3DXVec3Hermite 関数を別の関数のパラメータとして使用できる。

動作環境

  ヘッダー : D3dx8math.h で宣言。
  インポート ライブラリ : D3dx8.lib を使用。