Přivrácené a odvrácené stěny
-
- Matfyz(ák|ačka) level I
- Příspěvky: 10
- Registrován: 21. 5. 2006 13:27
- Typ studia: Informatika Bc.
- Bydliště: Dejvice
- Kontaktovat uživatele:
Přivrácené a odvrácené stěny
Nevíte někdo jak se určí přivrácená a odvrácená stěna tělesa? Pelikán má na slidech, že pomocí normály, ale nějak mě nenapadá jakou orientaci bych musel dát hranám nebo s čím bych měl tu normálu násobit, nebo nakonec jak se liší normála přivrácené a odvrácené stěny?
- dr.Bik
- Matfyz(ák|ačka) level II
- Příspěvky: 73
- Registrován: 9. 6. 2005 14:13
- Typ studia: Informatika Bc.
- Bydliště: Prágl
- Kontaktovat uživatele:
Ja si myslim, ze je to takhle (pozor, nasledujici radky se nemusi nutne zakladat na pravde ale v OpenGL to takhle nejak funguje)
1) Normala je tam pouzita dost nesikovne, protoze kazda rovina v 3D ma normaly 2 (a pak nasobky, ale ja budu predpokladat, ze normaly jsou normalizovany) a ty jsou presne opacny.
2) Aby slo jednoduse urcit, ktera stena je privracena, potrebuje to od tvurce sceny konzistenci v tom, jak bude ty steny zadavat. Predpokladam, ze scena je tvorena polygonama (hezkejma, takovejma, ktery jsou v jedny rovine)
Kazda stena ma 2 strany, jedna je videt zevnitr telesa a jedna z vnejsku. Pozaduje se, kdyz se podivas na tu stranu, ktera jakoby miri ven z objektu, aby jednotlivy vertexy byly zadany po smeru hodinovejch rucicek (nebo mozna je to obracene, nicmene na principu to nic nemeni)
3) Vezmes 1., 2. a posledni bod v tomhle poradi a udelas z nich 2 vektory mirici z 1. bodu (tzn. 1. a 2, 1. a posledni) a udelas vektorovej soucin - tak dostanes jednu normalu pro kazdou stenu (je to teda lepsi jeste znormalizovat)
4) Dal si vezmes smer tvyho pohledu a porovnas ho s tou normalou a rozhodnes se podle toho, jestli je uhel mezi normalou a tvym pohledem z rozmezi (-Pi/2, Pi/2) nebo ne.
Tady normalizaci vlastne ani nepotrebujes, jde jen o znaminko skalarniho soucinu tech vektoru, ale je hezky mit vektory znormalizovany, ne
Takhle nejak to funguje (mam hrozne blbou 3D predstavivost, takze jak se mas konkretne rozhodnout bych musel chvili badat)
1) Normala je tam pouzita dost nesikovne, protoze kazda rovina v 3D ma normaly 2 (a pak nasobky, ale ja budu predpokladat, ze normaly jsou normalizovany) a ty jsou presne opacny.
2) Aby slo jednoduse urcit, ktera stena je privracena, potrebuje to od tvurce sceny konzistenci v tom, jak bude ty steny zadavat. Predpokladam, ze scena je tvorena polygonama (hezkejma, takovejma, ktery jsou v jedny rovine)
Kazda stena ma 2 strany, jedna je videt zevnitr telesa a jedna z vnejsku. Pozaduje se, kdyz se podivas na tu stranu, ktera jakoby miri ven z objektu, aby jednotlivy vertexy byly zadany po smeru hodinovejch rucicek (nebo mozna je to obracene, nicmene na principu to nic nemeni)
3) Vezmes 1., 2. a posledni bod v tomhle poradi a udelas z nich 2 vektory mirici z 1. bodu (tzn. 1. a 2, 1. a posledni) a udelas vektorovej soucin - tak dostanes jednu normalu pro kazdou stenu (je to teda lepsi jeste znormalizovat)
4) Dal si vezmes smer tvyho pohledu a porovnas ho s tou normalou a rozhodnes se podle toho, jestli je uhel mezi normalou a tvym pohledem z rozmezi (-Pi/2, Pi/2) nebo ne.
Tady normalizaci vlastne ani nepotrebujes, jde jen o znaminko skalarniho soucinu tech vektoru, ale je hezky mit vektory znormalizovany, ne
Takhle nejak to funguje (mam hrozne blbou 3D predstavivost, takze jak se mas konkretne rozhodnout bych musel chvili badat)
Jednou z hlavních příčin zániku Římského imperia bylo, že bez nuly nemohli Římané ohlásit úspěšné ukončení svých céčkových programů.
-
- Matfyz(ák|ačka) level I
- Příspěvky: 10
- Registrován: 21. 5. 2006 13:27
- Typ studia: Informatika Bc.
- Bydliště: Dejvice
- Kontaktovat uživatele:
Tohle zní logicky, tak něco bych si i myslel, ale jak bylo zmíněno výše: "Každá stěna má dvě normály" a pochopil jsem, že tu správnou určím jedině tak, že mám systém v tom jak ty stěny zadávám. Každopádně dík.Petr H píše:Stěna tělesa je přivrácená pokud normála stěny svírá se směrem pohledu tupý úhel, pokud je sevřený úhel ostrý, je stěna odvrácená. Normála přivrácené stěny tedy míří od pozorovatele, normála odvrácené stěny míří k pozorovateli.
-
- Matfyz(ák|ačka) level I
- Příspěvky: 13
- Registrován: 20. 1. 2006 23:48
- Typ studia: Informatika Bc.
- Bydliště: 17. listopad A1602
- Kontaktovat uživatele:
Dot product
..přesně tak, takže stačí udělat skalární součin.Petr H píše:Stěna tělesa je přivrácená pokud normála stěny svírá se směrem pohledu tupý úhel, pokud je sevřený úhel ostrý, je stěna odvrácená. Normála přivrácené stěny tedy míří od pozorovatele, normála odvrácené stěny míří k pozorovateli.