Fungsi D3DXVec4Hermite (D3dx9math.h)

Catatan

Pustaka utilitas D3DX tidak digunakan lagi. Kami menyarankan agar Anda menggunakan DirectXMath sebagai gantinya.

Melakukan interpolasi spline Hermite, menggunakan vektor 4D yang ditentukan.

Sintaks

D3DXVECTOR4* D3DXVec4Hermite(
  _Inout_       D3DXVECTOR4 *pOut,
  _In_    const D3DXVECTOR4 *pV1,
  _In_    const D3DXVECTOR4 *pT1,
  _In_    const D3DXVECTOR4 *pV2,
  _In_    const D3DXVECTOR4 *pT2,
  _In_          FLOAT       s
);

Parameter

pOut [masuk, keluar]

Jenis: D3DXVECTOR4*

Arahkan ke struktur D3DXVECTOR4 yang merupakan hasil operasi.

pV1 [in]

Jenis: const D3DXVECTOR4*

Pointer ke struktur D3DXVECTOR4 sumber, vektor posisi.

pT1 [in]

Jenis: const D3DXVECTOR4*

Pointer ke struktur D3DXVECTOR4 sumber, vektor tangen.

pV2 [in]

Jenis: const D3DXVECTOR4*

Pointer ke struktur D3DXVECTOR4 sumber, vektor posisi.

pT2 [in]

Jenis: const D3DXVECTOR4*

Pointer ke struktur D3DXVECTOR4 sumber, vektor tangen.

s [in]

Jenis: FLOAT

Faktor pembobotan. Lihat Keterangan.

Nilai kembali

Jenis: D3DXVECTOR4*

Arahkan ke struktur D3DXVECTOR4 yang merupakan hasil interpolasi spline Hermite.

Keterangan

Fungsi D3DXVec4Hermite menginterpolasi dari (positionA, tangentA) ke (positionB, tangentB) menggunakan interpolasi spline Hermite.

Interpolasi spline adalah generalisasi spline kemudahan dan kemudahan keluar. Ramp adalah fungsi Q dengan properti berikut.

T= As³ + Bs² + Cs + D (dan oleh karena itu, T's) = 3As² + 2B + C)

a) T(0) = v1, jadi T'(0) = t1

b) T(1) = v2, jadi T'(1) = t2

v1 adalah konten pV1, v2 dalam konten pV2, t1 adalah konten pT1, dan t2 adalah konten pT2.

Properti ini digunakan untuk memecahkan masalah untuk A, B, C, D.

Colokkan solusi untuk A,B,C dan D untuk menghasilkan T.S.

A = 2v1 - 2v2 + t2 + t1
B = 3v2 - 3v1 - 2t1 - t2
C = t1
D = v1

Ini menghasilkan:

T= (2v1 - 2v2 + t2 + t1)s³ + (3v2 - 3v1 - 2t1 - t2)s² + t1s + v1

Yang dapat disusun ulang sebagai:

T= (2s³ - 3s² + 1)v1 + (-2s³ + 3s²)v2 + (s³ - 2s² + s)t1 + (s³ - s²)t2

Splines hermite berguna untuk mengontrol animasi karena kurva berjalan melalui semua titik kontrol. Selain itu, karena posisi dan tangen secara eksplisit ditentukan di ujung setiap segmen, mudah untuk membuat kurva berkelanjutan C2 selama Anda memastikan bahwa posisi awal dan tangen Cocok dengan nilai akhir segmen terakhir.

Nilai yang dikembalikan untuk fungsi ini adalah nilai yang sama yang dikembalikan dalam parameter pOut. Dengan cara ini, fungsi D3DXVec4Hermite dapat digunakan sebagai parameter untuk fungsi lain.

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika