Kuaternion

class publik Quaternion

Class kuaternion Sceneform untuk float.

Operasi kuaternion adalah Hamiltonian yang menggunakan konvensi aturan tangan kanan.

Kolom

float publik ming
float publik x
float publik t
float publik z

Konstruktor Publik

Kuartal()
Buat Kuaternion dan tetapkan ke Identitas
Kuarter(float x, float y, float z, float w)
Buat Kuaternion dan setel setiap nilai.
Kuaternion(Kuarion q)
Buat Quaternion menggunakan nilai dari Quaternion lain
Kuarter(sumbu Vektor3, sudut mengambang)
Buat Kuaternion menggunakan sumbu/sudut untuk menentukan rotasi
Quaternion(Vector3 eulerAngles)
Membuat Kuaternion berdasarkan eulerAngles.

Metode Publik

statis Quaternion
axeAngle(sumbu Vector3, float derajat)
Dapatkan Kuaternion baru menggunakan sumbu/sudut untuk menentukan rotasi
boolean statis
sama dengan(Kuarion lh, Kuaternion rhs)
Bandingkan dua Kuaternion

Menguji kesetaraan dengan menghitung produk titik dari lhs dan rhs.

boolean
sama dengan(Objek lainnya)
Menampilkan true jika objek lainnya adalah Quaternion dan produk titik adalah 1,0 +/- toleransi.
statis Quaternion
eulerAngles(Vector3 eulerAngles)
Dapatkan Kuaternion baru menggunakan eulerAngles untuk menentukan rotasi.
statis Quaternion
identity()
Dapatkan Kuaternion yang ditetapkan ke identitas
Statis Vector3
Kuaternion
warna terbalik()
Dapatkan Kuaternion dengan rotasi yang berlawanan
statis Quaternion
lookRotation(Vector3 forwardInWorld, Vector3 diinginkanUpInWorld)
Dapatkan Kuaternion baru yang mewakili rotasi ke arah maju yang ditentukan.
statis Quaternion
kalikan(Quaternion lhs, Quaternion rhs)
Buat Quaternion dengan menggabungkan dua Perkalian kuarter(lhs, rhs) yang setara dengan melakukan rotasi rhs, maka rotasi lhs Pengurutan ini penting untuk operasi ini.
boolean
normalkan()
Mengubah skala kuat ke panjang satuan.
Kuaternion
normal()
Dapatkan Kuaternion dengan rotasi yang cocok, tetapi diskalakan ke panjang unit.
Statis Vector3
rotateVector(Kuartion q, Vector3 src)
Merotasi Vektor3 dengan Kuaternion
statis Quaternion
rotasiDi antaraVektor(Vektor3 awal, Vektor3 akhir)
Dapatkan Kuaternion baru yang mewakili rotasi dari satu vektor ke vektor lain.
void
set(float qx, float qy, float qz, float qw)
Menetapkan setiap nilai dan menormalisasi Kuaternion
void
set(sumbu Vector3, sudut float)
Perbarui Kuaternion ini menggunakan sumbu/sudut untuk menentukan rotasi
void
set(Kuation q)
Salin nilai dari Kuaternion lain ke yang ini
void
setIdentity()
Tetapkan Kuaternion ke identitas
statis Quaternion
slerp(Kuarter awal, Quaternion akhir, float t)
String

Metode Turunan

Kolom

float publik w

float publik x

float publik y

float publik z

Konstruktor Publik

publik Kuaternion ()

Buat Kuaternion dan tetapkan ke Identitas

publik Kuaternion (float x, float y, float z, float w)

Buat Kuaternion dan setel setiap nilai. Kuaternion akan dinormalkan selama konstruksi

Parameter
x
y
z
w

publik Kuaternion (Kuarter q)

Buat Quaternion menggunakan nilai dari Quaternion lain

Parameter
q

publik Kuaternion (sumbu Vector3, sudut float)

Buat Kuaternion menggunakan sumbu/sudut untuk menentukan rotasi

Parameter
Axis Setel arah rotasi
sudut Ukuran sudut dalam derajat

publik Kuaternion (Vector3 eulerAngles)

Membuat Kuaternion berdasarkan eulerAngles.

Parameter
eulerAngles - sudut dalam derajat untuk setiap sumbu.

