Klár Gergely Informatikai Kar. 2010/2011. tavaszi félév

Hasonló dokumentumok
Tartalom. Megjegyzések. Valasek Gábor Befoglaló keretek. Felosztások. Informatikai Kar

Hajder Levente 2017/2018. II. félév

Tartalom. Tartalom. Raycasting. Hajder Levente 2017/2018. II. félév. Raycasting. Raycasting. Sugár és háromszög metszéspontja

Hajder Levente 2018/2019. II. félév

Hajder Levente 2014/2015. tavaszi félév

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Hajder Levente 2017/2018. II. félév

Tartalom. Tartalom. Anyagok Fényforrás modellek. Hajder Levente Fényvisszaverési modellek. Színmodellek. 2017/2018. II.

Számítógépes Grafika mintafeladatok

Számítógépes Grafika mintafeladatok

2014/2015. tavaszi félév

Szirmay-Kalos László. L(x, ω)=l e (x,ω)+ L(h(x,-ω),ω) f r (ω,x, ω) cos θ dω A jobb oldali radiancia:

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Árnyalás, env mapping. Szécsi László 3D Grafikus Rendszerek 3. labor

Láthatósági kérdések

Elengedhetetlen a játékokban, mozi produkciós eszközökben Nélküle kvantum hatás lép fel. Az objektumok áthaladnak a többi objektumon

Robotika. Kinematika. Magyar Attila

10. Koordinátageometria

I. Vektorok. Adott A (2; 5) és B ( - 3; 4) pontok. (ld. ábra) A két pont által meghatározott vektor:

Transzformációk. Szécsi László

Megoldás: Mindkét állítás hamis! Indoklás: a) Azonos alapú hatványokat úgy szorzunk, hogy a kitevőket összeadjuk. Tehát: a 3 * a 4 = a 3+4 = a 7

Klár Gergely 2010/2011. tavaszi félév

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT. Koordináta-geometria

Tárgy. Forgóasztal. Lézer. Kamera 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

Koordináta-geometria feladatok (középszint)

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Koordináta-geometria

KOORDINÁTA-GEOMETRIA

Klár Gergely

Koordináta-geometria feladatgyűjtemény

Nagy András. Feladatok a koordináta-geometria, egyenesek témaköréhez 11. osztály 2010.

Tartalom. Hajder Levente 2016/2017. I. félév

Minimum követelmények matematika tantárgyból 11. évfolyamon

Ütközések. Szécsi László

Tartalom. Tartalom. Hajder Levente 2018/2019. I. félév

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Koordináta-geometria

Koordinátageometria. M veletek vektorokkal grakusan. Szent István Egyetem Gépészmérnöki Kar Matematika Tanszék 1

Koordináta-geometria feladatgyűjtemény (A feladatok megoldásai a dokumentum végén találhatók)

Hajder Levente 2016/2017.

Helyvektorok, műveletek, vektorok a koordináta-rendszerben

Skaláris szorzat: a b cos, ahol α a két vektor által bezárt szög.

Érettségi feladatok Koordinátageometria_rendszerezve / 5

Maga a tématerület így nagyon nagy. A fények pontos fizikai szimulációja kimondottan számításigényes

A gradiens törésmutatójú közeg I.

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

A Hamilton-Jacobi-egyenlet

Érettségi feladatok: Koordináta-geometria 1/5

Denavit-Hartenberg konvenció alkalmazása térbeli 3DoF nyílt kinematikai láncú hengerkoordinátás és gömbi koordinátás robotra

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások

9. Írjuk fel annak a síknak az egyenletét, amely átmegy az M 0(1, 2, 3) ponton és. egyenessel;

Vektorok és koordinátageometria

Összeállította: dr. Leitold Adrien egyetemi docens

NULLADIK MATEMATIKA ZÁRTHELYI

Koordinátageometria Megoldások

Koordináta-geometria alapozó feladatok

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

5. házi feladat. AB, CD kitér élpárra történ tükrözések: Az ered transzformáció: mivel az origó xpont, így nincs szükség homogénkoordinátás

Koordináta-geometria. Fogalom. Jelölés. Tulajdonságok, definíciók

3D koordináta-rendszerek

Exponenciális és logaritmusos kifejezések, egyenletek

5. előadás. Skaláris szorzás

Koordináta-geometria II.

Analitikus térgeometria

Koordinátageometriai gyakorló feladatok I ( vektorok )

Panorámakép készítése

Hajder Levente 2017/2018. II. félév

Sugárkövetési algoritmusok (2. rész)

A kör. A kör egyenlete

Klár Gergely 2010/2011. tavaszi félév

Tömegpontok mozgása egyenes mentén, hajítások

= Y y 0. = Z z 0. u 1. = Z z 1 z 2 z 1. = Y y 1 y 2 y 1

egyenletrendszert. Az egyenlő együtthatók módszerét alkalmazhatjuk. sin 2 x = 1 és cosy = 0.

Az egyenes és a sík analitikus geometriája

10. Tétel Háromszög. Elnevezések: Háromszög Kerülete: a + b + c Területe: (a * m a )/2; (b * m b )/2; (c * m c )/2

Síklapú testek. Gúlák, hasábok Metszésük egyenessel, síkkal

6Előadás 6. Fénytörés közeghatáron

VEKTOROK. 1. B Legyen a( 3; 2; 4), b( 2; 1; 2), c(3; 4; 5), d(8; 5; 7). (a) 2a 4c + 6d [(30; 10; 30)]

2. Adott a valós számok halmazán értelmezett f ( x) 3. Oldja meg a [ π; π] zárt intervallumon a. A \ B = { } 2 pont. függvény.

Elemi matematika szakkör

3. tétel Térelemek távolsága és szöge. Nevezetes ponthalmazok a síkon és a térben.

OTKA Nyilvántartási szám: T ZÁRÓJELENTÉS

Matematika (mesterképzés)

SDL_Universe SDL, C++, 3D szoftver renderelő

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

A Föld alakja TRANSZFORMÁCIÓ. Magyarországon még használatban lévő vetületi rendszerek. Miért kell transzformálni? Főbb transzformációs lehetőségek

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

(d) a = 5; c b = 16 3 (e) b = 13; c b = 12 (f) c a = 2; c b = 5. Számítsuk ki minden esteben a háromszög kerületét és területét.

MATEMATIKA HETI 5 ÓRA

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

OPTIKA. Geometriai optika. Snellius Descartes-törvény szeptember 19. FIZIKA TÁVOKTATÁS

SZE, Doktori Iskola. Számítógépes grafikai algoritmusok. Összeállította: Dr. Gáspár Csaba. Felületmegjelenítés

Koordináta-geometria feladatok (emelt szint)

Mi a pont és a vektor? Milyen műveleteket végezhetünk el a pontokon és vektorokon? Pont: Vektor: Műveletek:

11. Előadás Gradiens törésmutatójú közeg II.

Lin.Alg.Zh.1 feladatok

8. előadás. Kúpszeletek

3 függvény. Számítsd ki az f 4 f 3 f 3 f 4. egyenlet valós megoldásait! 3 1, 3 és 5 3 1

KRISTÁLYOK GEOMETRIAI LEÍRÁSA

Átírás:

Számítógépes Grafika Klár Gergely tremere@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar 2010/2011. tavaszi félév

Tartalom I Sugárkövetés 1 Sugárkövetés 2 3

Tartalom Sugárkövetés Sugarak indítása Pszeudókód 1 Sugárkövetés Sugarak indítása Pszeudókód 2 3

Sugarak indítása Pszeudókód Albrecht Dürer, 1525

Suga rko vete s Gyorsı ta si leheto se gek Foton ko vete s Egyszeru sı tett illumina cio s egyenlet Sugarak indı ta sa Pszeudo ko d Transzforma lt objektumok Minden pixelre egyma sto l fu ggetlenu l hata rozzuk meg azok szı ne t oldjuk meg az a rnyala si e s takara si feladatot. 5. elo ada s

Suga rko vete s Gyorsı ta si leheto se gek Foton ko vete s Egyszeru sı tett illumina cio s egyenlet Sugarak indı ta sa Pszeudo ko d Transzforma lt objektumok Minden pixelre egyma sto l fu ggetlenu l hata rozzuk meg azok szı ne t oldjuk meg az a rnyala si e s takara si feladatot. Turner Whitted, 1980 5. elo ada s

Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + f r ( x, ω, ω)l( x, ω )( ω n)dω Ω A fény útját két féle komponensre bontjuk: koherens és inkoherens komponensre Koherens eset Az optikának megfelelő ideális visszaverődés ( tükröződés ) és törés Tovább követjük a fény útját Inkoherens eset Minden egyéb Csak az absztrakt fényforrás direkt megvilágítását vesszük figyelembe

Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + f r ( x, ω, ω)l( x, ω )( ω n)dω Ω A fény útját két féle komponensre bontjuk: koherens és inkoherens komponensre Koherens eset Az optikának megfelelő ideális visszaverődés ( tükröződés ) és törés Tovább követjük a fény útját Inkoherens eset Minden egyéb Csak az absztrakt fényforrás direkt megvilágítását vesszük figyelembe

Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + f r ( x, ω, ω)l( x, ω )( ω n)dω Ω A fény útját két féle komponensre bontjuk: koherens és inkoherens komponensre Koherens eset Az optikának megfelelő ideális visszaverődés ( tükröződés ) és törés Tovább követjük a fény útját Inkoherens eset Minden egyéb Csak az absztrakt fényforrás direkt megvilágítását vesszük figyelembe

Koherens komponens Sugarak indítása Pszeudókód

Inkoherens komponens Sugarak indítása Pszeudókód

Sugarak indítása Pszeudókód helyett L( x, ω) = L e ( x, ω) + f r ( x, ω, ω)l( x, ω )( ω n)dω Ω L( x, ω) = L e ( x, ω) + k a L a + l Lights f r ( x, ω l, ω)l i ( x, ω l )( ω l n) + k r L( x, ω r ) + k t L( x, ω t )

Sugarak indítása Pszeudókód helyett L( x, ω) = L e ( x, ω) + f r ( x, ω, ω)l( x, ω )( ω n)dω Ω L( x, ω) = L e ( x, ω) + k a L a + l Lights f r ( x, ω l, ω)l i ( x, ω l )( ω l n) + k r L( x, ω r ) + k t L( x, ω t )

Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + f r ( x, ω l, ω)l i ( x, ω l )( ω l n) l Lights + k r L( x, ω r ) + k t L( x, ω t ) A szempozicóból sugarakat indítunk minden pixel középpontján keresztül. Ennek a sugárnak az irányát adja meg ω-t (minusz omega!). A sugár és a színtér objetumainak szemhez legközelebbi metszéspontja adja meg x-et.

Emisszió Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + l Lights f r ( x, ω l, ω)l i ( x, ω l )( ω l n) + k r L( x, ω r ) + k t L( x, ω t ) Az x felületi pontból, az ω nézeti irányból érkező radiancia, a felület saját sugárzása emissziója miatt.

Ambiens fény Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + l Lights f r ( x, ω l, ω)l i ( x, ω l )( ω l n) + k r L( x, ω r ) + k t L( x, ω t ) k a a felület, L a a környezet ambiens együtthatója. Az egyenlet ambiens tagja közelíti azt a fénymennyiséget, ami általánosan jelen van, minden felületet ér, azok helyzetétől és az absztrakt fényforrásoktól függetlenül.

Fényforrások Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + f r ( x, ω l, ω)l i ( x, ω l )( ω l n) l Lights + k r L( x, ω r ) + k t L( x, ω t ) Az inkoherens visszarődéseket fogalja össze a szummás tag Csak a fényforrások direkt hatását vesszük figyelembe És csak akkor, ha az az x felületi pontból látszik

Fényforrások Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + f r ( x, ω l, ω)l i ( x, ω l )( ω l n) l Lights + k r L( x, ω r ) + k t L( x, ω t ) ω l a fényforrásból a felületi pontba mutató egységvektor. f r ( x, ω l, ω) most csak a diffúz és spekuláris visszaverődést jellemző BRDF. ω l n a felületi normális és a fényforrás fele mutató vektor által bezárt szög koszinusza.

Fényforrások Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + f r ( x, ω l, ω)l i ( x, ω l )( ω l n) l Lights + k r L( x, ω r ) + k t L( x, ω t ) Ha az l fényforrás teljesítménye Φ l és poziciója x l akkor L i ( x, ω l ) = v( x, x l ) Φ l x x l 2. v( x, x l ) [0, 1] függvény: Mi van a felületi pont és a fényforrás között?

Fényforrások Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + v( x, x l ) [0, 1] függvény l Lights = 0, ha a fényforrás nem látható x-ből, = 1, ha igen, f r ( x, ω l, ω)l i ( x, ω l )( ω l n) + k r L( x, ω r ) + k t L( x, ω t ) (0, 1), ha átlatszó objektumok vannak a kettő között. v kiszámításához úgynevezett árnyéksugarat indítunk x-ből x l -fele, és az objektumokkal való metszését nézzük.

Tükröződés Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + f r ( x, ω l, ω)l i ( x, ω l )( ω l n) l Lights + k r L( x, ω r ) + k t L( x, ω t ) A tükörirányból érkező fényt k r arányban vesszük figyelembe. ω r az ideális tüköriránynak megfelelő beeső vektor. L( x, ω r ) kiszámítása azonos L( x, ω) kiszámításával (rekurzió!). Új sugár: szempozició helyett x, és a sugár iránya ω r.

Fénytörés Sugárkövetés Sugarak indítása Pszeudókód L( x, ω) = L e ( x, ω) + k a L a + f r ( x, ω l, ω)l i ( x, ω l )( ω l n) l Lights + k r L( x, ω r ) + k t L( x, ω t ) A törési-irányból érkező fényt k t arányban vesszük figyelembe. ω t a törésiránynak megfelelő beeső vektor. L( x, ω t ) kiszámítása megint azonos L( x, ω) kiszámításával (rekurzió!). Új sugár: szempozició helyett x, és a sugár iránya ω t.

Sugarak indítása Pszeudókód

Sugarak indítása Pszeudókód

Sugarak indítása Pszeudókód

Sugarak indítása Pszeudókód

Sugarak indítása Sugárkövetés Sugarak indítása Pszeudókód A szempozicióból indítunk sugarakat minden pixel középpontján keresztül. Hogyan kapjuk meg ezeket a sugarakat? Szem/kamera tulajdonságok: szempozició (eye), egy pont amire néz (center), felfele irányt megadó vektor (up), nyílásszög (fovx, fovy). Ezek segítségvel fogjuk megadni az i, j-dik pixel koordinátáit.

Sugarak indítása Pszeudókód

Sugarak indítása Pszeudókód Keressük a kamera által adott u, v, w (jobbkezes!) koordinátarendszert! Nézzen a kamera Z irányba! w = eye center eye center Az X tengely legyen merőleges mind w-re, mind az up irányra! u = up w up w Az Y tengely merőleges u-ra és w-re is: v = w u

i, j pixel koordinátái Sugárkövetés Sugarak indítása Pszeudókód Legyen p az i, j pixel középpontja. Ekkor Ahol p = eye + (αu + βv w). α = tan és β = tan ( fovx 2 + j width/2 ), width/2 ( fovy 2 + height/2 i ). hight/2

Sugarak indítása Sugárkövetés Sugarak indítása Pszeudókód void raytrace(camera c, Image img) { for (int j=0; j<img.height; ++j) for (int i=0; i<img.widht; ++i) { Ray r = CalcRay(c, i, j); img[i][j] = trace(r, 0); } }

trace függvény 1. Sugárkövetés Sugarak indítása Pszeudókód Color trace(ray r, int d) { if (d>max_d) return La; (q, x) = intersect(r); if (nincs metszéspont) return La; omega = -r.direction; c = Le(x, omega)+ k_a * La; foreach(light l in lights) { r_s = Ray(x, x_l - x); (q_s, x_s) = intersect(r_s); if (nincs metszéspont (x_s-x).length() > (x_l-x).length()) c += f_r(x, omega_l, omega) * omega_l.dot(n) * } //...

trace függvény 2. Sugárkövetés Sugarak indítása Pszeudókód } //... if (k_r(x) > 0) { r_r = Ray(x, reflect(r.direction, n)); c += k_r(x)*trace(r_r, d+1) } if (k_t(x) > 0) { r_t = Ray(x, refract(r.direction, n, eta)); c += k_t(x)*trace(r_t, d+1) } return c;

