RenderScript Kuterniyon İşlevleri

Genel bakış

Aşağıdaki işlevler dördüncüleri yönetir.

Özet

Fonksiyonlar
rsQuaternionEkle İki dördün toplama
rsQuaternionConjugate Kuterniyonu eşle
rsQuaternionNokta İki dördün nokta çarpımı
rsQuaternionGetMatrixUnit Bir dördün dönme matrisi alma
rsQuaternionLoadDöndür Rotasyon dördünü oluşturma
rsQuaternionLoadLoadUnit Rastgele bir birim vektör hakkındaki dönüşü temsil eden kuaterniyon
rsQuaternionMultiply Bir dördünü skaler veya başka bir dördün ile çarpma
rsQuaternionNormalleştirme Bir dörtlüyü normalleştirme
rsQuaternionSet Dörtgen oluştur
rsQuaternionSlerp İki dördün arasındaki küresel doğrusal interpolasyon

Fonksiyonlar

rsQuaternionAdd : İki dördün ekleyin

void rsQuaternionAdd(rs_quaternion* q, tutarlı rs_quaternion* rhs);
Parametreler
qEklenecek hedef dördün.
saEklenecek kuaternion.

İki dördün toplanması, ör. *q += *rhs;

rsQuaternionConjugate : Kuternionları eşleyin

void rsQuaternionConjugate(rs_quaternion* q);
Parametreler
qDeğiştirilecek kuaternion.

Kuterniyonu birleştirir.

rsQuaternionDot : İki dördün nokta çarpımı

kayan noktalı rsQuaternionDot(const rs_quaternion* q0, tutarlı rs_quaternion* q1);
Parametreler
ç0İlk dördün.
ç1İkinci dördün.

İki dördün nokta çarpımını döndürür.

rsQuaternionGetMatrixUnit : Bir dördenden rotasyon matrisi alın

void rsQuaternionGetMatrixUnit(rs_matrix4x4* m, tutarlı rs_quaternion* q);
Parametreler
dk.Sonuç matrisi.
qNormalleştirilmiş dördün.

Normalleştirilmiş dördün temelinde bir dönme matrisi hesaplar.

rsQuaternionLoadLoad : Rotasyon dördünü oluşturun

void rsQuaternionLoadLoad(rs_quaternion* q, float rot, float x, float y, float z);
Parametreler
qHedef dördün.
çürükDöndürülecek açı.
xX bileşeni.
yBir vektörün Y bileşeni.
zBir vektörün Z bileşeni.

Rastgele bir vektör hakkındaki dönüşü temsil eden bir dördün yükler (birim olması gerekmez)

rsQuaternionLoadLoadUnit : Rastgele bir birim vektör hakkındaki rotasyonu temsil eden kuaternion

void rsQuaternionLoadLoadUnit(rs_quaternion* q, float rot, float x, float y, float z);
Parametreler
qHedef dördün.
çürükDöndürülecek açı (radyan cinsinden).
xX bileşeni.
yY bileşeni.
zZ bileşeni bulunur.

Rastgele bir birim vektör hakkında dönmeyi temsil eden bir dördün yükler.

rsQuaternionMultiply : Bir dördünü skaler veya başka bir dördün ile çarpın

void rsQuaternionMultiply(rs_quaternion* q, sabit rs_quaternion* rhs);
void rsQuaternionMultiply(rs_quaternion* q, kayan skaler);
Parametreler
qHedef dördün.
skalerDörtgenin çarpılacağı skaler değeri.
saHedef dördün ile çarpılması için dördüncüsü.

Bir dördeyi skaler veya başka bir dördeyle çarpar, ör. *q = *q * scalar; veya *q = *q * *rhs;.

rsQuaternionNormalize : Bir dördeyi normalleştirme

void rsQuaternionNormalize(rs_quaternion* q);
Parametreler
qNormalleştirilecek kuaternion.

Kuaterniyonu normalleştirir.

rsQuaternionSet : Çeyrek oluşturun

void rsQuaternionSet(rs_quaternion* q, tutarlı rs_quaternion* rhs);
void rsQuaternionSet(rs_quaternion* q, kayan w, kayan x, kayan y, kayan z);
Parametreler
qHedef dördün.
wW bileşeni.
xX bileşeni.
yY bileşeni.
zZ bileşeni.
saKaynak dördüncüsü.

Dört bileşeninden veya başka bir dördenden bir dördün oluşturur.

rsQuaternionSlerp : İki dördün arasındaki küresel doğrusal interpolasyon

void rsQuaternionSlerp(rs_quaternion* q, tutarlı rs_quaternion* q0, tutarlı rs_quaternion* q1, kayan t);
Parametreler
qİnterpolasyondan sonuç dördüncüsü.
ç0Birinci giriş dördüncüsü.
ç1İkinci girdi dördünü.
tAra değer olarak ne kadar hesaplama yapılacağı.

İki dördün arasında küresel doğrusal interpolasyon gerçekleştirir.