.[ ČeskéHry.cz ].
Quaternion w component

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
LukeMak



Založen: 08. 02. 2013
Příspěvky: 16

PříspěvekZaslal: 26. únor 2013, 14:25:13    Předmět: Quaternion w component Odpovědět s citátem

Ahoj,

nemuzu dojit na to, v jakym stavu musi byt quaternion aby slo spocitat jeho w komponentu podle nasledujiciho vzorce. Myslel jsem, ze ho staci normalizovat. Bud to delam blbe, nebo to tak neni. Nevite prosim?

kód:
glm::quat quat;
// nastaveni hodnot quat.x, quat.y, quat.z
// vypocet w
float t = 1.0f - ( quat.x * quat.x ) - ( quat.y * quat.y ) - ( quat.z * quat.z );
quat.w = ( t < 0.0f ) ? 0.0f : -sqrtf(t);
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 610

PříspěvekZaslal: 27. únor 2013, 14:11:13    Předmět: Re: Quaternion w component Odpovědět s citátem

LukeMak napsal:
Ahoj,

nemuzu dojit na to, v jakym stavu musi byt quaternion aby slo spocitat jeho w komponentu podle nasledujiciho vzorce. Myslel jsem, ze ho staci normalizovat. Bud to delam blbe, nebo to tak neni. Nevite prosim?

kód:
glm::quat quat;
// nastaveni hodnot quat.x, quat.y, quat.z
// vypocet w
float t = 1.0f - ( quat.x * quat.x ) - ( quat.y * quat.y ) - ( quat.z * quat.z );
quat.w = ( t < 0.0f ) ? 0.0f : -sqrtf(t);

Čau.
Skoro.
Nejdřív quaternion znormalizuješ a pak, pokud je w > 0, tak zneguješ (všechny komponenty).
EDIT:
mimochodem, nechceš to radši udělat takhle?
kód:
glm::quat quat;
// nastaveni hodnot quat.x, quat.y, quat.z
// vypocet w
float t = 1.0f - ( quat.x * quat.x ) - ( quat.y * quat.y ) - ( quat.z * quat.z );
quat.w = ( t < 0.0f ) ? 0.0f : sqrtf(t);


a negovat pokud je w < 0? Je to totéž a vyhneš se zbytečné negaci navíc.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
LukeMak



Založen: 08. 02. 2013
Příspěvky: 16

PříspěvekZaslal: 27. únor 2013, 15:53:56    Předmět: Odpovědět s citátem

Aha, tak proto mi to pri nekterych rotacich fungovalo, zdalo se mi to divny. Smile

Moc dik Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna