Struktur quaternion
Artikel 06/13/2023
4 kontributor
Saran dan Komentar
Dalam artikel ini
Vektor empat dimensi, digunakan untuk mewakili rotasi.
Kuaternion dapat memutar objek secara efisien tentang vektor (x, y, z) dengan theta sudut, di mana w = cos(theta/2). Kuaternion biasanya digunakan untuk interpolasi halus antara dua sudut, dan untuk menghindari masalah kunci gimbal yang dapat terjadi dengan sudut Euler.
Jenis ini hanya tersedia di C++. Setara .NET-nya adalah System.Numerics.Quaternion .
Konstruktor
Nama
Deskripsi
quaternion()
Membuat kuaternion yang tidak diinisialisasi.
quaternion(float x, float y, float z, float w)
Membuat kuaternion dengan nilai yang ditentukan.
quaternion(float3 vectorPart, float scalarPart)
Membuat kuaternion dari float3 dan skalar.
quaternion(Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion const& value)
Mengonversi Microsoft.Graphics.Canvas.Numerics.Quaternion menjadi kuaternion.
Fungsi
Nama
Deskripsi
quaternion make_quaternion_from_axis_angle(float3 const& axis, float angle)
Membuat kuaternion dari vektor dan sudut untuk memutar tentang vektor.
quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll)
Membuat kuaternion dari sudut yaw, pitch, dan roll yang ditentukan.
quaternion make_quaternion_from_rotation_matrix(float4x4 const& matrix)
Membuat kuaternion dari matriks rotasi.
bool is_identity(quaternion const& value)
Memeriksa apakah ini adalah quaternion identitas (tanpa rotasi).
float length(quaternion const& value)
Menghitung panjang kuaternion.
float length_squared(quaternion const& value)
Menghitung kuadrat panjang kuadrat kualifikasi.
float dot(quaternion const& quaternion1, quaternion const& quaternion2)
Menghitung produk titik dari dua kuaternion.
quaternion normalize(quaternion const& value)
Membagi setiap komponen kuaternion dengan panjang kuaternion.
quaternion conjugate(quaternion const& value)
Menghitung konjugasi kuaternion.
quaternion inverse(quaternion const& value)
Menghitung inversi kuaternion.
quaternion slerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount)
Menginterpolasi antara dua kuaternion, menggunakan interpolasi linier bola.
quaternion lerp(quaternion const& quaternion1, quaternion const& quaternion2, float amount)
Secara linier menginterpolasi antara dua kuaternion.
quaternion concatenate(quaternion const& value1, quaternion const& value2)
Menggabungkan dua kuaternion; hasilnya mewakili rotasi pertama diikuti oleh rotasi kedua.
Metode
Nama
Deskripsi
static quaternion identity()
Mengembalikan instans kuaternion identitas.
Operator
Nama
Deskripsi
quaternion operator+ (quaternion const& value1, quaternion const& value2)
Menambahkan dua kuaternion.
quaternion operator- (quaternion const& value1, quaternion const& value2)
Mengurangi quaternion dari quaternion lain.
quaternion operator* (quaternion const& value1, quaternion const& value2)
Mengalikan quaternion dengan quaternion lain.
quaternion operator* (quaternion const& value1, float value2)
Mengalikan kuaternion dengan nilai skalar.
quaternion operator/ (quaternion const& value1, quaternion const& value2)
Membagi quaternion dengan quaternion lain.
quaternion operator- (quaternion const& value)
Membalik tanda setiap komponen quaternion.
quaternion& operator+= (quaternion& value1, quaternion const& value2)
Di tempat menambahkan dua kuaternion.
quaternion& operator-= (quaternion& value1, quaternion const& value2)
Di tempat mengurangi quaternion dari quaternion lain.
quaternion& operator*= (quaternion& value1, quaternion const& value2)
Di tempat mengalikan quaternion dengan quaternion lain.
quaternion& operator*= (quaternion& value1, float value2)
Di tempat nultiplies quaternion oleh nilai skalar.
quaternion& operator/= (quaternion& value1, quaternion const& value2)
Di tempat membagi kuaternion dengan quaternion lain.
bool operator== (quaternion const& value1, quaternion const& value2)
Menentukan apakah dua instans kuaternion sama.
bool operator!= (quaternion const& value1, quaternion const& value2)
Menentukan apakah dua instans kuaternion tidak sama.
operator Microsoft::?Graphics::?Canvas::?Numerics::?Quaternion() const
Mengonversi quaternion menjadi Microsoft.Graphics.Canvas.Numerics.Quaternion .
Bidang
Nama
Deskripsi
float x
Nilai X komponen vektor dari quaternion.
float y
Nilai Y dari komponen vektor dari quaternion.
float z
Nilai Z dari komponen vektor dari quaternion.
float w
Komponen rotasi dari quaternion.
Persyaratan
Persyaratan
Nilai
Ruang nama
Windows::Foundation::Numerics
Header
Windowsnumerics.h
Lihat juga
windowsnumerics.h API