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 |
|
Pustaka |
|
Lihat juga