Vizualizációs módszerek

Innen: TételWiki
A lap korábbi változatát látod, amilyen Jeffrey (vitalap | szerkesztései) 2011. június 11., 20:04-kor történt szerkesztése után volt. (Képalkotó módszerek)

Képalkotó módszerek

Ha 3D-s objektumokat szeretnénk megjeleníteni, valamennyire is kötődve a valóságos fényviszonyok reprodukálására, akkor alapvetően két fajta megközelítésből kell választanunk. Az egyik a fizikailag intuitív sugárkövetés alapú módszerek családja. Itt lényegében az intenzitást sugarak terjesztik az objektumok, így például a képernyőt reprezentáló kamera felületei között. A másik módszer, a raszterizáció eleve kihasználja, hogy a képet diszkrét pixelekből álló 2D-s rácson akarjuk előállítani és a problémát lényegében a felületek vetületeinek kitöltésére transzformálja.

Raszterizáció

Legyenek adottak a felületek, amelyeket le szeretnénk rajzolni a képernyőre. Ez nyilvánvalóan tartalmaz egy vetítést a 3D-s térből a 2D-s képfelületre. Ezt a lépést a raszterizáció a felületek (tipikusan poligonok) analitikus transzformációjával állítja elő. Poligonok esetén ez a csúcspontok levetítését jelenti. Ezek után két feladat van: előállítani pixelere diszkretizált képfelületen az alakzat körvonalát, majd kitölteni azt.

Négyzetrácsos képsík esetén mindkét feladat igen hatkékony algoritmusokkal valósítható meg. Az alakzat körvonalának előállítására a legegyszerűbb módszer a Bresemham-approximáció. Ez megadott két pont között sorban bejárja azokat a pixeleket, amelyeken a vonal áthalad. Az eljárás lényege, hogy a kindulási pontnak megfelelő pixelnél inicializál egy hiba változót, amit az egyenes meredekségének megfelelő értékkel növel. Amikor ez a hiba eléri azt a küszöböt, amikor az egyenes már a másik pixelhez van közelebb, akkor eggyel növeli az aktuális koordinátát és csökkenti a hibát. Az eljárás előnye, hogy lebegőpontos műveletek nélkül mnegvalósítható, olyan hatékonyan, hogy a belső ciklus léptetése csupűán néhány órajelet igényel.

Az alakzat körvonala után annak kitöltése úgy történhet, hogy meghatározzuk körvonal befoglaló téglalapját, és minden sorban a befoglaló széléről elindulva megnézzük, hogy mikor érünk el a körvonalhoz tartozó (előre megjelölt) pixelt. Ekkortól minden pixelt kitöltünk addig, amíg újra egy eleve már megjelölt pixelhez nem értünk.

A raszterizációs módszerek valóságot imitáló trükkjei ott jelennek meg, hogy milyen színértékeket rendelünk a kitöltés során a pixelekhez. Mivel poligonjaink vannak, ezek mindig háromszögekre bonthatóak (sőt, eleve így vannak tárolva). Minden a fényhatásokat jellemző paramétert a háromszögek csúcsaiban szokás eltárolni (a pozíción túl a felületi normális, adott pont beli szín, felületi textúra koordináta stb.), majd ezeket az értékeket interpolálni a háromszög felületén az aktuális kitöltési pontokra.

Igen egyszerű példaként, tekintsük a legegyszerűbb megvilágítást: ha egy háromszög a pontszerű fényforrás felé néz, akkor világosabb, ha elfele, akkor sötétebb. A legegyszerűbb esetben ezt a fényforrás irányának (l) és a felületi normálisnak (n) az irányával lehet elérni, Így az adott pixel intenzitás értéke a két normálvektor skalárisszorzata:

I = \mathrm{max}(0, \vec{n}\vec{l})

ahol a skalárisszorzat negatív lenne, ott zérus lesz a megvilágítás és így az intenzitás is.

Sugárkövetés

Szín-rendszerek

MSc záróvizsga tételek
Tételek Soktest rendszerek | Transzportfolyamatok | Véletlen gráfok generálása, tulajdonságai | Elsőrendű és folytonos fázisátalakulások | Válasz- és korrelációs függvények, fluktuáció-disszipáció tétel | Sztochasztikus folyamatok | A statisztikus fizikai szimulációk alapjai és a Monte Carlo módszer | Dinamikai rendszerek, kaotikus viselkedés | Adatelemzés: lineáris és nem lineáris regresszió egy modellen bemutatva | Adatelemzés: bootstrap modellek | TCP hálózat működése | Adatelemzés: ARCH, GARCH folyamatok | Numerikus módszerek | Vizualizációs módszerek