Funkcje kwartyli RenderScript

Przegląd

Poniższe funkcje manipulowają kwantionami.

Podsumowanie

Funkcje
rsQuaternionAdd Dodaj dwie kwaternony
rsQuaternionConjugate Sprzęgaj kwaternion
rsQuaternionDot Iloczyn skalarny dwóch kwaternionów
rsQuaternionGetMatrixUnit Pobierz macierz rotacji z kwaternionu
rsQuaternionLoadBalance Utwórz kwaternion rotacji
rsQuaternionLoadBalanceUnit Kwartionek reprezentujący obrót wokół dowolnego wektora jednostkowego
rsQuaternionMultiply Pomnóż kwartion przez skalar lub inny kwionion
rsQuaternionNormalize Normalizuj kwaternion
rsQuaternionSet, Utwórz kwaternion
rsQuaternionSlerp Sferyczna interpolacja liniowa między 2 kwaternionami

Funkcje

rsQuaternionAdd : dodaj 2 kwartiony

void rsQuaternionAdd(rs_quaternion* q, const rs_quaternion* rhs);
Parametry
qDocelowy kwaternion, do którego chcesz dodać elementy.
RhsKwartion do dodania.

Dodaje 2 kwartiony, tj. *q += *rhs;

rsQuaternionConjugate : sprzężony z kwaternionem

void rsQuaternionConjugate(rs_quaternion* q);
Parametry
qKwartion do zmodyfikowania.

Sprzęga kwanton.

rsQuaternionDot : iloczyn skalarny 2 kwartionów

float rsQuaternionDot(const rs_quaternion* q0, const rs_quaternion* q1);
Parametry
kw.Pierwsza kwaternion.
1 kw.Drugie kwaternion.

Zwraca iloczyn skalarny dwóch kwaternionów.

rsQuaternionGetMatrixUnit : pobierz macierz rotacji z kwartionu

void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, const rs_quaternion* q);
Parametry
minOtrzymana macierz.
qZnormalizowany kwaternion.

Oblicza macierz rotacji ze znormalizowanego kwaternionu.

rsQuaternionLoadBalance : utwórz kwaternion rotacji

void rsQuaternionLoadBalance(rs_quaternion* q, zmiennoprzecinkowy, float x, float y, float z);
Parametry
qDocelowy kwaternion.
zgniłyKąt obracania.
xSkładnik X wektora.
YSkładnik Y wektora.
ZKomponent Z wektora.

Wczytuje kwartion, który reprezentuje obrót dowolnego wektora (nie musi to być jednostka)

rsQuaternionLoadBalanceUnit : kwaterion reprezentujący rotację dowolnego wektora jednostkowego

void rsQuaternionLoadBalanceUnit(rs_quaternion* q, rotacja zmiennoprzecinkowa, zmiennoprzecinkowa x, zmiennoprzecinkowa y, float z);
Parametry
qDocelowy kwaternion.
zgniłyKąt obrotu w radianach.
xSkładnik X wektora.
YKomponent Y wektora.
ZKomponent Z wektora.

Wczytuje kwaternion reprezentujący rotację wokół dowolnego wektora jednostkowego.

rsQuaternionMultiply : pomnożenie kwartionu przez skalar lub inny kwaternion

void rsQuaternionMultiply(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionMultiply(rs_quaternion* q, skalar zmiennoprzecinkowy);
Parametry
qDocelowy kwaternion.
wartość skalarnaSkalar, przez który mnożysz kwionion.
RhsKwartion, przez który mnożysz docelową kwintion.

Mnoży kwartion przez skalar lub inny kwartion, np. *q = *q * scalar; lub *q = *q * *rhs;.

rsQuaternionNormalize : normalizacja kwartionu

void rsQuaternionNormalize(rs_quaternion* q);
Parametry
qKwartionnik do normalizacji.

Normalizuje kwaternion.

rsQuaternionSet : utwórz kwaternion

void rsQuaternionSet(rs_quaternion* q, const rs_quaternion* rhs);
void rsQuaternionSet(rs_quaternion* q, float w, float x, float y, float z);
Parametry
qDocelowy kwaternion.
WKomponent W.
xKomponent X.
YKomponent Y.
ZKomponent Z.
RhsKwaternion źródłowy.

Tworzy kwanton z jego 4 elementów lub z innego kwionionu.

rsQuaternionSlerp : sferyczna interpolacja liniowa między 2 kwaternionami

void rsQuaternionSlerp(rs_quaternion* q, const rs_quaternion* q0, const rs_quaternion* q1, float t);
Parametry
qKwaternion wyniku z interpolacji.
kw.Pierwsze wejście kwionionu.
1 kw.Drugi kwionion wejściowy.
TZakres interpolacji.

Wykonuje sferyczną interpolację liniową między dwoma kwartionami.