Sugarak indítása Pszeudókód Legyen M egy adott objektum transzformációs mátrixa. Feladat: Keressük r sugár és az M-mel transzformált objektum metszéspontját! Probléma: Hogyan transzformálunk egy gomböt? Megoldás: Transzformáljuk inkább a sugarat!

Sugarak indítása Pszeudókód Legyen M egy adott objektum transzformációs mátrixa. Feladat: Keressük r sugár és az M-mel transzformált objektum metszéspontját! Probléma: Hogyan transzformálunk egy gomböt? Megoldás: Transzformáljuk inkább a sugarat!

Sugarak indítása Pszeudókód Legyen M egy adott objektum transzformációs mátrixa. Feladat: Keressük r sugár és az M-mel transzformált objektum metszéspontját! Probléma: Hogyan transzformálunk egy gomböt? Megoldás: Transzformáljuk inkább a sugarat!

Sugarak indítása Pszeudókód Tétel Az r sugár és az M-mel transzformált objektum metszéspontja az M 1 -zel transzformált r sugár és az objektum metszéspontja. M R 4 4, homogén transzformáció Sugár kezdőpontja: p = (p x, p y, p z ) [p x, p y, p z, 1] Sugár iránya: d = (d x, d y, d z ) [d x, d y, d z, 0]. Így nem hat rá az eltolás. Transzformált sugár r : pm 1 + t dm 1

Sugarak indítása Pszeudókód Tétel Az r sugár és az M-mel transzformált objektum metszéspontja az M 1 -zel transzformált r sugár és az objektum metszéspontja. M R 4 4, homogén transzformáció Sugár kezdőpontja: p = (p x, p y, p z ) [p x, p y, p z, 1] Sugár iránya: d = (d x, d y, d z ) [d x, d y, d z, 0]. Így nem hat rá az eltolás. Transzformált sugár r : pm 1 + t dm 1

Sugarak indítása Pszeudókód Metszésvizsgálat: használjuk r -t! Metszéspont: q, akkor az eredeti térben q M. Távolságokat újra kell számolni az eredeti térben! Normálvektorok: n helyett n M T (inverz-transzponált).

Sugarak indítása Pszeudókód Metszésvizsgálat: használjuk r -t! Metszéspont: q, akkor az eredeti térben q M. Távolságokat újra kell számolni az eredeti térben! Normálvektorok: n helyett n M T (inverz-transzponált).

Sugarak indítása Pszeudókód Metszésvizsgálat: használjuk r -t! Metszéspont: q, akkor az eredeti térben q M. Távolságokat újra kell számolni az eredeti térben! Normálvektorok: n helyett n M T (inverz-transzponált).

Sugarak indítása Pszeudókód Metszésvizsgálat: használjuk r -t! Metszéspont: q, akkor az eredeti térben q M. Távolságokat újra kell számolni az eredeti térben! Normálvektorok: n helyett n M T (inverz-transzponált).

Tartalom Sugárkövetés Befoglaló keretek Térfelosztó módszerek 1 Sugárkövetés 2 Befoglaló keretek Térfelosztó módszerek 3

Befoglaló keretek Térfelosztó módszerek Metszésvizsgálat gyorsítása Az algoritmus sebessége leginkább az intersect függvény sebességétől függ. Hogyan gyorsíthatnánk ezt? Ne vizsgáljunk metszést olyan objektumokra, amiket biztosan nem metsz a sugár! Ne vizsgáljunk metszést olyan objektumokra, amik biztosan távolabbi metszéspontot adnak, mint a már megtalált!

Befoglaló keretek Térfelosztó módszerek Metszésvizsgálat gyorsítása Az algoritmus sebessége leginkább az intersect függvény sebességétől függ. Hogyan gyorsíthatnánk ezt? Ne vizsgáljunk metszést olyan objektumokra, amiket biztosan nem metsz a sugár! Ne vizsgáljunk metszést olyan objektumokra, amik biztosan távolabbi metszéspontot adnak, mint a már megtalált!

Befoglaló keretek Térfelosztó módszerek Metszésvizsgálat gyorsítása Az algoritmus sebessége leginkább az intersect függvény sebességétől függ. Hogyan gyorsíthatnánk ezt? Ne vizsgáljunk metszést olyan objektumokra, amiket biztosan nem metsz a sugár! Ne vizsgáljunk metszést olyan objektumokra, amik biztosan távolabbi metszéspontot adnak, mint a már megtalált!

Befoglaló keretek Térfelosztó módszerek Metszésvizsgálat gyorsítása Az algoritmus sebessége leginkább az intersect függvény sebességétől függ. Hogyan gyorsíthatnánk ezt? Ne vizsgáljunk metszést olyan objektumokra, amiket biztosan nem metsz a sugár! Ne vizsgáljunk metszést olyan objektumokra, amik biztosan távolabbi metszéspontot adnak, mint a már megtalált!

Befoglaló keretek Térfelosztó módszerek Befoglaló keretek Minden objektumot vegyünk körbe valamilyen kerettel amivel gyorsan lehet metszést számolni. Ha egy sugár metszi az objektumot, akkor metsze biztosan a keretet is! Fordítva legyen minél nagyobb a valószínűsége! Befoglaló gömb: másodfokú egyenlet megoldás. Befoglaló doboz: élei a tengelyekkel párhuzamosak, Cohen-Sutherland szakaszvágó algoritmussal gyorsan számítható.

Befoglaló keretek Térfelosztó módszerek Befoglaló keretek Minden objektumot vegyünk körbe valamilyen kerettel amivel gyorsan lehet metszést számolni. Ha egy sugár metszi az objektumot, akkor metsze biztosan a keretet is! Fordítva legyen minél nagyobb a valószínűsége! Befoglaló gömb: másodfokú egyenlet megoldás. Befoglaló doboz: élei a tengelyekkel párhuzamosak, Cohen-Sutherland szakaszvágó algoritmussal gyorsan számítható.

Befoglaló keretek Térfelosztó módszerek Befoglaló keretek Minden objektumot vegyünk körbe valamilyen kerettel amivel gyorsan lehet metszést számolni. Ha egy sugár metszi az objektumot, akkor metsze biztosan a keretet is! Fordítva legyen minél nagyobb a valószínűsége! Befoglaló gömb: másodfokú egyenlet megoldás. Befoglaló doboz: élei a tengelyekkel párhuzamosak, Cohen-Sutherland szakaszvágó algoritmussal gyorsan számítható.

Befoglaló keretek Térfelosztó módszerek Befoglaló keretek Minden objektumot vegyünk körbe valamilyen kerettel amivel gyorsan lehet metszést számolni. Ha egy sugár metszi az objektumot, akkor metsze biztosan a keretet is! Fordítva legyen minél nagyobb a valószínűsége! Befoglaló gömb: másodfokú egyenlet megoldás. Befoglaló doboz: élei a tengelyekkel párhuzamosak, Cohen-Sutherland szakaszvágó algoritmussal gyorsan számítható.

Befoglaló keretek Térfelosztó módszerek Befoglaló keretek Minden objektumot vegyünk körbe valamilyen kerettel amivel gyorsan lehet metszést számolni. Ha egy sugár metszi az objektumot, akkor metsze biztosan a keretet is! Fordítva legyen minél nagyobb a valószínűsége! Befoglaló gömb: másodfokú egyenlet megoldás. Befoglaló doboz: élei a tengelyekkel párhuzamosak, Cohen-Sutherland szakaszvágó algoritmussal gyorsan számítható.

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek Hierachikus befoglaló keretek A kisebb kereteket nagyobb keretekbe fogjuk össze. Fa struktúrát kapunk. Egy részfát csak akkor kell kiértékelni, ha a gyökérrel van metszés.

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek Szabályos felosztás Egy szabályos 3D ráccsal lefedjük az egész színteret. Előfeldolgozás: minden cellához feljegyezzük a beletartozó objektumokat. Használat: csak azokra végzünk metszésszámítást, amik adott cellában benne vannak. Előnye: A vizsgálandó cellák gyorsan számíthatók szakazrajzoló algoritmussal. Hátránya: Feleslegesen sok cella nagyrészük üres teret fed le.

