Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
LukeMak
Založen: 08. 02. 2013 Příspěvky: 16
|
Zaslal: 26. únor 2013, 14:25:13 Předmět: Quaternion w component |
|
|
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 |
|
 |
mar
Založen: 16. 06. 2012 Příspěvky: 610
|
Zaslal: 27. únor 2013, 14:11:13 Předmět: Re: Quaternion w component |
|
|
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 |
|
 |
LukeMak
Založen: 08. 02. 2013 Příspěvky: 16
|
Zaslal: 27. únor 2013, 15:53:56 Předmět: |
|
|
Aha, tak proto mi to pri nekterych rotacich fungovalo, zdalo se mi to divny.
Moc dik  |
|
Návrat nahoru |
|
 |
|
|
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