Fungsi Kuaternion RenderScript

Ringkasan

Fungsi berikut memanipulasi kuarternion.

Ringkasan

Fungsi
rsQuaternionAdd Tambahkan dua angka empat
rsQuaternionConjugate Menggabungkan kuaternion
rsQuaternionDot Perkalian titik dari dua kuaternion
rsQuaternionGetMatrixUnit Mendapatkan matriks rotasi dari kuaternion
rsQuaternionLoadRotate Membuat kuaternion rotasi
rsQuaternionLoadRotateUnit Kuaternion yang mewakili rotasi terkait vektor satuan arbitrer
rsQuaternionMultiply Mengalikan kuaternion dengan skalar atau kuaternion lainnya
rsQuaternionNormalize Menormalisasi kuarternion
rsQuaternionSet Membuat angka empat
rsQuaternionSlerp Jenis interpolasi linier bola antara dua kuaternion

Fungsi

rsQuaternionAdd : Tambahkan dua angka empat

void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs);
Parameter
qKuaternion tujuan yang akan ditambahkan.
rhsKuaternion untuk ditambahkan.

Menambahkan dua angka empat, yaitu *q += *rhs;

rsQuaternionConjugate : Menyusun kuarternion

membatalkan rsQuaternionConjugate(rs_quaternion* q);
Parameter
qKuaternion yang akan diubah.

Mengkonjugasikan angka empat.

rsQuaternionDot : Perkalian titik dari dua angka empat

float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1);
Parameter
p0Kuaternion pertama.
Kuartal 1Kuaternion kedua.

Menampilkan perkalian titik dari dua angka empat.

rsQuaternionGetMatrixUnit : Mendapatkan matriks rotasi dari kuaternion

void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q);
Parameter
mMatriks yang dihasilkan.
qKuaternion yang dinormalisasi.

Menghitung matriks rotasi dari kuaternion yang dinormalisasi.

rsQuaternionLoadRotate : Membuat kuaternion rotasi

void rsQuaternionLoadRotate(rs_quaternion* q, {i>float rot<i}, float x, float y, float z);
Parameter
qKuaternion tujuan.
busukSudut yang digunakan untuk memutar.
xKomponen X dari suatu vektor.
yY dari sebuah vektor.
zKomponen Z dari vektor.

Memuat kuarternion yang merepresentasikan rotasi tentang vektor arbitrer (tidak harus berupa satuan)

rsQuaternionLoadRotateUnit : Kuaternion yang mewakili rotasi tentang vektor unit arbitrer

rsQuaternionLoadRotateUnit(rs_quaternion* q, {i>float rot<i}, float x, float y, float z);
Parameter
qKuaternion tujuan.
busukSudut yang akan berputar, dalam radian.
xKomponen X dari vektor.
yY dari vektor.
zKomponen Z vektor.

Memuat kuarternion yang mewakili rotasi tentang vektor unit arbitrer.

rsQuaternionMultiply : Mengalikan satu angka empat dengan skalar atau angka empat lainnya

void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionMultiply(rs_quaternion* q, skalar float);
Parameter
qKuaternion tujuan.
skalarSkalar untuk mengalikan kuaternion.
rhsKuaternion untuk mengalikan kuaternion tujuan.

Mengalikan kuaternion dengan skalar atau angka empat lainnya, misalnya *q = *q * scalar; atau *q = *q * *rhs;.

rsQuaternionNormalize : Menormalisasi kuarternion

void rsQuaternionNormalize(rs_quaternion* q);
Parameter
qKuaternion untuk melakukan normalisasi.

Menormalisasi kuarternion.

rsQuaternionSet : Membuat angka empat

void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs);
rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z);
Parameter
qKuaternion tujuan.
wKomponen W.
xKomponen X.
yY.
zKomponen Z.
rhsKuaternion sumber.

Membuat angka empat dari empat komponennya atau dari kuaternion lain.

rsQuaternionSlerp : Jenis interpolasi linier sferikal antara dua angka empat

void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t);
Parameter
qKuaternion hasil dari interpolasi.
p0Kuaternion input pertama.
Kuartal 1Kuaternion input kedua.
tSeberapa banyak interpolasi yang terjadi.

Melakukan interpolasi linier sferis antara dua angka empat.