Metode Publik

publik statis Kuaternion axeAngle (Vector3 sumbu, derajat float)

Dapatkan Kuaternion baru menggunakan sumbu/sudut untuk menentukan rotasi

Parameter
Axis Setel arah rotasi
derajat Ukuran sudut dalam derajat

public static boolean sama dengan (Quaternion lhs, Quaternion rhs)

Bandingkan dua Kuaternion

Uji persamaan dengan menghitung hasil titik dari lhs dan rhs. lhs dan -lhs tidak akan sama dengan fungsi ini.

Parameter
lhs
rhs

boolean publik sama dengan (Objek lainnya)

Menampilkan true jika objek lainnya adalah Quaternion dan produk titik adalah 1,0 +/- toleransi.

Parameter
lainnya

publik statis Quaternion eulerAngles (Vector3 eulerAngles)

Dapatkan Kuaternion baru menggunakan eulerAngles untuk menentukan rotasi.

Rotasi diterapkan dalam urutan Z, Y, X. Hal ini konsisten dengan mesin grafis lainnya. Satu hal yang perlu diperhatikan adalah sistem koordinatnya berbeda antara Sceneform dan Unity, sehingga sudut yang sama dengan yang digunakan di sini akan menyebabkan orientasi yang berbeda dengan Unity. Periksa parameter value Anda dengan cermat untuk mendapatkan efek yang sama seperti di mesin lain.

Parameter
eulerAngles - sudut dalam derajat.

publik statis Quaternion identitas ()

Dapatkan Kuaternion yang ditetapkan ke identitas

publik statis Vector3 inverseRotationVector (Quaternion q, Vector3 src)

Parameter
q
src

publik Kuaternion warna terbalik ()

Dapatkan Kuaternion dengan rotasi yang berlawanan

Hasil
  • rotasi yang berlawanan

publik statis Quaternion lookRotation (Vector3 forwardInWorld, Vector3wantUpInWorld)

Dapatkan Kuaternion baru yang mewakili rotasi ke arah maju yang ditentukan. Jika upInWorld bersifat ortogonal terhadap forwardInWorld, maka sumbu Y sejajar dengan diinginkanUpInWorld.

Parameter
teruskanDalamDunia
yang diinginkanUpInWorld

publik statis Quaternion mengalikan (Quaternion lhs, Quaternion rhs)

Buat Quaternion dengan menggabungkan dua Perkalian kuarter(lhs, rhs) yang setara dengan melakukan rotasi rhs, maka rotasi lhs Pengurutan ini penting untuk operasi ini.

Parameter
lhs
rhs
Hasil
  • Rotasi gabungan

boolean publik normalisasi ()

Mengubah skala kuat ke panjang satuan.

Jika Kuaternion tidak dapat diskalakan, Kuat disetel ke identitas dan nilai salah ditampilkan.

Hasil
  • true jika Quaternion bukan nol

publik Kuaternion dinormalisasi ()

Dapatkan Kuaternion dengan rotasi yang cocok, tetapi diskalakan ke panjang unit.

Hasil
  • kuaternisasi diskalakan ke panjang satuan, atau nol jika itu tidak dapat dilakukan.

publik statis Vector3 rotateVector (Quaternion q, Vector3 src)

Merotasi Vektor3 dengan Kuaternion

Parameter
q
src
Hasil
  • Vektor yang dirotasi

publik statis Quaternion rotationBetweenVectors (Vector3 awal, Vector3 end)

Dapatkan Kuaternion baru yang mewakili rotasi dari satu vektor ke vektor lain.

Parameter
mulai
selesai

publik void set (float qx, float qy, float qz, float qw)

Menetapkan setiap nilai dan menormalisasi Kuaternion

Parameter
QX
kq
QZ
QW

publik void set (sumbu Vector3, sudut float)

Perbarui Kuaternion ini menggunakan sumbu/sudut untuk menentukan rotasi

Parameter
Axis
sudut

publik void set (Quaternion q)

Salin nilai dari Kuaternion lain ke yang ini

Parameter
q

publik void setIdentity ()

Tetapkan Kuaternion ke identitas

publik statis Quaternion slerp (Quaternion awal, Quaternion akhir, float t)

Parameter
mulai
selesai
t

publik String toString ()