Befoglaló keretek Térfelosztó módszerek Szabályos felosztás Egy szabályos 3D ráccsal lefedjük az egész színteret. Előfeldolgozás: minden cellához feljegyezzük a beletartozó objektumokat. Használat: csak azokra végzünk metszésszámítást, amik adott cellában benne vannak. Előnye: A vizsgálandó cellák gyorsan számíthatók szakazrajzoló algoritmussal. Hátránya: Feleslegesen sok cella nagyrészük üres teret fed le.

Befoglaló keretek Térfelosztó módszerek Szabályos felosztás Egy szabályos 3D ráccsal lefedjük az egész színteret. Előfeldolgozás: minden cellához feljegyezzük a beletartozó objektumokat. Használat: csak azokra végzünk metszésszámítást, amik adott cellában benne vannak. Előnye: A vizsgálandó cellák gyorsan számíthatók szakazrajzoló algoritmussal. Hátránya: Feleslegesen sok cella nagyrészük üres teret fed le.

Befoglaló keretek Térfelosztó módszerek Szabályos felosztás Egy szabályos 3D ráccsal lefedjük az egész színteret. Előfeldolgozás: minden cellához feljegyezzük a beletartozó objektumokat. Használat: csak azokra végzünk metszésszámítást, amik adott cellában benne vannak. Előnye: A vizsgálandó cellák gyorsan számíthatók szakazrajzoló algoritmussal. Hátránya: Feleslegesen sok cella nagyrészük üres teret fed le.

Befoglaló keretek Térfelosztó módszerek Szabályos felosztás Egy szabályos 3D ráccsal lefedjük az egész színteret. Előfeldolgozás: minden cellához feljegyezzük a beletartozó objektumokat. Használat: csak azokra végzünk metszésszámítást, amik adott cellában benne vannak. Előnye: A vizsgálandó cellák gyorsan számíthatók szakazrajzoló algoritmussal. Hátránya: Feleslegesen sok cella nagyrészük üres teret fed le.

Befoglaló keretek Térfelosztó módszerek Oktális fa Fa gyökere: a teljes színteret magában foglaló tengelyekkel párhuzamos élű befoglaló doboz (AABB) Vágjuk ezt nyolc egyenlő részre! Minden új dobozra: ha elég sok objektum van benne, akkor tovább osztjuk, különben megállunk. Előny: az üres részeket nem osztjuk tovább feleslegesen. Hátrány: bonyolultabb bejárás.

Befoglaló keretek Térfelosztó módszerek Oktális fa Fa gyökere: a teljes színteret magában foglaló tengelyekkel párhuzamos élű befoglaló doboz (AABB) Vágjuk ezt nyolc egyenlő részre! Minden új dobozra: ha elég sok objektum van benne, akkor tovább osztjuk, különben megállunk. Előny: az üres részeket nem osztjuk tovább feleslegesen. Hátrány: bonyolultabb bejárás.

Befoglaló keretek Térfelosztó módszerek Oktális fa Fa gyökere: a teljes színteret magában foglaló tengelyekkel párhuzamos élű befoglaló doboz (AABB) Vágjuk ezt nyolc egyenlő részre! Minden új dobozra: ha elég sok objektum van benne, akkor tovább osztjuk, különben megállunk. Előny: az üres részeket nem osztjuk tovább feleslegesen. Hátrány: bonyolultabb bejárás.

Befoglaló keretek Térfelosztó módszerek Oktális fa Fa gyökere: a teljes színteret magában foglaló tengelyekkel párhuzamos élű befoglaló doboz (AABB) Vágjuk ezt nyolc egyenlő részre! Minden új dobozra: ha elég sok objektum van benne, akkor tovább osztjuk, különben megállunk. Előny: az üres részeket nem osztjuk tovább feleslegesen. Hátrány: bonyolultabb bejárás.

