Fungsi D3DXQuaternionMultiply (D3dx9math.h)

Catatan

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

Mengalikan dua quaternion.

Sintaks

D3DXQUATERNION* D3DXQuaternionMultiply(
  _Inout_       D3DXQUATERNION *pOut,
  _In_    const D3DXQUATERNION *pQ1,
  _In_    const D3DXQUATERNION *pQ2
);

Parameter

pOut [masuk, keluar]

Jenis: D3DXQUATERNION*

Arahkan ke struktur D3DXQUATERNION yang merupakan hasil operasi.

pQ1 [in]

Jenis: const D3DXQUATERNION*

Penunjuk ke struktur D3DXQUATERNION sumber.

pQ2 [in]

Jenis: const D3DXQUATERNION*

Penunjuk ke struktur D3DXQUATERNION sumber.

Menampilkan nilai

Jenis: D3DXQUATERNION*

Pointer ke struktur D3DXQUATERNION yang merupakan produk dari dua kuaternion.

Keterangan

Hasilnya menunjukkan rotasi Q1 diikuti oleh rotasi Q2 (Out = Q2 * Q1). Ini dilakukan agar D3DXQuaternionMultiply mempertahankan semantik yang sama dengan D3DXMatrixMultiply karena quaternion unit dapat dianggap sebagai cara lain untuk mewakili matriks rotasi.

Transformasi digabungkan dalam urutan yang sama untuk fungsi D3DXQuaternionMultiply dan D3DXMatrixMultiply . Misalnya, dengan asumsi mX dan mY mewakili rotasi yang sama dengan qX dan qY, m dan q akan mewakili rotasi yang sama.

D3DXMatrixMultiply(&m, &mX, &mY);
D3DXQuaternionMultiply(&q, &qX, &qY);

Perkalian kuaternion tidak komuttif.

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

Gunakan D3DXQuaternionNormalize untuk input kuaternion apa pun yang belum dinormalisasi.

Persyaratan

Persyaratan Nilai
Header
D3dx9math.h
Pustaka
D3dx9.lib

Lihat juga

Fungsi matematika

D3DXMatrixMultiply