Bagikan melalui


Fungsi XMQuaternionMultiply (directxmath.h)

Menghitung produk dari dua kuaternion.

Sintaks

XMVECTOR XM_CALLCONV XMQuaternionMultiply(
  [in] FXMVECTOR Q1,
  [in] FXMVECTOR Q2
) noexcept;

Parameter

[in] Q1

Kuaternion pertama.

[in] Q2

Kuaternion kedua.

Nilai kembali

Mengembalikan produk dari dua kuaternion sebagai Q2*Q1.

Keterangan

Fungsi kuaternion DirectXMath menggunakan XMVECTOR 4-vektor untuk mewakili kuaternion, di mana komponen X, Y, dan Z adalah bagian vektor dan komponen W adalah bagian skalar.

Hasilnya mewakili rotasi Q1 diikuti oleh rotasi Q2 agar konsisten dengan perangkaian XMMatrixMulplity karena fungsi ini biasanya digunakan untuk menggabungkan kuaternion yang mewakili rotasi (yaitu mengembalikan Q2*Q1).

Fungsi ini menghitung yang setara dengan pseudo-code berikut:


XMVECTOR Result;
Result.x = (Q2.w * Q1.x) + (Q2.x * Q1.w) + (Q2.y * Q1.z) - (Q2.z * Q1.y);
Result.y = (Q2.w * Q1.y) - (Q2.x * Q1.z) + (Q2.y * Q1.w) + (Q2.z * Q1.x);
Result.z = (Q2.w * Q1.z) + (Q2.x * Q1.y) - (Q2.y * Q1.x) + (Q2.z * Q1.w);
Result.w = (Q2.w * Q1.w) - (Q2.x * Q1.x) - (Q2.y * Q1.y) - (Q2.z * Q1.z);
return Result;
    

Persyaratan Platform

Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header directxmath.h

Lihat juga

Fungsi Kuaternion Pustaka DirectXMath