Befoglaló keretek Térfelosztó módszerek Oktális fa Fa gyökere: a teljes színteret magában foglaló tengelyekkel párhuzamos élű befoglaló doboz (AABB) Vágjuk ezt nyolc egyenlő részre! Minden új dobozra: ha elég sok objektum van benne, akkor tovább osztjuk, különben megállunk. Előny: az üres részeket nem osztjuk tovább feleslegesen. Hátrány: bonyolultabb bejárás.

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek

Befoglaló keretek Térfelosztó módszerek kd-fa Probléma az oktális fával: mindig középen és minden sík mentén vág nem veszi figyelembe az objektumokat. Oktális fa: keresési idő fa magasága. DE! az oktális fa kiegyensúlyozatlan. kd-fa: minden lépésben egyetlen síkkal vágunk, ami egy tengelyre merőleges. Sorrend: X, Y, Z, X, Y, Z,... Felező sík elhelyezése: térbeli középvonal módszer test középvonal módszer költség modell alapú módszer

Befoglaló keretek Térfelosztó módszerek kd-fa Probléma az oktális fával: mindig középen és minden sík mentén vág nem veszi figyelembe az objektumokat. Oktális fa: keresési idő fa magasága. DE! az oktális fa kiegyensúlyozatlan. kd-fa: minden lépésben egyetlen síkkal vágunk, ami egy tengelyre merőleges. Sorrend: X, Y, Z, X, Y, Z,... Felező sík elhelyezése: térbeli középvonal módszer test középvonal módszer költség modell alapú módszer

Befoglaló keretek Térfelosztó módszerek kd-fa Probléma az oktális fával: mindig középen és minden sík mentén vág nem veszi figyelembe az objektumokat. Oktális fa: keresési idő fa magasága. DE! az oktális fa kiegyensúlyozatlan. kd-fa: minden lépésben egyetlen síkkal vágunk, ami egy tengelyre merőleges. Sorrend: X, Y, Z, X, Y, Z,... Felező sík elhelyezése: térbeli középvonal módszer test középvonal módszer költség modell alapú módszer

Befoglaló keretek Térfelosztó módszerek kd-fa Probléma az oktális fával: mindig középen és minden sík mentén vág nem veszi figyelembe az objektumokat. Oktális fa: keresési idő fa magasága. DE! az oktális fa kiegyensúlyozatlan. kd-fa: minden lépésben egyetlen síkkal vágunk, ami egy tengelyre merőleges. Sorrend: X, Y, Z, X, Y, Z,... Felező sík elhelyezése: térbeli középvonal módszer test középvonal módszer költség modell alapú módszer

Tartalom Sugárkövetés Leírás Előnyök és hátrányok 1 Sugárkövetés 2 3 Leírás Előnyök és hátrányok

Leírás Előnyök és hátrányok A sugárkövetés kifordítása : a fényforrásokból fotonokat indítünk, és azok útját követjük. Addig haldunk, amíg már nem ütközhet semmivel, vagy teljesen elnyelődik, vagy eltalálja a vetítő ernyőt gyakorlatilag egy pixelt.

Leírás Előnyök és hátrányok A sugárkövetés kifordítása : a fényforrásokból fotonokat indítünk, és azok útját követjük. Addig haldunk, amíg már nem ütközhet semmivel, vagy teljesen elnyelődik, vagy eltalálja a vetítő ernyőt gyakorlatilag egy pixelt.

Leírás Előnyök és hátrányok Előnyök és hátrányok Előnye Globális illumináció és radiózitás ingyen. Kausztikus hatások automatikusan adódnak. Sub-surface scattering-et egyszerű megvalósítani. Egyszerű. Jól párhuzamosítható. Hátránya Lasssssú! Egyetlen kép kiszámítása napokig tarthat!

Leírás Előnyök és hátrányok Előnyök és hátrányok Előnye Globális illumináció és radiózitás ingyen. Kausztikus hatások automatikusan adódnak. Sub-surface scattering-et egyszerű megvalósítani. Egyszerű. Jól párhuzamosítható. Hátránya Lasssssú! Egyetlen kép kiszámítása napokig tarthat!