Top Banner
IKTA-K ´ EPI 00101/2000 projekt Szerz˝ od´ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001 Fotorealisztikus megjelen´ ıtes CAD rendszerekben GLOB ´ ALIS ILLUMIN ´ ACI ´ OS SZ ´ AM ´ IT ´ ASI M ´ ODSZEREK 1.0 verzi´ o: 2001.03.30 ´ IRTA: DR.SZIRMAY-KALOS ASZL ´ O KOV ´ ACS ASZL ´ O CSONKA FERENC ANTAL GY ¨ ORGY KELEMEN CSABA DR.HORV ´ ATH TAM ´ AS ELLEN ˝ ORIZTE: CSONKA FERENC ANTAL GY ¨ ORGY
96

GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Jun 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

IKTA-K EPI 00101/2000 projekt

Szerzodes szamok: OMFB-00179/2001, OMFB-00190/2001

Fotorealisztikus megjelenıtes CAD rendszerekben

GLOBALIS ILLUMIN ACI OS

SZAM IT ASI M ODSZEREK

1.0 verzio: 2001.03.30

IRTA:DR. SZIRMAY-KALOS LASZLO

KOVACS LASZLO

CSONKA FERENC

ANTAL GYORGY

KELEMEN CSABA

DR. HORVATH TAM AS

ELLENORIZTE:CSONKA FERENC

ANTAL GYORGY

Page 2: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

-

Page 3: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Tartalomjegyzek

1. Bevezetes 51.1. Globalis lepes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2. Lokalis lepes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.3. Sz´ınlekepzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Az arnyalas optikai alapmodellje 72.1. A fenyerosseg alapvet˝o mertekei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2. A feny-felulet kolcsonhatas: azarnyalasi egyenlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. A kamerak jellemzese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4. A potencial egyenlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5. A potencial merese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6. A kepszintezis feladat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7. Azarnyalasi illetve a potenci´al egyenlet megold´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.8. Fenyelnyelo anyagok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.9. A geometria .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.9.1. Parametrikus fel¨uletek tesszell´acioja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.9.2. Delaunay h´aromsz¨oges´ıtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.9.3. Soksz¨ogek haromsz¨ogekre bont´asa a f¨ulek levagasaval . . . . . . . . . . . . . . . . . . . . . . . 142.9.4. Haromsz¨ogek tovabb-bontasa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.9.5. Nem-folytonos felbont´as . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.10. BRDF modellek . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.10.1. Lambert-t¨orveny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.10.2. Ide´alis visszaver˝odes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.10.3. Ide´alis tores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.10.4. Phong illumin´acios modelles valtozatai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.10.5. Cook-Torrance modell . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.11. Fenyforrasok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.12. Meromuszerek . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.13. Sz´ınlekepzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3. A globalis illumin acios feladat megoldasanak lehetosegei 273.1. Inverzio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2. Expanzi´o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2.1. Azarnyalasi egyenlet expanzi´oja: a gyujtoseta . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2.2. Az potenci´al egyenlet expanzi´oja: a lovoseta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2.3. Az expanzi´o elonyeies hatranyai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.3. Iteracio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4. Lathatosag szamıtas 334.1. Metszespontsz´amıtas egyszer˝u feluletekre . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1.1. Haromsz¨ogek metsz´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.1.2. Implicit feluletek metsz´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.1.3. Param´eteres fel¨uletek metsz´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.1.4. Transzform´alt objektumok metsz´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.1.5. CSG modellek metsz´ese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2. A sugarkovetes gyors´ıtasi lehet˝osegei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.1. Befoglal´o keretek . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.2. Az objektumt´er szab´alyos feloszt´asa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

1

Page 4: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2 Tartalomjegyzek

4.2.3. Az objektumt´er adapt´ıv felosztasa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5. Monte-Carlo es kvazi Monte-Carlo integralas 415.1. A Monte Carlo m´oszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.2. A kvazi Monte-Carlo m´oszer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2.1. Alacsony diszkrepanci´aju sorozatok defini´alasa . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.3. Fontoss´ag szerinti mintav´etelezes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3.1. Veletlen valtozo generalasa megadott val´oszınuseggel . . . . . . . . . . . . . . . . . . . . . . . 455.3.2. Fontoss´ag szerinti mintav´etelezes a kvazi-Monte Carlo integr´alasban . . .. . . . . . . . . . . . 465.3.3. Metropolis mintav´etelezes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

6. Veges-elem modszer 49

7. A globalis illumin acios problema veletlen bolyongassal tort eno megoldasa 517.1. Miert haszn´aljunk Monte-Carlo m´odszereket? .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517.2. Azarnyalasi egyenlet fontoss´ag szerinti mintav´etelezese . . . . . . . . . . . . . . . . . . . . . . . . . . 51

7.2.1. BRDF mintav´etelezes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.2.2. A fenyforras mintavetelezese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557.2.3. A fenyforras mintavetelezese a gy˝ujtosetaban . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557.2.4. Fontoss´ag szerinti mintav´etelezes sz´ınes terekben . . .. . . . . . . . . . . . . . . . . . . . . . . 55

7.3. Vegtelen-dimenzi´oju integralok kezelese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557.3.1. Az orosz rulett . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8. Velelen bolyongason alapulo algoritmusok 598.1. Veletlen bolyong´ason alapul´o gyujtosetak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8.1.1. Egyszer˝u sugarkovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608.1.2. Rekurz´ıv sugarkovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618.1.3. Elosztott sug´arkovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628.1.4. Inverz fenyutkovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8.2. Veletlen bolyong´ason alapul´o lovosetak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648.2.1. Foton k¨ovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658.2.2. Fenykovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

8.3. Ketiranyu fenyutkovetes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.3.1. Metropolis f´enyterjedes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698.3.2. Foton t´erkep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

9. A globalis illumin acios feladat iteracios megoldasa 719.1. Miert kell Monte-Carlo iter´aciot haszn´alni? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729.2. A sztochasztikus iter´acio formalis defin´ıcioja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729.3. A veletlen oper´ator defin´ıcioja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

10. Sugark oteg modszer 7310.1. Azarnyalasi egyenlet ´atalak´ıtasa a sug´arkoteg koveteshez . . .. . . . . . . . . . . . . . . . . . . . . . . 7310.2. A geometria m´atrix eloallıtasa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

10.2.1. Galerkin m´odszer konstans b´azisfuggvenyekkel . . . .. . . . . . . . . . . . . . . . . . . . . . . 7510.3. A vet´ıtett arnyalasi egyenlet megold´asa sztochasztikus iter´acioval . . . . . . . . . . . . . . . . . . . . . . 75

10.3.1. Egyenletes eloszl´asu veletlen iranyok eloallıtasa . . . . . . . . . . . . . . . . . . . . . . . . . . 7610.3.2. Kepbecsl˝o szamıtasa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

11. Veges elemes iteracio es Monte-Carlo modszerek kombinalasa 7911.1. A sugarsuruseg fuggveny dekompoz´ıcioja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7911.2. A kombinalt algoritmus . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8011.3. A kombinalt algoritmus alkalmaz´asa a sug´arkoteg modszerhez. . . . . . . . . . . . . . . . . . . . . . . 81

12. Elso loves technikak 8312.1. Az els˝o loves alap¨otlete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8312.2. Elso loves pontszer˝u fenyforrasokra . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8412.3. Kis teruleti fenyforrasok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8512.4. Az els˝o-loves felhaszn´alasa a sug´arkoteg modszerben .. . . . . . . . . . . . . . . . . . . . . . . . . . . 86

Page 5: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Tartalomjegyzek 3

13. Tobbmeneteses progressz´ıv kepszintezis 8713.1. Tobbmenetes k´epszintezis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

13.1.1. Tobbszoros fontoss´ag szerinti mintav´etelezes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8713.2. Progressz´ıv kepszintezis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

Irodalomjegyzek 89

Targymutato 92

Page 6: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

4 Tartalomjegyzek

Page 7: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

1. fejezet

Bevezetes

A kepszinteziscelja az, hogy a sz´amıtogep elott ulo felhaszn´aloban a val´osag szeml´elesenek illuziojat keltse (1.1. ´abra).A kepet avirtualis vilagalapjan, egy fenykepezesi folyamatot szimul´alo szamıtasi eljaras seg´ıtsegevel kapjuk meg. A k´epakkor lesz val´oszeru, ha a sz´amıtogep monitora ´altal keltett sz´ınerzet a val´os vilageval azonos. Az emberi szem sz´ınerze-kelese a be´erkezo fenyenergi´atol es a szem m˝ukodesetol fugg. A fenyenergi´at a lathato pontok sug´arsurusege hat´arozzameg, amely a virtu´alis vilag objektumainak geometri´aja es optikai tulajdons´agaies a fenyforrasok alapj´an szamıthatoki. Ezen bonyolult jelens´eg megertesehez mind a f´eny-objektum k¨olcsonhatast, mind pedig a szem m˝ukodeset fel kelltarnunk.

Színleképzés

R

G

B

radiancia

teljesítmény

radiancia

teljesítmény

λ

λ

λ

λ

teljesítmény

λ

színérzet azidegsejtekben

valós világ

ablakmérõmûszer

monitor virtuális világ

képszintézisfelhasználó amonitor elõtt

felhasználóa valós világban

1.1.abra. A kepszintezis lepesei

A lefenykepezendo virtualis vilag a kovetkezo fobb reszekre bonthato: geometria, optikai tulajdonsagokes fenyfor-rasok(1.2. abra). A fizikai torvenyek, mint peldaul a Maxwell egyenletek, alkalmazasaval kiszamıthatjuk, hogy a valosvilagban a feluletek milyen spektrumu fenyt bocsatananak ki kulonbozo iranyokban. Ezt a lepest nezopont fuggetlenvagy globalis kepszintezis lepesnek nevezzuk. Ezutan egy meroeszkozt, mint peldaul a szemvagy kamera, teszunk aterbe es kiszamıtjuk ezen eszkoz altal merheto spektrumot. Ezt a lepest nezopont fuggo vagy lok alis lepesnek nevezzuk.Megjegyezzuk, hogy nem minden kepszintezis algoritmus tesz kulonbseget a globalis es lokalis lepesek kozott.

A kepszintezis eredmenye a kep, amely a pixelek szınet, vagy az intenzitasfuggveny diszkret hullamhosszakon vettmintait tartalmazza. Az intenzitas precız meghatarozasa nagyon sok szamıtast igenyelne. Szerencsere erre nincs is szuk-seg, hiszen a szem igen rossz spektrometer es a monitorok lehetosegei is messze elmaradnak a valos vilagban elofordulospektrumoktol. A kozelıtes pontossagat csak addig erdemes novelni, amıg a szem ket spektrumot kepes megkulonboztetni

5

Page 8: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

6 1. Bevezetes

es a monitor a kulonbseget meg tudja jelenıteni.A monitorok szabalyozhato erossegu elektromagneses hullamokat bocsatanak ki harom hullamhosszon, amelyeket

onalloan szemlelve voros, zold es kek szıneket erzekelnenk. A kepszintezis utolso lepese tehat a szınlekepzes, amely aszamıtott spektrumotR voros, G zold es B kek intenzitasokra alakıtja at.

a virtuális világgeometriája

anyagjellemzõk

világítás

globálisképszintézis(globális lépés)

képszámítás(lokális lépés)

felületi pontokradianciája

pixelekradianciája

színleképzés pixel R,G,B értékek

kamera

1.2.abra. A kepszintezis adatfolyam modellje

1.1. Globalis lepes

A globalis lepes a feluleti pontokban kulonbozo iranyokban visszaverodo feny intenzitasat szamıtja ki. Mivel a fenyelektromagneses hullam, az intenzitas a hullamhossznak folytonos fuggvenye [ Abr97]. A kepszintezis algoritmusok ezta fuggvenyt nehany diszkret hullamhosszon mintavetelezik, es a szamıtasokat csak ezeken a hullamhosszokon vegzik el.Egyetlen hullamhosszon a feny intenzitasat a sugarsuruseggel jellemezhetjuk. Fenyelnyelo es fenyszoro anyagokat nemtartalmazo szınterekben a sugarsuruseget elegendo a feluletek menten meghatarozni. Egy feluleti pont sugarsurusege azadott pont sajat sugarzasabol, un. emissziojabol es a tobbi feluleti pont ide juto sugarzasanak az optikai anyagtulajdonsa-goktol is fuggo visszaverodesebol szarmazhat. Ezt a fuggoseget egy Fredholm-fele masodfaju integralegyenlettel ırhatjukle, amelyet arnyalasi egyenletnek nevezunk. Matematikai szempontbol a globalis lepes ezen integralegyenlet megoldasatjelenti a reprezentatıv hullamhosszokon.

1.2. Lokalis lepes

A lokalis lepesa globalis sugarsuruseg szemmel vagy kameraval torteno megmeresenek felel meg. A kamera valojabanmeromuszerek gyujtemenye, amelyek a kepek pixeleihez kapcsolodnak. A muszereket az erzekenysegfuggvenyukkeljellemezzuk, amelyek kifejezik, hogy egy muszer mely pontokbol es mely iranyokba sugarzott fenyt erzekeli.

1.3. Szınlekepzes

A fenyelektromagneses hullam es a szın ezen hullam spektralis jellemzoinek a hatasa az emberi szemben. A szem nagyongyenge spektrometer, a fotopigmentjei a beerkezo energiat harom, reszben atlapolodo savban kepesek merni. Ennek ko-vetkezteben a monitoron nem szukseges a szamıtott spektrumot reprodukalni, csupan olyat kell talalni, amely a szembenugyanolyan szınerzetet ad. Ezt a lepest nevezzuk szınlekepzesnek (tone mapping).

Page 9: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2. fejezet

Az arnyalas optikai alapmodellje

A 3D kepszintezis celja, hogy a fenyforrasok, a feluletek geometriaja, a feluletek optikai jellemzoi es a kamerak tulajdon-sagai alapjan meghatarozza, hogy az egyes kamerak milyen “szınt” , azaz milyen spektrumu fenyt erzekelnek. A kerdeskorbevezetese soran meg kell ismerkednunk a fenyerosseg alapveto mertekeivel, a kamerak es a fenyvisszaverodes fizikaimodelljeivel. Ez a fejezet osszefoglalja azon optikai torvenyeket, amelyeket a 3D szamıtogepes grafika hasznal. Az in-tuitıv magyarazatok mellett a teljesseg kedveert ismertetjuk a levezeteseket is, ambar ezek tenyleges megertese nelkul isalkalmazhatjuk a kiadodo kepleteket a grafikus algoritmusainkban.

2.1. A fenyerosseg alapveto mertekei

Ebben a fejezetben a fenyatadas alapveto meroszamait es szamıtasi eljarasait tekintjuk at. A vizsgalatunkat hullam-hosszu monokromatikus fenyre vegezzuk el, mivel a teljes spektrumban torteno analızis tobb ilyen elemzesre vezethetovissza. A bemutatando anyagjellemzok nyilvan fugghetnek a megadott hullamhossztol.

dA

ωd

r

θ

2.1.abra. A terszog defin´ıcioja

Egy felulet kulonbozo iranyokban sugarozhat, ezert szukseges a terbeli iranyok formalizalasa. Emlekezzunk arra,hogy a sıkban az iranyokat szogekkel jellemezhetjuk. Egy szog egy egysegkor egy ıvevel adhato meg, erteke pedig ezenıv hossza. A szog azon iranyokat foglalja magaban, amelyek a szog csucsabol az ıv valamely pontjaba mutatnak. Anormal szog fogalmanak altalanosıtasaval jutunk el az illuminacios gomb es a terszog fogalmahoz. A terbeli iranyokat a2D egysegkor mintajara un. illuminacios gombsegıtsegevel definialhatjuk egyertelmuen. Ez az egyseg sugaru gomb azonterszogeket tartalmazza, ahova a kozeppontban levo forras sugarozhat. A t erszog (solid angle) az egyseggomb felulete-nek egy resze, amelyet ezen felulet meretevel szamszerusıtunk. Egy terszog azon iranyokat tartalmazza, amelyek a gombkozeppontjabol a feluletresz valamely pontjaba mutatnak. A terszog mertekegysege a szteradian [sr].

Egy dA feluletelem egy ~p pontbol

d! =dA cos

r2(2.1)

terszog alatt latszik, ahol r a ~p pont es dA feluletelem tavolsaga, pedig a dA feluleti normalisa es a ~p iranya kozotti szog(2.1. abra).

Az atadott feny erosseget tobb kulonbozo mertekkel jellemezhetjuk. A fluxus() egysegnyi ido alatt, adott hullam-hossz tartomanyban, egy hipotetikus hatarfeluleten atadott energia. A fluxus mertekegysege a Watt [W ]. A fluxus ertekeonmagaban nem mond semmit, mert mindig tisztazni kell, hogy pontosan milyen feluleten atlepo energiat vizsgalunk.Egy nagy fluxusertek tehat lehet egyreszt annak a kovetkezmenye, hogy eros sugarzo van a kozelben, masreszt annak is,

7

Page 10: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8 2. Az arnyalas optikai alapmodellje

hogy nagy feluletet tekintunk. Ezert a szamıtogepes grafikaban a fluxus helyett altalaban a radianciat hasznaljuk. A su-garsuruseg, radiancia, vagy intenzitas(L), egy dA feluletelemet d! terszogben elhagyo d infinitezimalis fluxus osztvaa kilepesi iranybol lathato terulettel (dA cos ) es a terszoggel:

L =d

dA d! cos : (2.2)

A radiancia mertekegysege: [W m2 sr1]. Figyeljuk meg, hogy a radiancia valoban csak az adott iranyu sugarzaserosseget minosıti. Ha ketszer akkora terszogben mericskelunk, a fluxus ugyan ketszer akkora lesz, de a terszoggel tor-tent osztas utan valtozatlan eredmenyhez jutunk. Hasonloan, ha a sugarzo ketszer akkora teruletet vizsgaljuk, akkor afluxus megint kozel ketszer akkora lesz, viszont a terulettel osztva megint csak fuggetlenıthetjuk a radianciat a sugarzoteruletetol.

dA

ωΘ Θ’d

r

dA’

..

2.2.abra. Ket infinitezimalis feluletelem k¨ozott atadott fluxus

Miutan megismerkedtunk az alapveto mennyisegekkel, nezzuk meg, hogy mikent hatarozhatok meg egy olyan el-rendezesben, ahol egy dA feluletelem kibocsatott fenyteljesıtmenye egy masik dA 0 feluletelemre jut (2.2. abra). Ha afeluletelemek latjak egymast, es a dA intenzitasa a dA 0 iranyaba L, akkor 2.2 egyenlet szerint az atadott fluxus:

d = L dA d! cos : (2.3)

Az 2.1. definıcio felhasznalasaval a terszoget kifejezhetjuk a dA 0 lathato teruletevel. Ezzel egy alapveto egyenlethezjutunk, amely a fotometria alaptorvenye:

d = L dA cos dA0 cos 0

r2: (2.4)

Ezen egyenlet szerint az atadott fluxus egyenesen aranyos a forras radianciajaval, a forras es az antenna lathato teruleteveles fordıtottan aranyos a tavolsagukkal.

Vegyuk eszre, hogy 2.1. definıcio alkalmazasaval az atadott teljesıtmeny a kovetkezo alakban is felırhato:

d = L dA0 dA cos

r2 cos 0 = L dA0 d!0 cos 0; (2.5)

amely szerint ugyanolyan keplet vonatkozik a sugarzo feluletelemre (2.2 egyenlet), mint a sugarzast felfogo antennara.

2.2. A feny-felulet kolcsonhatas: azarnyalasi egyenlet

A feny-felulet kolcsonhatas soran egy fenysugar altal megvilagıtott felulet a beerkezo fenyteljesıtmeny egy reszet kulon-bozo iranyokban visszaveri, mıg masik reszet elnyeli.

Az optikailag tokeletesen sima feluletekre a visszaverodest a visszaverodesi torveny, a fenytorest a Snellius-Descar-tes-torveny ırja le. A feluleti egyenetlensegek miatt azonban a valodi feluletek barmely iranyba visszaverhetik, illetvetorhetik a fenyt. Ezeket a hatasokat a valoszınusegszamıtas eszkozeivel modellezhetjuk.

Tegyuk fel, hogy az ! 0 iranybol egy foton erkezik a felulet ~x pontjaba. A foton ! iranyu tovabbhaladasat a kovetkezofelteteles valoszınuseg-surusegfuggvennyel jellemezzuk:

w(!0; ~x; !) d! = Prfa foton az ! irany koruli d! terszogben megy j ! 0 iranybol jong: (2.6)

Ez a valoszınuseg-surusegfuggveny az anyag optikai tulajdonsagait ırja le. Erosen tukrozo feluleteknel nagy a valoszınu-sege annak, hogy a foton az elmeleti visszaverodesi irany kozeleben halad tovabb. Matt feluleteknel viszont a kulonbozoiranyokban torteno kilepes hasonlo valoszınusegu.

Most terjunk ra annak vizsgalatara, hogy a felulet egy adott iranybol milyen fenyesnek latszik. Egy ! irany korulid! terszogbe visszavert vagy tort fluxust megkaphatjuk, ha tekintjuk az osszes lehetseges ! 0 bejovo iranyt, es az ezekbolerkezo fluxusok hatasat osszegezzuk: Z

(w(!0; ~x; !) d!) in(~x; !0; d!0) (2.7)

Page 11: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.2. A feny-felulet kolcsonhatas: azarnyalasi egyenlet 9

x

h(x, -

L(x, )

ω

ω

ω

θ

’ω

L(h(x, -ω ω’ ’

,

)

) )

2.3.abra. Azarnyalasi egyenlet geometri´aja

Az osszegzes soran a bejovo energiat (fotonokat) aszerint sulyozzuk, hogy mi a valoszınusege, hogy a bejovo foton eppena nezeti iranyba verodik vissza. Amennyiben a felulet maga is fenyforras, a

e(~x; !) = Le(~x; !) dA cos d! (2.8)

kisugarzott fenymennyiseg ugyancsak hozzajarul a kimeneti fluxushoz. A lehetseges hatasokat osszegezve:

out(~x; !) = e(~x; !) +

Z

(w(!0; ~x; !) d!) in(~x; !0; d!0): (2.9)

A fluxus es a radiancia kozotti 2.2 osszefuggest felhasznalva:

in(~x; !0; d!0) = Lin(~x; !0) dA cos 0 d!0; out(~x; !; d!) = L(~x; !) dA cos d!: (2.10)

Behelyettesıtve ezeket a 2.9 egyenletbe, es mindket oldalt elosztva dA d! cos -val:

L(~x; !) = Le(~x; !) +

Z

Lin(~x; !0) cos 0 w(!0; ~x; !)

cos d!0: (2.11)

A foton haladasat leıro valoszınuseg-surusegfuggveny es a kimeneti szog koszinuszanak hanyadosa, az optikai anyagmo-dellek egy alapveto mennyisege, amelynek neve ketiranyu visszaverodes eloszlasi fuggveny, vagy roviden BRDF(Bi-di-rectional Reflection Distribution Function):

fr(!0; ~x; !) =

w(!0; ~x; !)

cos : (2.12)

A BRDF mertekegysege 1 per szteradian [sr1].Visszaterve a 2.11. egyenlethez, az L in(~x; !0) bejovo radiancia egyenlo az ~x pontbol a ! 0 iranyba lathato ~y pont ! 0

iranyu radianciajaval. Vezessuk be a~y = h(~x; !0):

lathatosag fuggvenyt, amely megmondja, hogy egy pontbol egy adott iranyba milyen masik feluleti pont latszik. Ezzelvegre eljutottunk a fenyatadas alapveto integralegyenletehez, az arnyalasi egyenlethez (rendering equation) [Kaj85]:

L(~x; !) = Le(~x; !) +

Z

L(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0: (2.13)

Az arnyalasi egyenlet, bar bonyolultnak latszik, valojaban rendkıvul egyszeruen ertelmezheto. Egy feluleti pont adottiranyu radianciaja (L(~x; !)) megegyezik a feluleti pont ilyen iranyu sajat emissziojanak (L e(~x; !)) es a kulonbozo irany-bol ide juto radiancia (L(h(~x;! 0); !0)) az adott iranyba torteno visszaverodesenek az osszegevel. A visszaverodest afr(!

0; ~x; !)cos 0 d!0 tag jellemzi, amely lenyegeben annak az fenyutnak a valoszınuseget hatarozza meg, amely a nezetiiranyt a visszaverodesen keresztul a d! 0 elemi terszoggel koti ossze.

Minden egyes arnyalasi feladat annyi arnyalasi egyenlettel adhato meg, ahany reprezentatıv hullamhosszon dolgo-zunk. Az (Le; fr(!0; ~x; !)) parameterek a kulonbozo hullamhosszokon elteroek lehetnek.

Page 12: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

10 2. Az arnyalas optikai alapmodellje

Bevezetve a feny-felulet kolcsonhatast leıro T integraloperatort

(T L)(~x; !) =Z

L(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0; (2.14)

felallıthatjuk az arnyalasi egyenlet rovid alakjat:

L = Le + T L: (2.15)

2.3. A kamerak jellemzese

Az arnyalasi egyenlet megoldasa utan a sugarsuruseget minden feluleti pontban es iranyban ismerjuk. A kepeloallıtas-hoz viszont azt kell tudnunk, hogy egy fenyerzekeny eszkoz (retina vagy film) egyes reszein milyen teljesıtmenyu fenyhalad keresztul. Tekintsuk a fenyerzekeny eszkoz minden egyes reszet onallo fenyerzekelo muszernek. Egy kameraele-mi kamerak, vagy meroeszkozok gyujtemenyekent foghato fel, ahol minden elemi kamera egyetlen skalar mennyisegetmer. Egy elemi kamera altalaban egy pixelen atjuto fenyt detektal, de merheti a feluletelemet adott terszogben elhagyofenyteljesıtmenyt is.

Rendeljunk minden elemi kamerahoz egy W e(~y; !) erzekenyseg fuggvenyt, amely megmutatja, hogy az ~y pontbol az! iranyba kibocsatott egysegnyi energiaju foton mekkora hatast kelt a muszerunkben. Ha az elemi kamera a pixelen atjutoteljesıtmenyt meri, akkor nyilvan az erzekenyseg fuggveny valamilyen pozitıv C skalafaktorazon pontokra es iranyokra,amely pontokat a szempozıcioval osszekotve eppen az adott iranyt kapjuk, es minden mas esetben zerus.

Az osszes pont es irany hatasat az elemi hatasok osszegekent ırhatjuk fel. Felhasznalva a fluxus es a radiancia kozottiosszefuggest, egy adott hullamhosszon detektalt fenyteljesıtmenyZ

ZS

d(~y; !) W e(~y; !) =

Z

ZS

L(~y; !) cos W e(~y; !) d~y d! =ML; (2.16)

aholM a radianciamero operator. A kepletet a kovetkezokeppen ertelmezhetjuk. Ahhoz, hogy peldaul egy pixelen keresz-tul a szembe juto teljesıtmenyt meghatarozzuk, szamba kell venni a szembol a pixelen keresztul lathato feluleti pontokszemiranyu radianciajat (L(~y; !)). A szembol lathato pontokat es az innen a szembe mutato iranyokat az erzekenysegfuggveny jeloli ki (W e(~y; !)). A cos azert van a kepletben, hogy kepviselje azt a hatast, hogy lapos szogben a feluletrenezve nagy teruleteket is igen kicsinek lathatunk.

2.4. A potencial egyenlet

h(y,

W(y, )

ω

ω

ω

’ω

W(h(y, ω ω’ ,

)

) )

y

θ

2.4.abra. A potenci´al egyenlet ´altal haszn´alt jelolesek

Az idaig targyalt radiancia a feluletek sugarzasi intenzitasat fejezi ki, amely reszint a sajat emissziobol, reszint a tobbifelulet sugarzasanak visszaverodesebol all. Ha a fenyatadasi jelenseget egy sugarzo es egy detektor kolcsonhatasakentkepzeljuk el, akkor a radiancia a jelenseget a sugarzo szempontjabol ırja le. A potencial a radianciahoz hasonloan alapve-to mertek, amely azonban ugyanazt a jelenseget a detektor szemszogebol targyalja. A potencial definıcioja a kovetkezo:tekintsunk egy elemi kamerat, es tegyuk fel, hogy az ~y feluleti pont az ! 0 iranyba egy egysegnyi energiaju fotonnyalabotbocsat ki. A fotonok egy resze a visszaverodesek utan az elemi kameraba jut. A kameraba juto energiat az ~y pont ! 0

iranyu potencialjanak nevezzuk.

Page 13: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.5. A potencial merese 11

A feny-felulet kolcsonhatas a radiancia atadas mellett a potencial atadasaval is leırhato. Ha a visszaverodesektol el-tekintunk, akkor nyilvan W (~y; ! 0) = W e(~y; !0). Ha a visszaverodeseket is kovetjuk, a potencialra az arnyalasi egyenletadjungalt egyenlete, a potencial egyenlet[PM95] ırhato fel:

W =W e + T 0W: (2.17)

T 0 a potencialatadast leıro integraloperator

(T 0W )(~y; !0) =

Z

W (h(~y; !0); !) fr(!0; h(~y; !0); !) cos d!; (2.18)

ahol a a feluleti normalis es az ! kimeneti irany kozotti szog. Ez az egyenlet azt mondja, hogy egy feluleti pontbol adottiranyba kibocsatott foton muszerre gyakorolt hatasat felırhatjuk a kozvetlen hatas es a visszaverodesek utani indirekt hatasosszegekent.

Az egyenletet a potencial valoszınusegi ertelmezesenek felhasznalasaval bizonyıtjuk be. Jeloljuk az “~x pontot! ir anyban elhagy´oegysegnyi energi´aju foton-nyalabot” (~x; !)-vel. A potencial valoszınusegi ertelmezese szerint:

W (~y; !0) = C Prf(~y; !0) meromuszerbe jutg =

CPrf(~y; !0) kozvetlenul a meromuszerbe jutg+CPrf(~y; !0) kozvetetten, azaz legalabb egy visszaverodes utan jut a meromuszerbeg:(2.19)

Az elso tag az erzekenyseg fuggveny. A masodik tagot a teljes valoszınuseg tetel ertelmeben felbontjuk:

C Prf(~y; !0) kozvetetten, azaz legalabb egy visszaverodes utan jut a meromuszerbeg =

Z

CPrf(h(~y; !0); !) a muszerbe jutgPrf(~y; !0) a h(~y; !0) pontban visszaverodes utan ! koruli d! terszogben folytatja az utjat g =

Z

W (h(~y; !0); !) fr(!0; h(~y; !0); !) cos d!: (2.20)

2.5. A potencial merese

A sugarsuruseghez hasonloan a meromuszerre erkezo energiat a potencialbol is meghatarozhatjuk. Ez az energia a d~ypontbol a d! 0 terszogbe sugarzott teljesıtmeny es azon valoszınuseg szorzata, hogy ez a sugar, kozvetlenul vagy kozvetve,valoban a meroeszkozbe jut. Az elso tenyezo nagysaga

de(~y; !0) = Le(~y; !0) cos ;

a masodik pedig W (~y; ! 0)=C, ıgy figyelembe veve az osszes pontot es iranyt:

C Z

ZS

de(~y; !0) W (~y; !0)

C=

Z

ZS

W (~y; !0) Le(~y; !0) cos d~y d!0 =M0W; (2.21)

ahol M0 a potencial mero operator. Vegyuk eszre, hogy a sugarsuruseg mero operatorral szemben a potencial merooperator a fenyforrason futo integral.

2.6. A kepszintezis feladat

Formalisan, a kepszintezis feladategy negyes [Kel97]:

hS; fr(!0; ~x; !); Le(~x; !);We(~x; !)i

ahol S a feluletek geometriaja, fr a feluleti pontok optikai tulajdonsagat jellemzo BRDF fuggveny, L e a kisugarzottradiancia es We a meromuszerek gyujtemenye. A kepszintezis algoritmusok a feny-feluleti kolcsonhatasokat vizsgal-jak annak erdekeben, hogy a meromuszerekben erzekelheto teljesıtmenyt kiszamıtsak. A feny felulet kolcsonhatast azarnyalasi egyenletvagy a potencial egyenletırja le.

Page 14: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

12 2. Az arnyalas optikai alapmodellje

2.7. Azarnyalasi illetve a potencial egyenlet megoldasa

Matematikai szempontbol az arnyalasi (es a potencial) egyenlet egy masodfaju Fredholm-fele integralegyenlet, amelybenaz ismeretlen radianciafuggvenyt kell meghatarozni. Ez a radianciafuggveny egyreszt onalloan, masreszt az integralonbelul jelenik meg. Azt is mondhatjuk, hogy az egyenletben az integral es az azon kıvuli reszek kozott csatolas van, mertmindketto fugg az ismeretlen radianciatol. Intuitıven megkozelıtve ezt a kerdest, egy feluleti pont sugarzasa a visszavero-desek miatt fugghet a tobbi pont intenzitasatol, azok sugarzasa viszont akar eppen a kerdeses feluleti pont fenyessegetol.Ez a kolcsonos fugges kapcsolja ossze a kulonbozo pontok radianciajat. Ilyen integralegyenletek megoldasa altalabanmeglehetosen idoigenyes. Ha gyorsabban szeretnenk kepet kapni, akkor a megoldando feladat egyszerusıtesehez folya-modhatunk, elfogadva azt is, hogy a fizikai modell egyszerusıtese a valosaghuseg romlasahoz vezethet.

A rendelkezesre allo technikakat harom nagy kategoriaba sorolhatjuk, amelyek a gyorsasag-valosaghuseg ellentmon-do kovetelmenypart kulonbozo kompromisszummal elegıtik ki.

A lokalis illuminacios algoritmusok az arnyalasi egyenlet drasztikus egyszerusıtesevel kikuszobolnek mindenfelecsatolast, azaz egy felulet fenyessegenek meghatarozasahoz nem veszik figyelembe a tobbi felulet fenyesseget. Megvila-gıtas csak a kepen kozvetlenul nem lathato absztrakt fenyforrasokbol erkezhet. A csatolas megszuntetesevel az arnyalasiegyenletben az integralbol eltunik az ismeretlen fuggveny, ıgy az integralegyenlet megoldasa helyett csupan egy egyszeruintegralt kell kiertekelnunk.

A sugarkovetes illuminacios algoritmusaa csatolast csak veges szamu idealis visszaverodesre es toresre koveti.A globalis illuminacios algoritmusok az integralegyenletet a csatolassal egyutt probaljak megoldani, vallalva az ezzel

jaro munkamennyiseget is.

2.8. Fenyelnyelo anyagok

Az arnyalasi, illetve a potencial egyenlet szarmaztatasa soran felteteleztuk, hogy a feluletek kozott a fenyintenzitas nemcsokken, azaz a terben nincsenek fenyelnyelo es szoro anyagok (participating media). Ha felh oket, tuzet, fustot, kodot,stb. szeretnenk megjelenıteni, akkor a korabbi feltetelezesekkel alkotott modellek elegtelennek bizonyulnak, tehat altala-nosıtani kell oket.

Tekintsunk egy fenyelnyelo, fenyszoro, sot akar fenyemittalo (t uz) anyagon athalado sugarat! Egy ds elemi szakaszona sugar L intenzitasanak megvaltozasa tobb tenyezo fuggvenye:

A feny a palya menten elnyelodik illetve az eredetileg sugariranyu fotonok mas iranyba szorodnak az anyag mole-kulaival bekovetkezo utkozesek soran. Ezen hatas kovetkezmenye egy t L merteku valtozas (outscattering).

A fenyintenzitas az anyag sajat emissziojaval novekedhet: a Le.

Az eredetileg mas iranyu fotonok a molekulakba utkozve eppen a sugar iranyaban folytatjak az utjukat (inscatte-ring). Ha az !0 iranybol az elemi ds szakasz kornyezetebe L i(!0) radiancia erkezik, az ! sugariranyban tortenovisszaverodes valoszınuseg-surusegfuggvenye pedig f(! 0; !), akkor ez a hatas az intenzitast

Lis(s) =

Z

Li(!0) f(!0; !) d!0

mennyiseggel noveli.

2.5.abra. A sug´ar intenzitasanak valtozasa

Page 15: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.9. A geometria 13

Osszefoglalva a sugar radianciajara a kovetkezo egyenlet ervenyes:

dL(s; !)

ds= t(s) L(s; !) + a(s) Le(s; !) + Lis(s; !) =

t(s) L(s; !) + a(s) Le(s; !) +Z

Li(s; !0) f(!0; !) d!0: (2.22)

Ebben az egyenletben az ismeretlen radiancia tobb helyen is szerepel, megtalalhato derivalt formaban, normal alak-ban, sot az Li moge rejtve meg integralva is. Mivel a feladat sokkal egyszerubb lenne, ha az L i fuggetlen lenne azismeretlen radianciatol es valaki megsugna nekunk az L i erteket, a gyakorlatban sokszor olyan egyszerusıto feltetele-zeseket teszunk, amelyek ehhez az esethez vezetnek. Ekkor a fenynek csak az egyszeres szorodasat (single scattering)szamıtjuk, a tobbszoros szorodast (multiple scattering) elhanyagoljuk.

Az egyszeres szorodast leıro egyszerusıtett integralegyenletet a szuperpozıcio elvsegıtsegevel oldhatjuk meg. Eloszortegyuk fel, hogy az intenzitast novelo Le(s; !) es Lis(s; !) tenyezok csak egy pontban kulonboznek zerustol. Ezekhatasat egy s pontban ugy kapjuk, hogy figyelembe vesszuk a folyamatos csokkenest:

ÆL(s; !) = e

Rs

t(p) dp

(a() Le(; !) + Lis(; !)): (2.23)

Amennyiben nem csak a pontban novekedhet az intenzitas, ugy az elemi hatasokat osszegezni kell, tehat:

L(s; !) =

TZs

ÆL(s; !) d =

TZs

e

Rs

t(p) dp

(a() Le(; !) + Lis(; !)) d; (2.24)

ahol T a maximalis sugarparameter.

2.9. A geometria

A felulet 3D pontok halmaza [SK99b]. Azokat a pontokat mondjuk a halmazhoz tartozoknak, amelyek kielegıtik a defi-nıcios egyenletet. Az egyenlet eloallıthatja a pontokat implicit modon, amikor az egyenlet altalanos formaja

F (x; y; z) = 0;

vagy explicit modon, amikor az altalanos forma a kovetkezo:

~r = ~r(u; v); u 2 [0; 1]; v 2 [0; 1]: (2.25)

A feluleti pontokat ebben az esetben ugy kaphatjuk meg, hogy az egysegintervallumbolu; v ertekeket valasztunk es azokatbehelyettesıtjuk az ~r(u; v) fuggvenybe.

Az ismertetendo kepszintezis algoritmus haromszogekkel dolgozik, ezert a mas formaban adott geometriat haromszo-gekre kell atalakıtani. A tovabbiakban az altalanos feluletek tesszellaciojat es a poligonok haromszogesıteset targyaljuk.A haromszogesıtesnel figyelembe kell venni, hogy a keletkezo haromszoghalo ne tartalmazzon torz, azaz keskeny eshosszu haromszogeket, mert azok megnovelhetik a szamıtasi hibakat.

2.9.1. Parametrikus feluletek tesszellacioja

eredeti felület izovonalakkal pontok és háromszögek kijelölése a tesszelláció eredménye

2.6.abra. Kozelıtes haromszog haloval

Page 16: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

14 2. Az arnyalas optikai alapmodellje

A kepszintezis algoritmusok jelentos resze nem az eredeti geometriaval dolgozik, hanem a feluleteket haromszog ha-loval kozelıti. Ezt a kozelıtest — amelyet tesszellacionak is neveznek — ugy valosıtjuk meg, hogy nm pontot veszunkfel az u 2 [0; 1]; v 2 [0; 1] parameter terben es a

[~r(ui; vj); ~r(ui+1; vj); ~r(ui+1; vj+1)] es [~r(ui; vj); ~r(ui+1; vj+1); ~r(ui; vj+1)]

haromszogeket minden i = 1 : : : n 1 es j = 1 : : :m 1 ertekre hozzaadjuk a keletkezo haromszoglistahoz (2.6. abra).

2.9.2. Delaunay haromszogesıtes

Tegyuk fel, hogy az eredeti geometriat diszkret pontok adjak meg. A feladat tehat egy olyan illeszkedo haromszog haloeloallıtasa, amely nem tartalmaz hosszu keskeny haromszogeket. Ezt pontosabban ugy fogalmazhatjuk meg, hogy seme-lyik haromszog korulırt kore sem tartalmazhat mas haromszog csucspontot. Az ilyen felbontast Delaunay felbontasnaknevezzuk, amely a Voronoi diagramdualja.

A Delaunay haromszogesıtes inkrementalis megvalosıtasa a [GS77, GS85, Lis94] cikkekbol szarmazik. Az algoritmusegy olyan haromszogbol indul, amely az osszes adatpontot tartalmazza. A pontokat egyenkent adjuk hozza az adatszerke-zethez ugy, hogy a Delaunay tulajdonsag minden lepes utan megmaradjon. Eloszor az uj pontot tartalmazo haromszogetazonosıtjuk, majd uj eleket hozunk letre az uj pont es a tartalmazo haromszog csucspontjai kozott.

A tartalmazo haromszog eredeti oldalaira ellenorizzuk, hogy megsertik-e az ures korulırt kor elvarast, azaz az eredetioldal ket vegpontjara es az uj pontra egy kort illesztunk es azt minden egyes korabbi ponttal osszevetjuk. Ha ez a kor nemtartalmaz korabbi pontot, akkor az eredeti oldalt megtartjuk. Ellenkezo esetben az eredeti oldalt toroljuk es felvaltjuk azeredeti elre illeszkedo ket haromszog tavolabbi csucsait osszkoto ellel. Ezzel ket masik haromszog keletkezik, amelynekeredeti oldalait rekurzıvan ellenorizni kell. Az algoritmus implementacioja a [Lis94]-ban talalhato.

2.9.3. Sokszogek haromszogekre bontasa a fulek levagasaval

A kovetkezokben egy egyszeru haromszogesıto algoritmust ismertetunk, amely egy r 0; r1; : : : rn sokszoget haromszo-gekre oszt fel. Kezdjuk ket alapveto definıcioval:

Egy sokszog diagonalja egy, a sokszog ket csucsat osszekoto szakasz, amely teljes egeszeben a haromszog belje-seben van. A diagonal tulajdonsag egy szakaszra ugy ellenorizheto, ha az osszes oldallal megprobaljuk elmetszenies megmutatjuk, hogy metszespont csak a vegpontokban lehetseges, valamint azt, hogy a szakasz egy tetszolegesbelso pontja a sokszog belsejeben van.

A sokszog egy csucsa ful, ha az adott csucsot megelozo es koveto csucsokat osszekoto szakasz a sokszog diago-nalja. Nyilvan csak azok a csucsok lehetnek fulek, amelyekben a belso szog 180 foknal nem nagyobb. Az ilyencsucsokat konvex csucsoknak nevezzuk, a nem konvex csucsokat pedig konkav csucsoknak.

A haromszogekre bonto algoritmus fuleket keres, es azokat levagja addig, amıg egyetlen haromszogre egyszerusodikaz eredeti sokszog. Az algoritmus az r2 pontnal kezd. Az algoritmus egy lepesben, amikor az i. csucsnal van, eloszorellenorzi, hogy a megelozo r i1 csucspont ful-e. Ha az nem ful, a kovetkezo csucspontra lep (i = i+ 1). Ha a megelozocsucs ful, akkor a ri2; ri1; ri haromszoget letrehozzuk, es az r i1 csucsot toroljuk a sokszog csucsai kozul. Ebben azesetben csak akkor lepunk a kovetkezo csucspontra, ha az uj megelozo csucspont eppen a 0 indexu, egyebkent nem.

2.9.4. Haromszogek tovabb-bontasa

Elofordulhat, hogy a felosztas utan keletkezo haromszogek meg mindig tulsagosan nagyok, es emiatt a haromszogek su-garsuruseget homogennek vagy linearisnak feltetelezo algoritmusok szamıtasi hibaja nagy. Ekkor a haromszoget tovabbkell bontani, amelyre ket eljaras is hasznalhato. Felbonthatjuk egy lepesben a haromszoget ket kis haromszogre ugy, hogymegkeressuk a leghosszabb oldalt, azt megfelezzuk, es a felezopontot a szemkozt levo csuccsal osszekotjuk. A masikmegoldas minden oldalt megfelez es a harom felezopontot koti ossze, ıgy a haromszoget negy darab, az elozovel hasonloreszre bontja.

2.9.5. Nem-folytonos felbontas

Az eles arnyekok miatt a haromszog homogen radianciajara vonatkozo feltetelezes egyes helyeken nem tarthato. Ekkormeg kell keresni a haromszogon belul az arnyek helyet, es ennek menten kell a darabolast elvegezni. A muvelet pontosmegvalosıtasahoz az arnyekok helyet szamıtani kell. Kozelıto jelleggel az arnyekok szamıtasa nelkul is alkalmazhatjukaz elvet. Keressuk meg azon pontokat, amelyek a felbontando sokszoghoz kozel vannak es vetıtsuk ezeket a pontokat asokszog sıkjara, majd ezekre a vetuletekre is terjesszuk ki a haromszogesıtest.

Page 17: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.10. BRDF modellek 15

2.10. BRDF modellek

Valosaghu kepek eloallıtasa soran olyan BRDF modelleket kell hasznalnunk, amelyek nem sertik az alapveto fizikai tor-venyeket, mint peldaul a BRDF-k szimmetriajat kimondo Helmholtz-torvenyt, vagy az energiamegmaradastorvenyet.

A Helmholtz-fele szimmetria, vagy reciprocitas[Min41] szerint a fenysugar megfordıthato, azaz a BRDF-ben a bejo-vo es kimeno iranyok felcserelhetoek:

fr(!; ~x; !0) = fr(!

0; ~x; !): (2.26)

Ez a tulajdonsag az, amely miatt a valoszınuseg-surusegfuggvenyekkel szemben a BRDF-eket reszesıtjuk elonyben azoptikai anyagmodellek megadasanal. A szimmetria miatt

fr(!0; ~x; !) cos 0 = fr(!; ~x; !

0) cos 0 =w(!; ~x; !0)

cos 0 cos 0 = w(!; ~x; !0): (2.27)

Az energiamegmaradas elve ertelmeben, egy onalloan nem sugarzo feluletelem nem adhat ki tobb fotont (nagyobbfluxust), mint amit maga kapott, vagy maskeppen, a tetszoleges iranyu visszaverodes teljes valoszınusege nyilvan nemlehet egynel nagyobb. A tetszoleges iranyu visszaverodest albedonak nevezzuk. Az albedo definıcioja:

a(~x; !0) =

Z

fr(!0; ~x; !) cos d! 1: (2.28)

Az energiamegmaradas elve ertelmeben az arnyalasi egyenlet integraloperatora kontrakcio, azaz a visszavert radiancia-fuggveny normaja az eredeti radianciafuggveny normajanal kisebb. Ennek az a kovetkezmenye, hogy az operator egymasutani alkalmazasa soran a visszavert radiancia zerushoz tart. Mikent a megoldasi modszerek ismertetesenel latni fogjuk,a kontrakcio garantalja, hogy az iteracios megoldasok konvergalnak.

A reciprocitast es az energiamegmaradas elvet nem serto BRDF-eket fizikailag plauzibilisnek nevezzuk [Lew93].A BRDF modellek bemutatasa soran a kovetkezo jeloleseket hasznaljuk: ~N a feluletelemre meroleges egysegvektor,

~L a fenyforras iranyaba mutato egysegvektor, ~V a nezoiranyba mutato egysegvektor, ~R az ~L tukorkepe az ~N -re vonat-koztatva, ~H az ~L es ~V kozotti felezo egysegvektor.

2.10.1. Lambert-torveny

Optikailag nagyon durva, un. diff uz anyagok eseten a visszavert radiancia fuggetlen a nezeti iranytol. Feherre meszeltfalra, homokra, matt feluletre nezve ugyanazt a hatast erzekeljuk ha merolegesen nezunk ra, mintha elesebb szogbenvizsgalodnank.

L

NV L

θ θ’

in

2.7.abra. Diffuz visszaver˝odes

A Helmholtz-fele reciprocitas ertelmeben a BRDF ekkor a bejovo iranytol sem fugghet, azaz a BRDF konstans:

fr(~L; ~V ) = kd: (2.29)

Az energiamegmaradas miatt az albedo diffuz visszaverodes eseten sem lehet 1-nel nagyobb, ıgy a k d diffuz vissza-verodesi egyutthatora a kovetkezo korlat allıthato fel:

a(~L) =

Z

kd cos d! = kd =) kd 1

: (2.30)

Page 18: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

16 2. Az arnyalas optikai alapmodellje

2.10.2. Idealis visszaverodes

Az idealis tukor teljesıti a geometriai optikaaltal kimondott visszaverodesi torvenyt miszerint a beesesi irany (~L), feluletinormalis ( ~N) es a kilepesi irany (~V ) egy sıkban van, es a 0 beesesi szog megegyezik a visszaverodesi szoggel ( 0 = ).Az idealis tukor tehat csak az ~R visszaverodesi iranyba ver vissza, egyeb iranyokba nem. A BRDF tehat Dirac-deltafuggvennyel adhato meg (a Dirac-delta a 0 erteknel vegtelen, minden mas erteknel zerus, de integralja 1):

fr(~L; ~V ) = kr Æ(~R ~V )

cos 0; az energiamegmaradashoz kr 1: (2.31)

Meg a tokeletes tukrok is elnyelik a beerkezo feny egy reszet. A visszavert es beeso energia hanyadat az anyag Fres-nel-egyutthatoja fejezi ki, ami pedig az anyag toresmutatojabol szamıthato ki. A toresmutato dielektrikumoknal skalar,az elektromossagot vezeto femeknel azonban komplex szam. Jeloljuk a toresmutato valos reszet n-nel, az elektromosvezetokepesseget kifejezo kepzetes reszet pedig -val.

Legyen a beerkezo fenysugar es a feluleti normalis altal bezart szog 0, a toresi irany es a normalis kozotti szog pedig. A Fresnel-egyenletek a visszavert es a beerkezo fenynyalabok energiahanyadat fejezik ki kulon arra az esetre, amikora feny polarizacioja parhuzamos, es arra, amikor a polarizacio meroleges a felulettel:

F?(; 0) =

cos (n+ |) cos 0

cos + (n+ |) cos 0

2

; Fk(; 0) =

cos 0 (n+ |) cos cos 0 + (n+ |) cos

2

; (2.32)

ahol | =p1. Ezen egyenleteket az elektromagneses hullamok terjedeset leıro Maxwell-egyenletekbol szarmaztat-

hatjuk. Nem polarizalt feny eseteben a parhuzamos ( ~Ek) es meroleges ( ~E?) mezoknek ugyanaz az amplitudoja, ıgy avisszaverodesi egyutthato:

kr = F (; 0) =jF 1=2

k ~Ek + F

1=2?

~E?j2

j ~Ek + ~E?j2=Fk + F?

2: (2.33)

Dielektrikumokra a toresmutato valos, ekkor a Fresnel tagot jol kozelıthetjuk a Schlick altal javasolt keplettel:

F (; cos 0) (n() 1)2 + (1 cos 0)5 4n()

(n() + 1)2:

2.10.3. Idealis tores

Az idealis tores soran a feny utja koveti a Snellius-Descartes-torvenyt, miszerint a beesesi irany (~L), a feluleti normalis( ~N) es a toresi irany (~V ) egy sıkban van, es

sin 0

sin = n;

ahol n az anyag relatıv toresmutatoja. A BRDF az idealis visszaverodeshez hasonloan ugyancsak Dirac-delta jellegufuggveny

fr(~L; ~V ) = kt Æ(~T ~V )

cos 0; (2.34)

ahol ~T a toresi irany.

2.10.4. Phong illuminacios modelles valtozatai

Az inkoherens — azaz nem a geometriai visszaverodesi torvenynek megfeleloen viselkedo idealis — visszaverodestaltalaban ket tenyezore bontjuk. Diffuz visszaverodesre, amelyet a Lambert-torvennyel ırunk le, es spekularis visszavero-desre, amelyre kulon modellt allıtunk fel.

A Phong BRDF a spekularis visszaverodes egyszeru empirikus modellje [Pho75]. A spekularis feluletek a beerkezofeny jelentos reszet az elmeleti visszaverodesi irany kornyezetebe verik vissza. Ezt a jelenseget modellezhetjuk barmelyolyan fuggvennyel, amely a visszaverodesi iranyban nagy erteku, es attol tavolodva rohamosan csokken.

Phong a kovetkezo fuggvenyt javasolta erre a celja:

fr;Phong(~L; ~V ) = ks (~R ~V )n

( ~N ~L)(2.35)

ahol ~R az ~L vektor tukorkepe a feluleti normalisra.A ks faktor a Fresnel-egyutthatoval aranyos, de annal kisebb, hiszen a felulet most nem idealis tukor. A k s faktort

dielektrikumoknal tekinthetjuk hullamhossz es beesesi szog fuggetlennek (egy muanyagon, a feher feny altal letrehozotttukros visszaverodes feher).

Page 19: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.10. BRDF modellek 17

ψ L

NH

V

I

R

2.8.abra. Spekul´aris visszaver˝odes

Az eredeti Phong-modell fizikailag nem plauzibilis, mert nem szimmetrikus. Ezert a fotorealisztikus kepszintezisbenehelyett a kovetkezo valtozatokat hasznaljak [ICG86]:

fr;reciprocalPhong(~L; ~V ) = ks (~R ~V )n (2.36)

Az ilyen modell altal visszavert radiancia nagy beesesi szogekre zerushoz tart, ami nem felel meg a gyakorlati tapasztala-tainknak. Ezt a hianyossagot kuszoboli ki a kovetkezo valtozat [NNSK98b]:

fr;maxPhong(~L; ~V ) = ks (~R ~V )n

max (( ~N ~V ); ( ~N ~L))(2.37)

Az energiamegmaradashoz a kovetkezo feltetelt kell garantalni [LW94]:

ks n+ 2

2: (2.38)

Ha a ks parametert a Fresnel-egyutthato alapjan hatarozzuk meg, akkor gondot jelent az, hogy milyen beesesi szogretekintsuk annak az erteket. A feluleti normalis es a fenyvektor szoge most nem megfelelo, egyreszt azert, mert ekkora BRDF nem lesz szimmetrikus, masreszt azert, mert a feluleti egyenetlensegek kovetkezteben egy pontban a tenylegesnormalvektor nem allando, hanem valoszınusegi valtozo. Ha a feluletet kis, veletlenszeruen orientalt idealis tukrok gyuj-temenyenek tekintjuk, akkor azon feluletelemek, amelyek ~L-bol ~V iranyba vernek vissza, a visszaverodesi torvenynekmegfeleloen ~H = (~L + ~V )=2 normalvektorral rendelkeznek. A beeses szogenek koszinuszat a ( ~H ~L) skalarszorzatbolszamolhatjuk ki.

2.10.5. Cook-Torrance modell

A Cook-Torrance modell a spekularis visszaverodes fizikai alapu modellje, amely a feluletet veletlen orientacioju, azonosS teruletu, idealis tukor jellegu mikrofeluletek halmazanak tekinti. A feltetelezes szerint a mikrofeluletek egyszeres visz-szaverodese a spekularis taghoz jarul hozza. A tobbszoros visszaverodes, illetve a fotonok elnyelese es kesobbi emissziojaviszont a diffuz (vagy mas neven matt) tagot erosıti.

Tekintsuk az egyszeres visszaverodesekbol szarmazo spekularis tagot. Az ~L iranybol a ~V koruli d!~V terszogbe tarto

egyszeres visszaverodeshez azok a mikrofeluletek jarulhatnak hozza, amelyek normalvektora az ~L es ~V kozotti ~H fele-zovektor koruli d! ~H terszogben vannak. Az egyszeres visszaverodeshez a mikrofeluletet mas feluletek nem takarhatjak,a visszavert foton nem utkozhet mas feluletekkel es a mikrofelulet sem nyelheti el a fotont. Azon esemeny tehat, hogy “afelulet a fotont kozvetlenul a ~V koruli d!~V terszogbe veri” a kovetkezo esemenyek ES kapcsolataval fejezheto ki:

1. Orient acio: A foton utjaba egy olyan mikrofelulet kerul, amelynek a normalvektora a ~H koruli d! ~H terszogbenvan.

2. Nincsarnyekolases maszkolas: A megfelelo orientacioju mikrofeluletet nem takarjak mas feluletek es a visszavertfoton nem utkozik ujabb mikrofeluletekkel.

3. Visszaverodes: A fotont nem nyeli el az idealis tukor jellegu mikrofelulet.

Mivel a visszaverodes illetve az arnyekolas es maszkolas fuggetlen esemenyek, ha az orientacio adott, a fenti osszetettesemeny valoszınusege a kovetkezo szorzatkent ırhato fel:

Prforientacio ^ nincs arnyekolas es maszkolas ^ visszaverodesg =

Page 20: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

18 2. Az arnyalas optikai alapmodellje

Prfnincs arnyekolas es maszkolas j orientaciog Prfvisszaverodesj orientacio g Prforientaciog:

Ha a foton ~L iranybol erkezik egy dA feluletelemre, a feluletelem ebbol az iranybol lathato terulete dA ( ~N ~L). Azonmikrofeluletek teljes lathato teruletete, amelyek normalvektora ~H koruli d! ~H terszogben van, pedig a mikrofelulet lat-

hato teruletenek (S ( ~H ~L)), es a megfelelo orientacioju mikrofeluletek szamanak a szorzata. A mikrofeluletek szamaviszont a megfelelo orientacio valoszınusegenek (P ~H(

~H) d! ~H ) es az osszes mikrofelulet szamanak szorzatakent szamıt-hato (dA=S). Annak valoszınusege, hogy a foton megfelelo mikrofeluletet talal, a megfelelo orientacioju mikrofeluleteklathato terulete osztva a feluletelem teljes lathato teruletevel:

Prforientaciog =S ( ~H ~L) P ~H( ~H) d!H dA=S

dA ( ~N ~L):

L

H

V

dH

dH

dV

dV

d

d

hor

vert

hor

vert

ω

ω θ

H

V

H

θ

2.9.abra. Ad!~H=d!~V szamıtasa

A visszaverodesi surusegfuggvenyben d! ~V szerepel, nem pedig d! ~H , ezert ki kell szamıtanunk a d! ~H=d!~V hanya-

dost [JGMHe88]. Vegyunk fel egy (; ) gombi koordinatarendszert ugy, hogy az eszaki polus az ~L iranyra essen (2.9.abra). A terszogeket a vızszintes es fuggoleges ıvek hosszainak a szorzatakent ırhatjuk fel:

d!~V = dVhor dVvert; d! ~H = dHhor dHvert:

Ebben a gombi koordinatarendszerben V = 2H . Geometriai meggondolasokkal azt kapjuk, hogy:

dVhor = d sin V ; dHhor = d sin H ; dVvert = 2dHvert:

Ebbol a differencialis terszog:

d! ~Hd!~V

=sin H2 sin V

=sin H

2 sin 2H=

1

4 cos H=

1

4(~L ~H): (2.39)

Osszefoglalva, az orientacios valoszınuseg

Prforientaciog =P ~H(

~H) ( ~H ~L)( ~N ~L)

d! ~Hd!~V

d!~V =P ~H(

~H)

4( ~N ~L) d!~V :

A mikrofelulet ~V iranybol akkor lathato, ha az ebbol az iranybol erkezo foton nem utkozik mas mikrofeluletekkel,mielott az adott mikrofeluletet elerne. Az utkozest maszkolasnak nevezzuk. A 2.10. abra alapjan felismerhetjuk, hogy amaszkolas valoszınusege l1=l2, ahol l2 a mikrofelulet egydimenzios merete es l1 azt a hataresetet jelenti, amikor a maszko-las eloszor bekovetkezik. A mikrofeluletek ekje es a hataresetnek megfelelo fenysugar altal kozbezart haromszog szogeitkifejezhetjuk az = angle( ~N; ~H) es = angle(~V ; ~H) = angle(~L; ~H) szogek segıtsegevel, geometriai megfontolasokes a visszaverodesi torveny alapjan. A szinusz tetel es trigonometrikus azonossagok felhasznalasaval:

Prfnincs maszkolas j orientaciog = 1l1

l2= 1

sin( + 2 =2)

sin(=2 )= 2

cos cos( + )

cos:

Page 21: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.10. BRDF modellek 19

β+2α−π/2

π/2−β

β

αL

NH

V

l l1 2

l2

2.10.abra. A maszkol´as geometri´aja

A hasznalt szogek definıcioja alapjan cos = ( ~N ~H), cos( + ) = ( ~N ~V ) es cos = (~V ~H).Ha a beerkezo feny iranya es a mikrofelulet orientacioja nem hoz letre haromszoget, akkor a maszkolas valoszınusege

zerus. Ezt az esetet felismerhetjuk, ha a vektorokat a fenti kepletbe helyettesıtjuk es amennyiben a szamıtott ertek 1-nelnagyobbra adodna, akkor a valoszınuseget 1-re allıtjuk:

Prfnincs maszkolas j orientaciog = minf2 ( ~N ~H) ( ~N ~V )

(~V ~H); 1g:

Az arnyekolasvaloszınuseget pontosan ugyanıgy szamıthatjuk ki, csak az ~L fenyvektort es a ~V nezeti iranyt fel kellcserelni. Mivel egy adott mikrofelulet irany eseten a maszkolasbol vagy az arnyekolasbol kovetkezik a masik esemenybekovetkezese, annak a valoszınusege, hogy sem arnyekolas, sem pedig maszkolas nem tortenik, a ket valoszınuseg mi-nimuma:

Prfnincs arnyekolas es maszkolas j orientaciog = minf2 ( ~N ~H) ( ~N ~V )

(~V ~H); 2

( ~N ~H) ( ~N ~L)(~L ~H)

; 1g = G( ~N; ~L; ~V ):

Mint lattuk, meg tokeletes tukrok is elnyelik a beerkezo feny egy reszet, amint azt a Fresnel egyenletekmegfogalmaz-zak. Mivel az F (; 0) Fresnel fuggveny a visszavert es beerkezo fenyenergia aranyat fejezi ki, egyuttal a visszaveresvaloszınusegekent is ertelmezheto:

Prfvisszaverodesj orientacio g = F (; ~H ~L):

Vegyuk eszre, hogy a 0 belepesi szoget a ~H ~L = cos szogre csereltuk fel, hiszen az ~L iranybol a ~V iranyba azonidealis tukor mikrofeluletek verhetnek vissza, amelyek normal vektora eppen ~H .

Most mar osszegezhetjuk az eredmenyeket es megadhatjuk a w( ~L; ~V )d!~V visszaverodesi valoszınusegsuruseg fugg-venyt:

w(~L; ~V )d!~V =P ~H(

~H)

4( ~N ~L)G( ~N; ~L; ~V ) F (; ~H ~L) d!~V : (2.40)

A BRDF a visszaverodesi surusegfuggveny osztva a kilepesi szog koszinuszaval ( ~N ~V ), ıgy azt kapjuk, hogy:

fr(~L; ~V ) =P ~H(

~H)

4( ~N ~L)( ~N ~V )G( ~N; ~L; ~V ) F (; ~H ~L): (2.41)

A P ~H (~H) mikrofelulet orientacios surusegfuggvenyt tobb kulonbozo megkozelıtessel definialhatjuk. Blinn [Bli77] a

Gauss fele normalis eloszlast javasolta a centralis hatareloszlas tetel szellemeben:

P ~H(~H) = const e(=m)2 ; (2.42)

ahol mikrofelulet normalvektor ( ~H) es a makrofelulet normalvektora ( ~N) kozotti szog, m pedig a felulet durvasagat ki-fejezo tenyezo. Kesobb Torrance es Sparrow megmutatta, hogy az Beckmann [BS63] es Davies [Dav54] altal kidolgozott,az elektromagneses hullamok durva feluletek okozta szorodasat leıro elmelet is hasznalhato es a Beckmann eloszlassalhelyettesıtette a normalis eloszlast:

P ~H(~H) =

1

m2 cos4 e

tan

2

m2

: (2.43)

Sajnos ez az eloszlas nem alkalmas fontossag szerinti mintavetelre. Ezt a hianyossagot kuszoboli ki a Ward fele valtozat:

P ~H(~H) =

1

m2 cos3 e

tan

2

m2

: (2.44)

Page 22: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

20 2. Az arnyalas optikai alapmodellje

A megfelelo mintavetelezesi sema az alabbi:

= arctan(m p log(1 u)); = 2 v:

2.11. Fenyforr asok

A fenyforrasok olyan feluletek, ahol az Le sajat sugarzas nem zerus. A kepszintezis soran absztrakt fenyforrasokat ishasznalhatunk, amelyek nem fordulhatnak elo a valos eletben [SKe95]. Ezek legfontosabb tıpusai a kovetkezok:

a pont-fenyforras a 3D egy pontjaban talalhato, kiterjedese nincs. Egy masik pontban a sugarzasi irany a pon-tot es a fenyforras helyet osszekoto vektor. Az intenzitas a tavolsag negyzetevel csokken. Az elektromos izzo jokozelıtessel ebbe a kategoriaba sorolhato.

az ir any-fenyforrasvagy mas neven parhuzamos-fenyforrasvegtelen tavol levo sık sugarzonak felel meg. Az irany-fenyforras iranya es intenzitasa minden pontban azonos. A nap irany-fenyforrasnak tekintheto.

az ambiens-fenyforrasminden pontban es minden iranyban azonos intenzitasu.

2.12. Meromuszerek

A kameramodellmegalkotasahoz vizsgaljuk meg, hogy hogyan reagal az emberi szema monitorbol es a valos vilagbolerkezo ingerekre.

e∆ω

yΩp

p

Ωp

y - evalós világ szemlélése monitor szemlélése

e

pixel

Φ

θ Lp

Φpe∆

||

2.11.abra. Az emberi szem modellje

Az emberi szemben egy lencse, un. pupilla talalhato, amelynek merete e (2.11. abra). A tovabbiakban feltetelez-zuk, hogy a pupilla a monitorhoz es a targyakhoz kepest kicsiny. Amikor a szem a monitortol kap ingereket, p pixelt p

terszogben latjuk. Annak erdekeben, hogy a monitorbol erkezo gerjesztes a valos gerjesztessel egyezzen meg, a pixel altalkibocsatott es a pupillara erkezo p teljesıtmenynek a valos vilagbol a p terszogbol a pupillara juto teljesıtmenynekkell megfelelnie. Amennyiben a pixel sugarzasi intenzitasa Lp, a pixelbol a pupillara juto teljesıtmeny:

p = Lp e cos e p;

ahol e a pupilla feluleti normalisa es a pixel iranya altal bezart szog.A kameramodellnek olyan P mert erteket kell eloallıtani, amelyet a rasztertarba ırhatunk, es amellyel a monitort veze-

relhetjuk. A monitor valaszat egyB R(P) osszefuggessel jellemezhetjuk, aholB az aktualis fenyerobeallıtasoktol fuggoskalatenyezo, R pedig normalizalt, de esetlegesen nem linearis fuggveny. A monitor nem linearitasat kompenzalhatjukugy, hogy a look-up tabla segıtsegevel a P ertekeket elotorzıtjuk ezen normalizalt valasz inverzevel, azaz R 1-gyel. Atorzıtast gamma-korrekcionaknevezik. A gamma-korrekcio utan a sugarsuruseg:

Lp = B R(R1(P )) = B P:

Mivel elvarasunk szerint p = , a kameramodellnek a kovetkezo mert erteket kell szolgaltatnia:

P = RR1

Lp

B

=Lp

B=

e cos e p B:

Page 23: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.12. Meromuszerek 21

Rendeljunk egy meromuszert ehhez a pixelhez. Muszerunk a pixelben — azaz a p terszogben — lathato pontokra esazokra az iranyokra erzekeny, amelyek a lathato pontokat a pupillaval osszekotik. Formalisan ez a kovetkezo erzekeny-segfuggvennyel adhato meg:

W e(~y; !) =

(C; ha ~y lathato a p terszogben es ! az ~y pontbol a e pupillara mutat ;

0; egyebkent,(2.45)

ahol

C =1

e cos e p B:

A muszer a kovetkezo mert erteket mutatja:

P =ML =

Z

ZS

L(~y; !) W e(~y; !) cos d~yd!: (2.46)

A 2.1. egyenlet alkalmazasaval, az alabbi helyettesıteseket vegezhetjuk el:

d! = d~e cos ej~y ~ej2

; d~y =j~y ~ej2

cos d!p;

ahol d~e a pupilla egy differencialis terulete es j~y ~ej a lathato felulet es a pupilla tavolsaga. Ezeket behelyettesıtve eskihasznalva, hogy a pupilla e merete kicsiny, a kovetkezoket kapjuk:

P =

Zp

Ze

L(h(~e;!p); !p) C cos ej~y ~ej2

j~y ~ej2

cos cos d~ed!p =

Zp

Ze

L(h(~e;!p); !p) C cos e d~ed!p

Zp

L(h( ~eye;!p); !p) C cos e e d!p =Zp

L(h( ~eye;!p); !p) 1

p Bd!p; (2.47)

ahol ~eye a kicsiny pupilla pozıcioja, !p pedig az ~y pontot a szemmel osszekoto irany.Vegyuk eszre, hogy a mert ertek fuggetlen mind a lathato pont tavolsagatol, mind pedig a lathato felulet orientaciojatol.

Ez megfelel annak a tapasztalatnak, hogy egy objektumra (peldaul a falra) ranezve ugyanolyan fenyesnek erezzuk akkoris, ha kozelebb megyunk hozza, vagy ha eltavolodunk tole. A jelenseget azzal magyarazhatjuk, hogy amikor tavolodunk afelulettol, bar az egysegnyi felulet altal kibocsatott es a szembe juto teljesıtmeny csokken a tavolsag negyzetevel, az adottterszogben lathato felulet nagysaga ugyanezen sebesseggel no. Hasonloan, ha nem merolegesen nezunk ra egy feluletre,a sugarsuruseget az orientacios szog koszinuszaval szorozni kell, viszont a lathato terulet tenyleges merete fordıtottanaranyos ezen szog koszinuszaval.

ωp

Ωp

f

eye

θ

d p

ablak

pixel

p

: fókusz távolság

ωy

Ωp

y - eye

eye

θ

||

d p

2.12.abra. A mert ertek kiszamıtasa a pixelen v´egrehajtot integr´alaskent (bal)es a feluleten vegrehajtott integr´alaskent (jobb)

Az p terszog azon iranyokat tartalmazza, amelyek keresztulmennek a pixelen. A mert erteket ado integral az S p

teruletu pixelen is kiertekelheto (2.12. abra). Legyen ~p a pixelen futo pont, p pedig a pixel feluleti normalisa es a ~p ~eyevektor altal bezart szog. Jeloljuk pix-szel p erteket a pixel kozepen. Mivel fenall a j~p ~eyej = f= cos p osszefugges,ahol f a fokusztavolsag, azaz a szem es az ablak sıkja kozotti tavolsag, a kovetkezo osszefuggest allıthatjuk fel:

d!p =d~p cos pj~p ~eyej2

=d~p cos3 p

f2: (2.48)

Page 24: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

22 2. Az arnyalas optikai alapmodellje

Behelyettesıtve a 2.47. egyenletbe, a mert ertek az alabbi:

P =

ZSp

L(h(~p;!~p); !~p) 1

p Bcos3 pf2

d~p:

Vezessuk be a c(~p) kamera parametert:

c(~p) =Sp

p Bcos3 pf2

: (2.49)

Felhasznalva, hogy

p =

Zp

d!p =

ZSp

cos3 pf2

d~p Sp cos3 pix

f2; (2.50)

a kamera parameter a kovetkezo modon kozelıtheto:

c(~p) =Sp cos3 p

B RSp

cos3 p d~p

cos3 pB cos 3pix

1

B: (2.51)

Ez a kozelıtes akkor pontos, ha a pixel a fokusztavolsaghoz kepest kicsiny. Osszefoglalva, a mert erteket egy pixelenszamıtott integrallal kapjuk:

P =

ZSp

L(h(~p;!~p); !~p) c(~p)

Spd~p: (2.52)

A 2.47. egyenlet integraljat a feluleteken is kiertekelhetjuk. Az 2.12. abra jeloleseivel azt kapjuk, hogy:

d!p =d~y cos j~y ~eyej2

ahol ~y a pixelben lathato feluleti pont. Legyen azon pontok indikator fuggvenye, amelyek a p terszogben lathatokVp(~y). A mert ertek tehat:

P =

ZS

L(~y; !~y! ~eye) Vp(~y) 1

p B

cos

j~y ~eyej2d~y:

Vezessuk be a feluleti kamera parametert:

g(~y) =1

p B j~y ~eyej2=

f2

B j~y ~eyej2 RSp

cos3 p d~p

f2

B j~y ~eyej2 Sp cos3 pix(2.53)

a 2.50. egyenlet felhasznalasaval, amely p terszoget fejezi ki. A mert ertek vegso alakja a kovetkezo:

P =

ZS

L(~y; !~y! ~eye) Vp(~y) g(~y) cos d~y: (2.54)

Ezen kepletet a 2.46. egyenlettel osszevetve az alabbi erzekenysegfuggvenyt kapjuk:

W e(~y; !) =

8<:Æ(! !~y! ~eye) g(~y); ha ~y lathato a pixelen keresztul;

0; egyebkent.(2.55)

2.13. Szınlekepzes

A fenyelektromagneses hullam es a szın ezen hullam spektralis jellemzoinek hatasa az emberi szemben. A szem nagyongyenge spektrometer, a fotopigmentjei a beerkezo energiat harom, reszben atlapolodo savban kepesek merni. Ennek ko-vetkezteben a monitoron nem szukseges a szamıtott spektrumot reprodukalni, csupan olyat kell talalni, amely a szembenugyanolyan szınerzetet ad. Ezt a lepest nevezzuk szınlekepzesnek (tone mapping).

Idaig a fenyt radiometriai jellemzokkel ırtuk el, amely azt kulonbozo hullamhossztartomanyokban atvitt enegrianya-labkent kozelıti meg. Az emberi szem azonban nem egyenlo mertekben erzekeny a kulonbozo hullamhosszokra, ezert

Page 25: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.13. Sz´ınlekepzes 23

a vizualis hatas kifejezese miatt a spektrumot a szem erzekenysegi gorbejevel sulyozni szoktak. A sulyozott mertekeketfotometriai jellemzoknek nevezzuk.

Ahelyett, hogy a spektrumfuggvenyekkelkellene dolgoznunk [ Abr97, Nem90], a szınerzetet harom skalarral jellemez-hetjuk, amelyeket tristimulus ertekeknek is nevezzuk. Maskeppen, a szınerzetek tere harom dimenzios. Ebben a terbenegy koordinata-rendszert felallıthatunk ugy, hogy harom olyan hullamhosszot valasztunk, ahol mindig masik fotopigmensdominans [SK99b]. A torvenyt formalisan Grassmann mondta ki, aki megadta a harom hullamhossz szetvalasztasanakpontos kriteriumait is. Nevezetesen a Grassmann torvenyszerint a reprezentatıv hullamhosszokat ugy kell kivalasztani,hogy a harom kozul semelyik hullamhossz okozta szınerzetet ne lehessen kikeverni a masik ketto kombinaciojakent. Areprezentatıv hullamhosszok egy megfelelo valasztasa az alabbi:

red = 645 nm; green = 526 nm; blue = 444 nm: (2.56)

Ezeket voros, zold es kek osszetevoknek nevezzuk.Tetelezzuk fel, hogy a szemunk hullamhosszu monokromatikus fenyt erzekel. Az ekvivalens voros, zold es kek

intenzitasokat azaz az (r, g, b) tristimulus ertekeket harom szınilleszto fuggvennyelallıthatjuk elo (r(), g() es b()),amelyeket fiziologiai meresekkel vettek fel (2.13. abra). Vegyuk eszre, hogy az r() fuggveny (es kisebb mertekben ag() is) egyes hullamhossztartomanyokban negatıv, azaz az adott monokromatikus feny keltette szınerzet nem allıthatoelo voros, zold es kek fenyek pozıtıv keverekekent.

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

400 450 500 550 600 650 700

r,g,

b

lambda[nm]

R=645nm, G=526nm, B=444nm matching functions

r(lambda)g(lambda)b(lambda)

2.13.abra. Stiles ´es Burch 10-fokos l´atoszogben felvett sz´ınilleszto fuggvenyei:r(), g(), b().

Ha az erzekelt feny kromatikus (nem monokromatikus), hanem spektuma egy L() fuggvennyel jellemezheto, a tris-timulus koordinatakat azzal a feltetelezessel szamıthatjuk ki, hogy a szınerzet az elemi monokromatikus komponensekosszege:

r =

Z

L() r() d; g =

Z

L() g() d; b =

Z

L() b() d: (2.57)

A szamıtogepes grafika celja az, hogy a virtualis vilag kepet a szamıtogepes monitoron nezo felhasznalo szınerzetekozelıtoleg a valos vilag szemlelesekor keletkezo szınerzettel egyezzen meg. Mivel szınerzeteket (r, g, b) harmasokkaladunk meg, a fenti kovetelmeny a monitor fenykibocsatasabol szamıtott illetve a valos vilag fenye alapjan meghatarozotttristimulus ertekek megegyezoseget jelenti. Ha ket, akar nagyon kulonbozo spektum hasonlo tristimulus ertekekre vezet,akkor a szem altal megkulonboztethetetlenek. Ezeket a spektrumokat metamereknek nevezzuk.

A szamıtogepes monitorokban az elektronsugarak harom kulonbozo foszforvegyuletet bombaznak, amelyek ennekhatasara voros, zold es kek szınu fenyt bocsatanak ki. Az elektronsugarakat tehat ugy kell szabalyozni, hogy a gerjesztettfeny a valos feny metamerjet adja [Sch96, BS95]. A gerjesztest az egyes pixelek (R, G, B) ertekeivel szabalyozhatjuk,amelyeket a raszter-memoria tarol. A 2.13. abra (r, g, b) szınilleszto fuggvenyei fuggenek a harom valasztott hullamhossz-tol (ezek a fenti abran rendre 645 nm, 526 nm es 444 nm). Elofordulhat, hogy a sajat monitorunk mas hullamhosszokonsugaroz. Ekkor a pixel (R, G, B) ertekeit egy jarulekos linearis transzformacioval szamıthatjuk ki.

Osszefoglalva, a pixelR;G;B ertekeinek szamıtasa a kovetkezo lepesekbol all. Eloszor a pixelhez tartozo spektrumothatarozzuk meg, majd a szınilleszto fuggvenyek segıtsegevel eloallıtjuk a harom szabvanyos tristimulus koordinatat. Ve-gul a tristimulus ertekeket a monitor valodi szınkoordinataira transzformaljuk figyelembe veve a monitor tulajdonsagait. A

Page 26: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

24 2. Az arnyalas optikai alapmodellje

gyakorlatban a szabvanyos tristimulus ertekeket CIE XYZrendszerben adjuk meg [WS82], amelyek olyan harom hipoteti-kus (nem monokromatikus) spektrum kombinalasaval fejezik ki a szınerzeteket, amelyekre barmely szınerzet koordinatainem negatıvak. Az RGB rendszerben ugyanis negatıv koordinatak a negatıv szınilleszto fuggvenyek miatt minden to-vabbi nelkul elofordulhatnak, az XYZ-ben viszont nem.Az Y koordinatanak specialis jelentese van, ez a szem spektraliserzekenysegi fuggvenye, tehat ez teremt kapcsolatot a radiometriai es fotometriai mennyisegek kozott.

-0.5

0

0.5

1

1.5

2

2.5

3

3.5

400 450 500 550 600 650 700

X,Y

,Z

lambda[nm]

X,Y,Z matching functions

X(lambda)Y(lambda)Z(lambda)

2.14.abra. Stiles ´es Burch 10 fokos l´atoszogben felvettXY Z szınilleszto fuggvenyei:X(), Y (), Z()

Az XYZrendszerbol a monitor RGBrendszerebe vivo transzformaciot a monitor foszforregetei altal kisugarzott fenyX;Y; Z koordinatainak es a monitor feher pontjanak ismereteben adhatjuk meg. Szabvanyos NTSC foszforretegek esfeher ponteseten a kovetkezo transzformacio adodik [Gla95]:2

4 RGB

35 =

24 1:967 0:548 0:2970:955 1:938 0:0270:064 0:130 0:982

35 24XYZ

35 : (2.58)

A szamıtott spektrumhoz tartozo (R, G, B) ertekek meghatarozasat osszefoglaloan szınlekepzesnek nevezzuk. Ahardver altal megengedett (R, G, B) ertekek pozitıvak, altalaban a [0...255] tartomanyba esnek. Nem allıthato elo tehatvalamennyi valos szın, egyreszt a szınilleszto fuggvenyek negatıv tartomanyai, masreszt pedig a korlatozott szındinamikamiatt. A mai monitorok altal letrehozhato szınek intenzitasainak aranya kb. a szazas nagysagrendbe esik, mıg az em-beri szem akar 1010 nagysagu tartomanyt is at tud fogni, ugy, hogy az egyszerre erzekelt fenyesseg ugyancsak a szazastartomanyban esik.

A szınlekepzesnek kovetnie kell a szem adaptacios tulajdonsagat es a szamıtott szınek alapjan egy kozelıto szınt kellvalasztania a rendelkezesre allo keszletbol [PP98].

A kovetkezokben osszefoglaljuk a legfontosabb skalazasi lehetosegeket [MNP99]. Jeloljuk a szamıtott szınintenzitastI-vel, amely most a voros, zold es kek komponensek barmelyiket jelentheti, a rasztertarba ırt es a monitor altal tenylege-sen megjelenıtett fizikai erteket pedig D-vel. A feladat tehat olyan I ! D lekepzest talalni, amely a szamıtott szınekethuen vissaadja, de figyelembe veszi a monitor illetve a hardver lehetosegeit es az emberi latorendszer tulajdonsagait is.

A legegyszerubb lekepzes a linearis skalazas, amely a maximalis szamıtott szınintenzitast a hardver altal eloallıthatomaximalis szınintenzitasra kepezi le:

D =Dmax

Imax

I:

A linearis skalazas hasznalhatatlan eredmenyt ad, ha a fenyforras is latszik a kepen, hiszen a kep tulsagosan sotet lesz.Ezen ugy segıthetunk, hogy az Imax erteket a kepen levo azon pixelek szınertekeinek maximumakent keressuk meg,amelyben nem fenyforras latszik. A lathato fenyforras ertekek szıne ennek kovetkezteben D max-ot meghaladhatja, ami-koris az szınerteket Dmax-ra vagjuk.

A kozep ertek lekepzesaz atlagos szamıtott intenzitast (Iave) a fizikai tartomany felere kepezi le, majd a Dmax-nalnagyobbra adodo ertekeket Dmax-ra vagja:

D = min

Dmax

2Iave I;Dmax

:

Page 27: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

2.13. Sz´ınlekepzes 25

A lekepzes soran a [2Iave; Imax] tartomanyba eso informacio elveszik. Masreszt, ha az atlagos szınintenzitas alacsony(peldaul szenbanya), a kep tul vilagos lesz, mıg ha az atlagos szınintenzitas magas (peldaul havas taj), a kep tul sotettevalik. Ezeket a problemakat a fenykepezesben a blende es expozıcios ido beallıtasaval oldjak meg. A kovetkezo eljaraseppen ezt a modszert szimulalja.

Az interaktıv kalibracio a lekepzest ket szabad parameterrel vezerli, amelyet kontrasztnak es aperturanak nevezunk.A c kontraszt a szamıtott szınertekek vagasi tartomanyaban a minimum es szelesseg ertekek aranyat adja meg, tehat atulcsordulas elkerulese vegett minden szınt az [s; s + s c] tartomanyra vagunk. Az a aperturat log 2-s skalan adjuk megugy, hogy 0 apertura eseten a kozep ertek lekepzeshez hasonloan 2I ave a felso vagasi ertekre keruljon:

s (1 + c) = 2Iave 2a =) s =Iave 2a+1

1 + c:

A vagas utan az intenzitasok a [s; s + s c]-ben lehetnek, ahonnan egy linearis lekepzessel atvisszuk oket a fizikailagabrazolhato [0; Dmax]-ra:

D =Dmax

s c (I s)

es a 0 alatti illetve Dmax feletti ertekeket 0-val illetve Dmax-szal csereljuk ki. Ebben a modszerben a kontrasztot esaz aperturat a felhasznalonak kell beallıtania. A kontrasztot a kepernyo parameterek alapjan celszeru kivalasztani (c =50::100). Az apertura automatikusan is megkeresheto ha minimalis informacio vesztesegre torekszunk.

A minimalis informacio veszteseg modszeraz intenzitasok vagasi tartomanyat ugy allıtja be, hogy a vagott szınek sza-ma (vagy akar a vagott szıneket tartalmazo pixelek szama) minimalis legyen. Vegyunk fel egy log-log tıpusu hisztogramotaz intenzitasokrol es rogzıtett c kontraszt ertek mellett keressuk meg azt az s intervallum kezdetet, amelyre a [s; s+ s c]intervallum a legtobb hisztogram bejegyzest tartalmazza.

A Ward skalazo faktoraaz emberi latorendszer vizsgalatan alapul es figyelembe veszi, hogy mielott a felhasznalo amonitorra pillantana, a szeme milyen fenyesseghez szokott. A szem altal erzekelt fenyesseget a fotometriai fenyero (lumi-nancia) fejezi ki, amelynek mertekegysege a kandela [cd]. A fotometriai fenyerot a feny spektrumanak es az erzekenysegifuggveny szorzatanak az integralja adja meg. A javasolt lekepzes:

D =Dmax

Id;max1:219 + Id;max=2

1:219+ I0:4w

2:5 I;

ahol Id;max maximalis kepernyo luminancia, Iw pedig az a luminancia, amihez a szem hozzaszokott. A monitort figyelofelhasznalonal az adaptacios luminancia a kepernyon lathato ertekek atlaga. A RenderParkprogram ezt a szınlekepzestalkalmazza.

Ismert teny, hogy az emberi erzekeles nem linearis, hanem logaritmikus, ami nem linearis skalazasnak is letjogosult-sagot ad. Az egyik legegyszerubb nem-linearis modell a Schlick lekepzes:

D = Dmax p I

p I I + Imax

;

ahol p egy alkalmasan valasztott parameter. LegyenG a legsotetebb nem fekete szurke szın, N pedig a fizikai eszkoz altalmegjelenıtheto intenzitasok szama (tipikusan 255). Ekkor az ismeretlen p parameter:

p =G Imax G Imin

N Imin G Imin

:

Page 28: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

26 2. Az arnyalas optikai alapmodellje

Page 29: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

3. fejezet

A globalis illumin acios feladat megoldasanaklehetosegei

Mivel az arnyalasi- es potencial egyenlet az ismeretlen radianciat illetve a potencialt az integralon belul es kıvul is egya-rant tartalmazza, ezert a megoldasnal ezt a csatolast kell feloldani. A megoldasi lehetosegeket alapvetoen harom csoportbaoszthatjuk: inverzio, expanzio es iteracio.

3.1. Inverzio

Az inverzio az ismeretlen fuggvenyektol fuggo tagokat az egyenlet egyik oldalan csoportosıtja, majd formalisan egyinverzios muveletet hajt vegre:

(1 T )L = Le =) L = (1 T )1Le: (3.1)

A mert teljesıtmeny tehat:ML =M(1 T )1Le: (3.2)

Sajnos a T operator vegtelen dimenzioju, ezert nem invertalhato kozvetlenul, ıgy a fuggvenyt a v eges-elem mod-szersegıtsegevel kell kozelıteni, ami az eredeti feladatot egy veges dimenzioju terbe vetıtve oldja meg. Ez a vetıtesaz eredeti integralt linaris egyenletrendszerre alakıtja at, amely mar invertalhato, peldaul Gauss eliminacios modszerrel.Ezt a modszer a korai radiozitas eljarasokban hasznaltak, de a kobos komplexitas es a matrix invertalasanak numerikuspontatlansaga miatt elvetettek.

Az inverzio kizarolagos tulajdonsaga, hogy a hatekonysaga nem fugg az integraloperator kontrakciojatol, es egyaltalannem kıvanja meg, hogy az integraloperator kontraktıv legyen.

3.2. Expanzio

Az expanzio oly modon kuszoboli ki a csatolast, hogy a megoldast Neumann-sor formajaban ırja fel.

3.2.1. Azarnyalasi egyenlet expanzioja: a gyujt oseta

Helyettesıtsuk be a jobb oldali L fuggvenybe az L e+T L alaku teljes jobb oldalt, ami az egyenlet szerint nyilvan egyenloL-lel:

L = Le + T L = Le + T (Le + T L) = Le + T Le + T 2L:

Ugyanezt ismeteljuk meg n-szer:

L =

nXi=0

T iLe + T n+1L:

Ha az integraloperator T kontrakcio, akkor limn!1 T n+1L = 0, ezert

L =

1Xi=0

T iLe: (3.3)

A mert fenyteljesıtmeny pedig:

ML =

1Xi=0

MT iLe: (3.4)

27

Page 30: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

28 3. A globalis illumin acios feladat megoldasanak lehetosegei

x

x

L(x, )ω

ω

ω

1

2

1

θp

1

x

2

ωp

p3

3.1.abra. AT 2Le integrandusa egy k´et lepeses gy¨ujtoseta soran

A vegtelen sor egyes tagjainak intuitıv jelentese van: T 0Le = Le a fenyforrasok direkt hozzajarulasa a mert fenytel-jesıtmenyhez, T 1Le az egyszeres visszaverodesekbol szarmazik, T 2Le a ketszeres visszaverodesekbol, stb.

Vizsgaljuk meg a sor i. tagjat (T iLe), amely egy i dimenzios integral. Peldaul i = 2 esetben:

M(T 2Le) =

ZSp

Z01

Z02

c(~p)

Sp w1(~x1) w2(~x2) Le(~x3; !02) d!

0

2d!0

1d~p: (3.5)

ahol Sp a pixel terulete, c(~p) a kamera-parameter, ~p a pixelen mozgo pont, ! 01 es !02 az elso ill. masodik visszaverodesiranya (3.1. abra) es

~x1 = h(~p;!~p);~x2 = h(~x1;!01);~x3 = h(~x2;!02) = h(h(~x1;!01);!

0

2); (3.6)

es a sulyfuggvenyek pedig

w1 = fr(!0

1; ~x1; !~p) cos 0

1;

w2 = fr(!0

2; ~x2; !0

1) cos 0

2: (3.7)

Az integrandus a (~p; ! 01; !0

2) pontban torteno kiertekelesehez a kovetkezo algoritmust kell vegrehajtani:

1. Azon ~x1 = h(~p;!~p) pontot kell meghatarozni, amely a pixel ~p pontjan keresztul lathato a szembol. Ehhez aszemponzıciobol a ~p pont iranyaba egy sugarat kuldunk, es megkeressuk az elsokent metszett feluletet.

2. A felulet azon ~x2 = h(~x1;!01) pontjat azonosıtjuk, amely az ~x1 pontbol a ! 01 iranyba lathato. Ezt egy ujabbsugar ~x1 pontbol!01 iranyba valo kibocsatasaval es az elsokent metszett feluletet meghatarozasaval lehet elerni.

3. Megkeressuk a ~x3 = h(h(~x1;!01);!02) feluleti pontot, amely ~x2 pontbol !02 iranyban lathato. Ez a ! 02iranyba valo tovabbhaladast jelenti.

4. Az ~x3 pont !02 iranyu emissziojat leolvassuk, majd megszorozzuk a ket visszaverodes koszinuszos tagjaival sulyo-zott BRDF ertekeivel.

Ez az algoritmus konnyen altalanosıthato akarhany visszaverodesre. A sugar rekurzıvan folytatja utjat a lathato pont-bol !01 iranyba, majd a megtalalt feluletrol ! 02 iranyba, stb. egeszen ! 0n-ig. Az emissziot a visszaverodesi lanc vegenleolvassuk, majd megszorozzuk az egyes visszaverodesek koszinuszos tagjaival sulyozott BRDF ertekeivel.

Ezek az utak az integrandus ertekeit adjak a ~p; ! 01; !0

2; : : : ; !0

n “pontokban” . Vegyuk eszre, hogy egyetlen n hosszuvisszaverodesi lancot felhasznalhatjuk az 1-szeres, 2-szeres, : : :, n-szeres visszaverodesi tagok becslesere, ha az emissziotnem csupan az utolso pontban, hanem minden meglatogatott pontban leolvassuk.

A bemutatott bolyongas a szempozıciobol indul, es gyujti az illuminaciot e seta alatt. Az osszegyujtott illuminacio avisszaverodesek utan csokken az ut koszinuszos taggal sulyozott BRDF ertekeinek megfeleloen.

Ez ideaig a Neumann-sor szerkezetenek tagjait ugy vizsgaltuk, mint egy darab tobbdimenzios integralt. Mas oldalrolkozelıtve ugy is tekinthetjunk ezt a szerkezetet, mint rekurzıvan kiertekelt iranyintegralokat. Peldaul a 2-szeres visszave-rodesre fennall:

MT 2Le =

ZSp

w0

264Z01

w1

264Z02

w2 Le d!02

375 d!01

375 d~p: (3.8)

Page 31: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

3.2. Expanzio 29

Ha szamıtani akarjuk a kulso integralt, akkor a ~p mintapontban meg kell hatarozni az integrandust. Ez azonban azintegral !01 valtozojaban torteno kiertekeleset teszi szuksegesse a ~p-ben, amely rekurzıvan az integral ! 0

2 valtozojanakeloallıtasat koveteli meg (~p; ! 01)-ben.

Ha ugyanannyi — mondjuk m — mintapontot hasznalunk az osszes integralra, akkor ez a rekurzıv megkozelıtes mpontot hasznal az 1-szeres visszaverodesre, m2 pontot a 2-szeres visszaverodesre, m3 pontot a 3-szoros visszaverodesre,stb. Ezt a fajta felosztast hasıtasnak (splitting) [AK90] nevezzuk. A hasıtas nem hatekony a tobbszoros visszaverodesekreaz integraloperator kontraktivitasa miatt. A kontraktivitas miatt a tobbszoros visszaverodes hozzajarulasa kisebb, es ezertnincs ertelme olyan pontossaggal szamolni ezeket, mint a kisebb foku visszaverodeseket.

3.2.2. Az potencial egyenlet expanzioja: a lovoseta

A potencial egyenlet szinten felırhato Neumann-sor segıtsegevel, hasonloan az arnyalasi egyenlethez:

W =

1Xi=0

T 0iW e; (3.9)

ami a kovetkezo mert ertekhez vezet

M0W =

1Xi=0

M0T 0iW e: (3.10)

M0W e a kozvetett emissziobol a kamera altal mert teljesıtmeny, M 0T 0W e az egyszeres visszaverodes utani teljesıt-meny,M0T 02W e a ketszeres visszaverodes utani teljesıtmeny, stb.

y

y

ωω

ω

2

1

2

1

θ

θp

2

y

3

Φ(dy , d )

ωp

1

θ1

3

1

3.2.abra. AzT 02W e integrandusa egy k´et lepeses lovoseta soran

Most ujbol vizsgaljuk meg a M0T 02W e szerkezetet:

M0T 02W e =

ZS

Z1

Z2

Z3

Le(~y1; !1) w0(~y1) w1(~y2) w2(~y3) W e(~y3; !3) d!3d!2d!1d~y1; (3.11)

ahol

~y2 = h(~y1; !1);

~y3 = h(~y2; !2) = h(h(~y1; !1); !2) (3.12)

es a sulyok

w0 = cos 1;

w1 = fr(!1; ~y2; !2) cos 2;w2 = fr(!2; ~y3; !3) cos 3: (3.13)

Az elemi kamera mero fuggvenyet (2.55. egyenlet) behelyettesıtve megallapıthatjuk, hogy M 0T 02W e csak akkor lehetzerustol kulonbozo, ha ~y3 lathato az adott pixelen keresztul. Ekkor cos 3 hasonlo inverz faktorral egyenlıtodik ki es azintegral 3 tartomanyon egyetlen ertekre egyszerusodik a Dirac-delta miatt. A ketszeres visszaverodes vegleges keplete:Z

S

Z1

Z2

Le(~y1; !1) w0(~y1) w1(~y2) w2(~y3) g(~y3) d!2d!1d~y1: (3.14)

ha ~y3 lathato az adott pixelen keresztul es 0 egyebkent, valamint g(~y 3) a feluleti kamera parameter.Az integrandus (~y1; !1; !2) pontbeli kiertekelesehez a kovetkezo algoritmus hasznalhato:

Page 32: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

30 3. A globalis illumin acios feladat megoldasanak lehetosegei

1. Kiszamoljuk az ~y1 pont !1 iranyanak koszinuszos taggal sulyozott emissziojat, majd meghatarozzuk azt a ~y 2 =h(~y1; !1) feluleti pontot, amely ~y1 pontbol !1 iranyban lathato. Ezt elvegezhetjuk egy a ~p pont pontbol a ! 1

iranyba kuldott sugar segıtsegevel. Ez a “pont” kapja a szamolt koszinuszos taggal sulyozott emissziot.

2. Megkeressuk az ~y3 = h(h(~y1; !1); !2) pontot, amely ~y2 pontbol !2 iranyban lathato. Ez a sugarkovetes folytatasatjelenti !2 iranyban. Az emissziot ujbol sulyozzuk a helyi BRDF-fel es a feluleti normalis es a kimeno irany kozottiszog koszinuszaval.

3. Meghatarozzuk, hogy az ~y3 pont lathato-e szempozıciobol es megkeressuk, hogy melyik pixelen keresztul. Az eh-hez a pixelhez tartozo hozzajarulast az emisszio helyi BRDF-jenek, koszinuszos tagjanak es a feluletfuggo kameraparameterenek sulyozasaval szamolhatjuk ki.

Ezt a fajta setat lovoneknevezik, amely a fenyforras egy ismert ~y1 pontjabol indul, es a foton visszaverodeset szimu-lalja, majd vegul megerkezik ahhoz a pixelhez, amelyik intenzitasahoz hozzajarul.

Megjegyzendo, hogy mıg a gyujtoseta soran a BRDF-t a feluleti normalis es a beeso irany kozotti szog koszinuszavalszorozzuk, addig a lovosetanal ez a szorzas a feluleti normalis es a kimeno irany kozotti szog koszinuszaval tortenik.

3.2.3. Az expanzio elonyei es hatr anyai

Az expanzio fo problemaja, hogy nagyon magas dimenzioju integralok kiertekeleset teszik szuksegesse, amelyek a veg-telen sor egyes tagjai. A gyakorlati megvalosıtas soran gyakorta csonkıtjak a vegtelen Neumann-sort, ami nemi torzıtasteredmenyez, vagy a setat veletlenszeruen fejezik be, amely jelentosen csokkenti a magasabb foku tobbszori sugar-vissza-verodes mintapontjainak szamat.

Masreszt az expanzionak van egy fontos elonye is, nevezetesen, nem igenyli a teljes radiancia fuggveny ideiglenesabrazolasat, ezert nem kıvanja meg a veges-elem megkozelıtest. Ebbol kovetkezoen ezek az algoritmusok a ter eredetigeometriajaval dolgozhatnak a feluletek haromszoglistaval torteno kozelıtese helyett.

Az expanzio a veletlen setakat egymastol fuggetlenul allıtja elo. Ez egyreszt elony jelent, mivel ıgy ezek az algoritmu-sok konnyen parhuzamosıthatok. Sajnos, ez egyuttal azt is jelenti hogy ezek az modszerek “elfelejtik” a megelozo setakalatt felhalmozott informaciokat, ıgy nem hasznosıtjak a korabbi lepesek reszeredmenyeit.

3.3. Iteracio

Az iteracio alapja az a felismeres, hogy az arnyalasi egyenlet megoldasa a kovetkezo iteracios sema fixpontja:

Ln = Le + T Ln1; (3.15)

ezert ha a T operator kontrakcio, akkor a sema a megoldashoz konvergal barmilyen L 0 kezdeti fuggvenybol. A mertteljesıtmeny hatarertekkent szamıthato

ML = limn!1

MLn: (3.16)

A kozelıto Ln fuggveny tarolasara altalaban veges-elem modszerek hasznalhatok, mint peldaul, a diff uz[SC94] vagya nem diffuz radiozitasban hasznalatos particionalt felgomb[ICG86], gombi iranyeloszlas[SAWG91] vagy illuminacioshalozatok[BF89].

Az iteracioban ket kritikus problemaval talalkozhatunk. Egyreszt mivel az L n ertelmezesi tartomanya 4 dimenzios esvariacioja legtobbszor magas, ezert a pontos veges-elem kozelıtes nagyon sok bazisfuggvenyt igenyel. Bar a hierarchikusmodszerek[HSA91, AH93], hullamvagy wavelet reprezentacio [CSSD96, SGCH94] es a klaszterezes[SDS95, CLSS97,SPS98] segıthet, de a memoria szukseglet meg mindig oriasi osszetett terek eseten. Ez a problema kevesbe okoz gondotdiffuz esetben, mivel itt a radiancia ertelmezesi tartomanya csak 2 dimenzios.

A masik problema, hogy amikor veges-elem modszereket alkalmazunk, akkor a T integraloperatort csak kozelıto-leg szamoljuk, ami ujabb hibat okoz minden lepes soran. Ha az integraloperator kontrakcios tenyezoje , akkor a teljeshalmozott hiba megkozelıtoleg 1=(1 )-szerese az egyes lepesek hibainak [SKFNC97]. Erosen visszavero tereknel —tehat, ha megkozelıtoleg 1 — az iteracio nagyon lassu es az eredmeny pontatlan.

Diffuz radiozitas eseten az iteracio minosegenek javıtasara tobb megoldas szuletett. Ezek koze tartozik peldaul aza javaslat [BBS96], miszerint a Jacobi vagy a Gauss-Seidel modszer helyett alkalmazzunk Csebisev iteraciot. Masresztfelismerve, hogy az ilyen algoritmusok felepıtesenek kritikus resze abban rejlik, mikent talaljuk meg az integraloperatorjo es “kicsi” megkozelıteset, a j ol-elosztott sugar halmazok[NNB97, BNN+98] modszere az operator adaptıv approxima-ciojat javasolja. Ez a megkozelıtes a helyesen megvalasztott sugarak halmazabol all, amelyek a fontos feluleti elemeketes iranyokat veszik figyelembe. A [BNN+98]-ben a diszkret operator adaptaciojat kiterjesztettek, hogy a hierarchikusradiozitas-sal [HSA91] egyuttmukodhessen.

Page 33: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

3.3. Iteracio 31

Osszehasonlıtva az expanzioval, az iteracio mind elonnyel mind pedig hatrannyal rendelkezik. Fontos tulajdonsaga,hogy potencialisan kepes az elozo lepesekben megszerzett informaciot ujrahasznosıtani, es kihasznalni a radiancia fugg-veny koherenciajat, ezert az iteracio varhatoan gyorsabb, mint az expanzio. Az iteraciot egy vegtelen hosszusagu veletlenbolyongaskent is ertelmezhetjuk. Ha megfeleloen alkalmazzuk, akkor az iteracio nem csokkenti a becsult ertekek szamattobbszoros visszaverodesekre, ezert az erosen fenyvisszavero terek eseten joval hatekonyabb, mint az expanzio.

Az iteracio azon ket tulajdonsaga, miszerint tesszellaciot es veges-elem kozelıtest kovetel meg, altalanosan e modszerhatranyai koze sorolhato. Az eles arnyekok es vilagos reszek nagyon spekularis anyagoknal nem tokeletes megjelenıtestokozhatnak, es fenylyukak keletkezhetnek. Ennek ellenere a veges elem kozelıtes a vizualizacio soran szuresnek is meg-felel, amely vizualisan kellemesebb es pont-zaj nelkuli kepeket eredmenyez. Osszefoglalva, az iteracio jobb valasztas, haa ter nem nagyon spekularis.

Page 34: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

32 3. A globalis illumin acios feladat megoldasanak lehetosegei

Page 35: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

4. fejezet

Lathatosag szamıtas

Az idaig ismertetett algoritmusok alapveto lepese egy felegyenest, un. sugarat kuld a terbe es megkeresi az objektumok-nak es a sugarnak a sugar kezdopontjahoz legkozelebbi metszespontjat. A gyakorlati tapasztalatok szerint a kepszintezisprogramok a futas soran az ido 75–96%-t ezzel a feladattal toltik, ezert ennek hatekony implementacioja a gyors sugar-kovetes kulcsa.

Ebben a fejezetben ezen geometriai muvelet hatekony megvalosıtasaval foglalkozunk.

4.1. Metszespontszamıtas egyszeru feluletekre

A sugarat altalaban a kovetkezo egyenlettel adjuk meg:

~r(t) = ~s+ t ~d; (t 2 [0;1)): (4.1)

ahol ~s a kezdopont, ~d = ! a sugar iranya, a t sugarparameterpedig kifejezi a kezdoponttol valo tavolsagot. A kovetke-zokben attekintjuk, hogy a kulonbozo primitıv tıpusok hogyan metszhetok el az ily modon megadott sugarral.

4.1.1. Haromszogek metszese

A haromszogek metszese ket lepesben tortenik. Eloszor eloallıtjuk a sugar es a haromszog sıkjanak a metszespontjat,majd eldontjuk, hogy a metszespont a haromszog belsejeben van-e. Legyen a haromszog harom csucsa ~a, ~b es ~c. Ekkora haromszog sıkjanak normalvektora ~n = (~b ~a) (~c ~a), egy helyvektora pedig ~a, tehat a sık p pontjai kielegıtik akovetkezo egyenletet:

~n (~p ~a) = 0: (4.2)

A sugar es a sık kozos pontjat megkaphatjuk, ha a sugar egyenletet behelyettesıtjuk a sık egyenletebe, majd a keletkezoegyenletet megoldjuk az ismeretlen t parameterre. Ha a kapott t ertek pozitıv, akkor visszahelyettesıtjuk a sugar egyenle-tebe, ha viszont negatıv, akkor a metszespont a sugar kezdopontja mogott van. A sık metszese utan azt kell ellenoriznunk,hogy a kapott ~p pont vajon a haromszogon kıvul vagy belul helyezkedik-e el. A ~p metszespont akkor van a haromszogonbelul, ha a haromszog mind a harom oldalegyenesehez viszonyıtva a haromszoget tartalmazo felsıkban van:

((~b ~a) (~p ~a)) ~n 0;

((~c~b) (~p~b)) ~n 0;((~a ~c) (~p ~c)) ~n 0:

(4.3)

4.1.2. Implicit feluletek metszese

A sıkmetszeshez hasonloan egy gombre ugy kereshetjuk a metszespontot, ha a sugar egyenletet behelyettesıtjuk a gombegyenletebe:

j(~s+ t ~d) ~cj2 = R2 (4.4)

majd megoldjuk t-re az ebbol adodo

(~d)2 t2 + 2 ~d (~s ~c) t+ (~s ~c)2 R2 = 0 (4.5)

egyenletet. Csak a pozitıv valos gyokok erdekelnek bennunket, ha ilyen nem letezik, az azt jelenti, hogy a sugar nemmetszi a gombot. Ez a modszer barmely mas kvadratikus feluletre hasznalhato. A kvadratikus feluleteket kulonosen azert

33

Page 36: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

34 4. Lathatosag szamıtas

szeretjuk a sugarkovetesben, mert a metszespontszamıtas masodfoku egyenletre vezet, amit a megoldokeplet alkalmaza-saval konnyen megoldhatunk.

Egy F (x; y; z) = 0 implicit egyenlettel definialt felulet metszesehez a sugaregyenletnek az implicit egyenletbe tortenobehelyettesıtesevel eloallıtott

f(t) = F (sx + dx t; sy + dy t; sz + dz t) = 0

nemlinearis egyenletet kell megoldani, amelyhez numerikus gyokkereso eljarasokat hasznalhatunk [SKe95].

4.1.3. Parameteres feluletek metszese

Az ~r = ~r(u; v), (u; v 2 [0; 1]) parameteres felulet es a sugar metszespontjat ugy kereshetjuk meg, hogy eloszor azismeretlen u; v; t parameterekre megoldjuk a

~r(u; v) = ~s+ t ~d (4.6)

haromvaltozos nemlinearis egyenletrendszert, majd ellenorizzuk, hogy a t pozitıv es az u; v parameterek valoban a [0; 1]tartomany belsejeben vannak-e.

A gyakorlatban a nemlinearis egyenletrendszerek megoldasa helyett inkabb azt az utat kovetik, hogy a feluleteketpoligonhaloval kozelıtik (emlekezzunk vissza, hogy ez az un. tesszellacios folyamat kulonosen egyszeru parameteresfeluletekre), majd ezen poligonhalot probaljak elmetszeni. Ha sikerul metszespontot talalni, az eredmenyt ugy lehet pon-tosıtani, hogy a metszespont kornyezetenek megfelelo parametertartomanyban egy finomabb tesszellaciot vegzunk, es ametszespontszamıtast ujra elvegezzuk.

4.1.4. Transzformalt objektumok metszese

A sugarkovetes egyedulallo tulajdonsaga, hogy nem igenyel tesszellaciot, azaz az objektumokat nem kell poligonhalovalkozelıteni, megis implicit modon elvegzi a nezeti transzformacios, vagasi, vetıtesi es takarasi feladatokat. Ha az objek-tumokat kozvetlenul a vilag-koordinatarendszerben ırjuk le, ezek elegendoek is a teljes kepszintezishez. Ha viszont azobjektumok kulonallo modellezesi koordinatarendszerben talalhatok, a modellezesi transzformaciot valahogyan meg kellvalosıtani. Ez ismet csak elvezet minket ahhoz a problemahoz, hogy hogyan is kell transzformalni peldaul egy gombot.Szerencsere ezt a kerdest megkerulhetjuk, ha nem az objektumot, hanem a sugarat transzformaljuk, hiszen a sugar esegy T transzformacioval torzıtott objektum metszespontjat kiszamıthatjuk ugy is, hogy meghatarozzuk a T inverzeveltranszformalt sugar es az objektum metszetet, majd a T alkalmazasaval az eredeti sugarra kepezzuk a pontokat.

4.1.5. CSG modellek metszese

A konstruktıv tomortest geometria(CSG) a modelleket egyszeru primitıvekbol (kocka, henger, kup, gomb, stb.) halmaz-muveletek ([;\; n) segıtsegevel allıtja elo. Egy objektumot altalaban egy binaris fa adatstruktura ır le, amelyben alevelek a primitıveket azonosıtjak, a belso csomopontok pedig a ket gyermeken vegrehajtando geometriai transzforma-ciokat es az eredmeny eloallıtasahoz szukseges halmazmuveletet. A fa gyokere magat az objektumot kepviseli, a tobbicsomopont pedig a felepıteshez szukseges egyszerubb testeket.

Ha a fa egyetlen levelbol allna, akkor a sugarkovetes konnyen megbirkozna a sugar es az objektum kozos pontjainakazonosıtasaval. Tegyuk fel, hogy a sugar es az objektum felulete kozotti metszespontok t 1 t2; : : : t2k sugarparame-tereknel talalhatok. Ekkor a sugar a (~s+ t1 ~d, ~s+ t2 ~d), : : : (~s+ t2k1 ~d, ~s+ t2k ~d), pontparok kozotti szakaszokon(un. belso szakaszok (ray-span)) a primitıv belsejeben, egyebkent a primitıven kıvul halad. A szemhez legkozelebbimetszespontot ugy kaphatjuk meg, hogy ezen szakaszvegpontok kozul kivalasztjuk a legkisebb pozitıv parameterut. Haa parameter szerinti rendezes utan a pont parametere paratlan, a szem az objektumon kıvul van, egyebkent pedig azobjektum belsejeben ulve nezunk ki a vilagba. Az esetleges geometriai transzformaciokat az elozo fejezetben javasoltmegoldassal kezelhetjuk.

Most tegyuk fel, hogy a sugarral nem csupan egy primitıv objektumot, hanem egy CSG faval leırt strukturat kellelmetszeni! A fa csucsan egy halmazmuvelet talalhato, ami a ket gyermekobjektumbol eloallıtja a vegeredmenyt. Ha agyermekobjektumokra sikerulne eloallıtani a belso szakaszokat, akkor abbol az osszetett objektumra vonatkozo belso sza-kaszokat ugy kaphatjuk meg, hogy a szakaszok altal kijelolt ponthalmazra vegrehajtjuk az osszetett objektumot kialakıtohalmazmuveletet. Emlekezzunk vissza, hogy a CSG modellezes regularizalt halmazmuveleteket hasznal, hogy elkeruljea haromnal alacsonyabb dimenzioju elfajulasokat. Tehat, ha a metszet vagy a kulonbseg eredmenyekeppen kulonallopontok keletkeznek, azokat el kell tavolıtani. Ha pedig az egyesıtes eredmenye ket egymashoz illeszkedo szakasz, akkorazokat egybe kell olvasztani.

Az ismertetett modszer a fa csucsanak feldolgozasat a reszfak feldolgozasara es a belso szakaszokon vegrehajtott hal-mazmuveletre vezette vissza. Ez egy rekurzıv eljarassal implementalhato, amelyet addig folytatunk, amıg el nem jutunka CSG-fa leveleihez.

Page 37: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

4.2. A sugarkovetes gyors´ıtasi lehetosegei 35

r

S

Sl

r

Sl U

*

Sr

r

S

Sl

r

Sl

U*

Sr

r

S

Sl

r

Sl \

*

Sr

rA

B

A U

*

BA

U*

BA \

*

B

4.1.abra. Belso szakaszok ´es a kombin´alasuk

CSGIntersect(ray, node)if nodenem level then

left span= CSGIntersect(ray, nodebal gyermeke);right span= CSGIntersect(ray, nodejobb gyermeke);return CSGCombine(left span, right span, operation);

else (nodeprimitıv objektumot reprezentalo level)return PrimitiveIntersect (ray, node);

endifend

4.2. A sugarkovetes gyorsıtasi lehetosegei

A sugarkovetest megvalosıto algoritmus minden egyes sugarat minden objektummal osszevet es eldonti, hogy van-e koz-tuk metszespont. A modszer jelentosen gyorsıthato lenne, ha az objektumok egy reszere kapasbol meg tudnank mondani,hogy egy adott sugar biztosan nem metszheti oket (mert peldaul a sugar kezdopontja mogott, vagy nem a sugar iranya-ban helyezkednek el), illetve miutan talalunk egy metszespontot, akkor ki tudnank zarni az objektumok egy masik koretazzal, hogy ha a sugar metszi is oket, akkor biztosan ezen metszespont mogott helyezkednek el. Ahhoz, hogy ilyen don-teseket hozhassunk, ismernunk kell az objektumteret. A megismereshez egy elofeldolgozasi fazis szukseges, amelybenegy adatstrukturat epıtunk fel. A sugarkovetes vegrehajtasakor pedig a kıvant informaciokat ebbol az adatstrukturabololvassuk ki.

4.2.1. Befoglalo keretek

A legegyszerubb gyorsıtasi modszer a befoglalo keretek (bounding volume) alkalmazasa. A befoglalo keret egy egyszerugeometriaju objektum, tipikusan gomb vagy teglatest, amely egy-egy bonyolultabb objektumot teljes egeszeben tartalmaz.A sugarkovetes soran eloszor a befoglalo keretet probaljuk a sugarral elmetszeni. Ha nincs metszespont, akkor nyilvan abefoglalt objektummal sem lehet metszespont, ıgy a bonyolultabb szamıtast megtakarıthatjuk.

A befoglalo keretet ugy kell kivalasztani, hogy a sugarral alkotott metszespontja konnyen kiszamıthato legyen, ra-adasul kelloen szorosan korbeolelje az objektumot. A konnyu metszespontszamıtas kovetelmenye feltetlenul teljesul agombre, hiszen ehhez csak egyetlen masodfoku egyenletet kell megoldani.

A Cohen-Sutherland vagasi algoritmusbevetesevel a koordinatatengelyekkel parhuzamosan felallıtott befoglalo do-bozokra ugyancsak hatekonyan donthetjuk el, hogy a sugar metszi-e oket. A vagasi tartomanynak a dobozt tekintjuk, avagando objektumnak pedig a sugar kezdopontja es a maximalis sugarparameter altal kijelolt pontja kozotti szakaszt. Haa vagoalgoritmus azt mondja, hogy a szakasz teljes egeszeben eldobando, akkor a doboznak es a sugarnak nincs kozosresze, kovetkezeskeppen a sugar nem metszhet semmilyen befoglalt objektumot.

A befoglalo keretek hierarchikus rendszerbe is szervezhetok, azaz a kisebb keretek magasabb szinteken nagyobbkeretekbe foghatok ossze. Ekkor a sugarkovetes soran a befoglalo keretek altal definialt hierarchiat jarjuk be.

Page 38: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

36 4. Lathatosag szamıtas

4.2.2. Az objektumter szabalyos felosztasa

Tegyunk az objektumterre egy szabalyos 3D racsot es az elofeldogozas soran minden cellara hatarozzuk meg a cellabanlevo, vagy a cellaba logo objektumokat. A sugarkovetes fazisaban egy adott sugarra a sugar altal metszett cellakat a kez-doponttol valo tavolsaguk sorrendjeben latogatjuk meg. Egy cellanal csak azon objektumokat kell tesztelni, amelyeknekvan kozos resze az adott cellaval. Raadasul ha egy cellaban az osszes ide tartozo objektum tesztelese utan megtalaljuk alegkozelebbi metszespontot, be is fejezhetjuk a sugar koveteset, mert a tobbi cellaban esetlegesen elofordulo metszespontbiztosan a metszespontunk mogott van.

Az objektumter szabalyos felosztasanak elonye, hogy a meglatogatando cellak konnyen eloallıthatok a DDA algorit-mus haromdimenzios altalanosıtasanak segıtsegevel [FTK86], hatranya pedig az, hogy gyakran feleslegesen sok cellathasznal. Ket szomszedos cellat ugyanis eleg lenne csak akkor szetvalasztani, ha azokhoz az objektumok egy mas halmazatartozik. Ezt az elvet kovetik az adaptıv feloszto algoritmusok.

4.2.3. Az objektumter adaptıv felosztasa

Az objektumter adaptıv felosztasa rekurzıv megkozelıtessel lehetseges. Foglaljuk kezdetben az objektumainkat egy ko-ordinatatengelyekkel parhuzamos oldalu dobozba. Vizsgaljuk meg, hogy a dobozunk homogennek tekintheto-e, azazlegfeljebb 1 (altalanosabban legfeljebb adott szamu) objektum van-e benne. Ha igen, a felosztassal elkeszultunk. Ha nem,a dobozt a felezosıkjai menten 8 egybevago reszre bontjuk es a keletkezo reszdobozokra ugyanezt az eljarast folytatjuk.

12

3

1

1 2 2 1

3 1

I II

IIIIV

4.2.abra. A s´ıkot feloszt´o negyes fa. Ennek a 3D v´altozata az okt´alis fa

Az eljaras eredmenye egy oktalis fa (4.2. abra). A fa levelei azon elemi cellak, amelyekhez a belogo objektumokatnyilvantartjuk.

A felosztas adaptivitasat fokozhatjuk, ha egy lepesben nem mind a harom felezosık menten vagunk, hanem egy olyan(altalaban ugyancsak a koordinatarendszer valamely tengelyere meroleges) sıkkal, amely az objektumteret a leheto legi-gazsagosabban felezi meg. Ez a modszer egy binaris fahoz vezet, amelynek neve bin aris particionalo fa, vagy BSP-fa. Abinaris particionalo fa specialis esete KD-fa, amelyben csak koordinata-tengelyekkel parhuzamos felezosıkot hasznalunk.Ez a felezosık termeszetesen barhol elhelyezkedhet.

A meresek szerint a KD-fa a mar emlıtett adatstrukturak kozul a gyoztes [Hav01]. A KD-faban az informaciot egysze-ru formaban taroljuk, azaz a fa egy belso csomopontja egy felezosıkot tartalmaz, ezert az itt levo gyermekcsomopontokszama ketto, ıgy csak negy eset kozul kell valasztani: csak a bal oldali agban folytatjuk az utat, csak csak a jobb oldaliban,eloszor a bal oldali agat jarjuk be, majd a jobb oldalit, vagy eloszor a jobb oldalit, azutan a bal oldalit.

Az adaptıv felosztas ketsegkıvul kevesebb memoriat igenyel, mint a ter szabalyos felosztasa. Azonban egy uj prob-lemat vet fel, amivel foglalkoznunk kell. A szabalyos felosztas racsan szakaszrajzolo algoritmusok segıtsegevel kenyel-mesen setalhattunk, azaz konnyen eldonthettuk, hogy egy cella utan melyik lesz a kovetkezo, ami a sugar utjaba kerul.Az adaptıv felosztasoknal egy cella utan kovetkezo cella meghatarozasa mar nem ilyen egyszeru. A helyzet azert nemremenytelen, es a kovetkezo modszer eleg jol megbirkozik vele. Az aktualis cellaban szamıtsuk ki a sugar kilepesi pont-jat, azaz a sugarnak es a cellanak a metszespontjat, majd adjunk hozza a metszespont sugarparameterehez egy “kicsit” !A kicsivel tovabblendıtett sugarparametert visszahelyettesıtve a sugaregyenletbe, egy, a kovetkezo cellaban levo pontotkapunk. Azt, hogy ez melyik cellahoz tartozik, az adatstruktura bejarasaval donthetjuk el. Kezbe fogvan a pontunkat afa csucsan belepunk az adatstrukturaba. A pont koordinatait a felosztasi feltetellel (oktalis fanal az aktualis doboz ko-zeppontjaval, binaris particionalo fanal pedig a sık koordinatajaval) osszehasonlıtva eldonthetjuk, hogy melyik uton kellfolytatni az adatszerkezet bejarasat. Elobb-utobb eljutunk egy levelig, azaz azonosıtjuk a pontot tartalmazo cellat.

A tovabbiakban a KD-fakkal foglalkozunk reszletesebben.

Page 39: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

4.2. A sugarkovetes gyors´ıtasi lehetosegei 37

12

3

1

2 3

I

II

4.3.abra. Binaris particionalo fa

A felezosık elhelyezesees iranya a KD-faban

A KD-faban a felezosıkot tobbfelekeppen elhelyezhetjuk. A t erbeli kozepvonal modszera befoglalo keretet mindig ketegyforma reszre osztja. Mivel a felezes eredmenye mindig ket egyforma nagysagu reszt eredmenyez, ezert ezeknek areszeknek a fa melysegevel aranyosan egyre kisebbeknek kell lennie. Ez a megkozelıtes kiegyensulyozza a teret.

A a test kozepvonal modszerugy osztja fel a teret, hogy annak bal es jobb oldalan egyforma szamu test legyen. Ne-hany test ebben az esetben mind a jobb, mind a bal oldali agba bekerulhet, hiszen a felezosık akar testeket is metszhet. Eza megkozelıtes a testek szamat egyensulyozza ki a felezosık menten.

A harmadik modszer valamilyen koltseg modellthasznal, es a KD-fa felepıtese soran becsli azt az atlagos idot, melyetegy sugar a KD-fa bejarasara soran felhasznal es ennek minimalizalasara torekszik. Ez a modszer teljesıtmenyben felul-mulja mind a terbeli kozepvonalat, mind a test kozepvonalat. Egy megfelelo koltsegmodell szerint ugy felezzuk a cellat,hogy a ket gyermek cellaban levo testek osszes felulete megkozelıtoleg megegyezzen [Hav01].

A felezosık iranyanak meghatarozasara hasznalhatjuk azt a megoldast, hogy a fa melysegenek novekedesevel cikliku-san valtoztatjuk az iranyokat a koordinata-tengelynek megfeleloen (x; y; z; x; :::).

A KD-fa adatstrukt ura melysege

A KD-fa felepıtese soran alapveto kerdes, hogy milyen melysegig erdemes epıteni azt. A melyseg lehet a felhasznalo altalmegadhato parameter, vagy itt is a koltseg modellre tamaszkodhatunk. Ebben az esetben a KD-fat egy bizonyos d maxmelysegig epıtjuk, es kiszamıtjuk a sugarkovetes C(dmax) becsult koltseget. Ezutan minden levelet egy lepessel tovabbosztunk, es ujbol kiszamoljuk a koltseget. Ha a C(dmax+1) jelentosen kisebb mint C(dmax), akkor es a KD-fa tovabbepıtendo, immar a dmax+2 melysegben. Ellenkezo esetben nem folytatjuk tovabb a felosztast.

A KD-fa bej arasa

A KD-fa felepıtese utan termeszetesen egy olyan algoritmusra is szuksegunk van, amely segıtsegevel egy adott sugar-ra nezve meg tudjuk mondani annak utjat a faban, es meg tudjuk hatarozni a sugar altal elsokent metszett testet is. Akovetkezokben 3 algoritmust mutatunk meg ennek az adatstrukturanak a bejarasara: a szekvencialis sugarbejarasi algo-ritmust(sequential ray traversal algorithm), a rekurzıv sugarbejarasi algoritmust(recursive ray traversal algorithm) es aszomszedosszekapcsolasat hasznalo sugarbejarasi algoritmust(ray traversal algorithm with neighbour-links).

A szekvencialis sugarbejarasi algoritmus(sequential ray traversal algorithm) a sugar menten levo pontoknak a KD-faban torteno szekvencialis megkeresesen alapul. Legelso lepeskent a kezdopontot kell meghatarozni a sugar menten, amivagy a sugar kezdopontja vagy pedig az a pont, ahol a sugar belep a befoglalo keretbe, attol fuggoen, hogy sugar kezdo-pontja a befoglalo dobozon belul van-e vagy sem. A pont helyzetenek meghatarozasa soran azt a cellat kell megtalalnunk,amelyben az adott pont van. Kezbe fogvan a pontunkat a fa csucsan belepunk az adatstrukturaba. A pont koordinatait asık koordinatajaval osszehasonlıtva eldonthetjuk, hogy melyik uton kell folytatni az adatszerkezet bejarasat. Elobb-utobbeljutunk egy levelig, azaz azonosıtjuk a pontot tartalmazo cellat.

Ha ez a cella nem ures, akkor megkeressuk a sugar es a cellaban levo illetve a cellaba belogo testek metszespontjat.A metszespontok kozul azt valasztjuk ki, amely a legkozelebb van a sugar kezdopontjahoz. Ezutan ellenorizzuk, hogya metszespont a vizsgalt cellaban van-e (mivel egy test tobb cellaba is atloghat, elofordulhat, hogy nem ez a helyzet).Ha a metszespont az adott cellaban van, akkor megtalaltuk az elso metszespontot, ıgy befejezhetjuk az algoritmust. Haa cella ures, vagy nem talaltunk metszespontot, vagy a metszespont nem a cellan belul van, akkor tovabb kell lepnunk akovetkezo cellara. Ehhez a sugar azon pontjat hatarozzuk meg, ahol elhagyja a cellat. Ezutan ezt a metszespontot egykicsit elore toljuk, hogy a kovetkezo cellaban levo pontot kapjunk. Innentol az algoritmus a targyalt lepeseket ismeteli.

Page 40: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

38 4. Lathatosag szamıtas

Ennek az algoritmusnak a hatranya, hogy mindig a fa gyokeretol indul, pedig nagyban valoszınusıtheto, hogy ketegymas utan kovetkezo pont eseten reszben ugyanazon cellakat jarjuk be. Ebbol adodoan egy csomopontot tobbszor ismeglatogatunk.

A rekurzıv sugarbejarasi algoritmus(recursive ray traversal algorithm) a szekvencialis sugarbejarasi algoritmus hat-ranyait igyekszik kikuszobolni, es minden belso pontot es levelet csak egyetlen egyszer latogat meg. A javitott algoritmus,amikor a sugar egy olyan belso csomoponthoz er, amelynek ket gyermekcsomopontja van, eldonti a gyermekeket milyensorrendben latogassa meg. A gyermekcsomopontokat “kozeli” es “ tavoli” gyermekcsomopontkent osztalyozza aszerint,hogy azok milyen messze helyezkednek el a sugar kezdetetol a felezosıkhoz kepest. Ha a sugar csak a “kozeli” gyermek-csomoponton halad keresztul, akkor a sugar ennek a csomopontnak az iranyaba mozdul el, es az algoritmus rekurzıvanfolytatodik. Ha a sugarnak mindket gyermekcsomopontot meg kell latogatnia, akkor az algoritmus egy veremtarban meg-jegyzi az informaciokat a “ tavoli” gyermekcsomopontrol, es a “kozeli” csomopont iranyaba mozdul el, majd rekurzıvanfolytatodik az algoritmus. Ha a “kozeli” csomopont iranyaban nem talalunk metszetet, akkor visszakeressuk a “ tavoli”gyermekcsomopontot, es az algoritmus rekurzıvan fut tovabb, immar ebben az iranyban. A kovetkezokben az ismertetettalgoritmust C-pszeudokoddal is megadjuk:

enum Axes X_axis, Y_axis, Z_axis;

struct KDTreeNode /* a node of the KD-tree */Point3d min, max; /* extent of the node */GeomObjlist *objlist; /* list of objects belonging to this node */struct KDTreeNode *left; /* left child */struct KDTreeNode *right; /* right child */Axis axis; /* orientation of the halfplane */

struct StackElem /* an element of the Stack */KDTreeNode* node;float a; /* signed distance of the entry */float b; /* signed distance of the exit */

Object RayTravAlg(KFTreeNode *roorNode, Ray ray) /* Recursive ray traversal */float a, b; /* signed distances of the entry/exit */float t; /* signed distance of the halfplane */StackElem stack[MAXDEPTH]; /* Stack */int stackPtr = 0; /* Stack pointer */KDTreeNode *farChild, *nearChild, *currNode; /* children and the current node */

RayBoxIntersect(ray, rootNode, &a, &b); /* Intersection with the bounding box */if ( "there is not intersection" ) return ["No intersection"];"push (rootNode, a, b) onto the stack"

while ( "the stack is not empty" ) /* while the whole tree is not traversed */"Pop (currNode, a, b) from the stack"while ("currNode is not a leaf")

float diff = currNode->right.min[axis] - ray.origin[axis]t = diff / ray.dir[axis];if (diff > 0.0)

nearChild = currNode->leftfarChild = currNode->right

else nearChild = currNode->rightfarChild = currNode->left

if ( (t > b) || (t < 0.0) ) currNode = nearChild;else

if (t < a) currNode = farChild;else

"Push (farNode, t, b) onto Stack"currNode = nearChild;b = t;

/* the currect node is a leaf */"Intersect the ray with all objects in the list""Ignore those intersections that are not between a and b"if (any intersection exists) return ["closest intersection"]

return ["No intersection"];

Page 41: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

4.2. A sugarkovetes gyors´ıtasi lehetosegei 39

A sugarbejarasi algoritmus a szomszedosszekapcsolasaval (ray traversal algorithm with neighbour-links) egy ujabbmodszer a csomopontok ismetlodo meglatogatasanak kikuszobolesere. Ez a megoldas mutatokat hasznal a szomszedoscellak osszekapcsolasara.

Page 42: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

40 4. Lathatosag szamıtas

Page 43: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

5. fejezet

Monte-Carlo es kvazi Monte-Carlo integralas

Az arnyalasi egyenlet megoldasa soran igen magas dimenzios integralokat kell kiertekelnunk, amelyhez numerikus integ-ralformulakat hasznalhatunk. Egy integralformulaaltalanos alakja:

ZV

f(z) dz 1

MMXi=1

f(zi) w(zi); (5.1)

ahol w az integralformulanak megfelelo sulyfuggveny. Az alapveto kerdes az, hogy hol kell felvenni a z i mintapontokatahhoz, hogy a mintak szamanak novelesevel gyorsan a tenyleges megoldashoz konvergaljunk.

A legismertebb lehetoseg a mintapontok szabalyos racson torteno elhelyezese, ami konstans 1=V sulyfuggvennyelaz integral teglanyszabaly alkalmazasaval torteno kiertekelesehez, nem konstans sulyfuggvenyekkel pedig a trap ez sza-balyhoz illetve a Simpson-szabalyhoz vezet. Sajnos ugyanolyan pontossag eleresehez ezek a formulak egy 1 dimenziosintegralhoz M darab, egy 2 dimenzios integralhoz M 2 darab, altalaban egy D dimenzios integralhoz mar M D darabmintapontot igenyelnek, azaz a szamıtasi komplexitas az integralasi tartomany dimenziojanak exponencialis fuggvenye.A jelenseg magyarazata az, hogy magas dimenziokban a szabalyos racs sorai es oszlopai kozott nagy urok tatongnak,ezert a mintapontok nem toltik ki elegendoen surun az integralasi tartomanyt (5.1. abra). Az M D darab mintapontigenyelfogadhatatlan a magas dimenzioju integraloknal, ezert mas strategia utan kell neznunk.

5.1. A Monte Carlo moszer

0

0.2

0.4

0.6

0.8

1

0 0.2 0.4 0.6 0.8 1

Random points

5.1.abra. 100 mintapont szab´alyos racson (bal)es veletlenszer˝uen (jobb)

A mintapontokat megvalaszthatjuk veletlenszeruen is. A kovetkezokeppen lathatjuk be, hogy aszimptotikusan ez iskorrekt modon becsuli az integral erteket. Szorozzuk be es egyszersmind osszuk is el az integrandust egy p(z) valoszı-nuseg suruseg fuggvennyel (az osztas kioltja a szorzas hatasat, tehat ez nyilvan semmifele valtozast nem okoz)! Majdismerjuk fel, hogy az ıgy kapott integral a varhato ertek keplete! A varhato erteket pedig jol becsulhetjuk a mintakatlagaval es a nagy szamok torvenye szerint a becsles a tenyleges varhato ertekhez tart. Formalisan:

ZV

f(z) dz =

ZV

f(z)

p(z) p(z) dz = E

f(z)

p(z)

1

MMXi=1

f(zi)

p(zi): (5.2)

41

Page 44: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

42 5. Monte-Carlo es kvazi Monte-Carlo integralas

A becsles hibajat most a szoras fejezi ki. Legyen a p(z) surusegfuggvenyu z valoszınusegi valtozo f(z)=p(z) transzfor-maltjanak szorasa . Ha a mintakat egymastol fuggetlenul valasztjuk ki, akkor az M minta atlaganak szorasa =

pM ,

az integralasi tartomany dimenziojatol fuggetlenul. A szoras es a klasszikus hiba fogalmat ugyancsak a nagy szamoktorvenyei segıtsegevel kapcsolhatjuk ossze. Ezek szerint 0.997 valoszınuseggel mondhatjuk, hogy M kıserlet elvegzeseutan az integralbecsles hibaja 3=

pM -nel kisebb lesz.

A tenyezot ugy csokkenthetjuk, hogy a p(z)-t a lehetosegek szerint az integrandussal aranyosan valasztjuk meg,azaz ahol az integrandus nagy, oda sok mintapontot koncentralunk. Ennek a szorascsokkento eljarasnak a neve fontossagszerinti mintavetel.

A veletlen mintapontokkal dolgozo eljarast Monte-Carlo modszernek nevezzuk, amelynek nagy elonye, hogy a komp-lexitasa nem fugg a tartomany dimenziojatol [Sob91]. A veletlen pontsorozatok magasabb dimenzioban egyenletesebbek,mint a szabalyos racsok. Megjegyezzuk, hogy leteznek olyan determinisztikus pontsorozatok, amelyek meg a veletlenpontsorozatoknal is egyenletesebben toltik ki a rendelkezesre allo teret. A nagyon egyenletes eloszlas miatt alacsonydiszkrepanciaju sorozatoknak nevezik oket [Nie92, PFTV92, Knu81, Sob91]. A determinisztikus pontsorozatokat alkal-mazo modszereket kvazi Monte-Carlo eljarasoknak nevezzuk.

5.2. A kvazi Monte-Carlo moszer

Az egyszeruseg kedveert tetelezzuk fel, hogy az s-dimenzios f(z) fuggvenyt a [0; 1] s ertelmezesi tartomanyon kell integ-ralni. A Riemann-integralhatosag biztosıtasara tetelezzuk fel, hogy a fuggveny szakaszosan folytonos.

Az integralt a kovetkezo osszeggel kozelıthetjuk:

Zz2[0;1]s

f(z) dz 1

N

NXi=1

f(zi):

A kerdes ebben az esetben is termeszetesen az, hogyan valasszuk meg a z 1; z2; : : : ; zN mintapont sorozatot ahhoz,hogy a leheto legkisebb hibaval szamoljunk. Elvarjuk, hogy aszimptotikus ertelemben a hiba nullaval legyen egyenlobarmilyen Riemann integralhato fuggvenyre:

Zz2[0;1]s

f(z)dz = limN!1

1

N

NXi=1

f(zi):

Azon pontsorozatokat, melyek teljesıtik ezt a kovetelmenyt egyenletessorozatoknak nevezzuk [Nie92].Azon celbol, hogy megfelelo kovetelmenyt talaljunk az egyenletes pontsorozatokra, vegyunk egy nagyon egyszeru

fuggvenyt, amely 1 erteku a koordinata rendszer kozeppontjabol kiindulo d-dimenzios “ tegla” belsejeben es 0 ezen kıvul:

L(z) =

8<:

1 if 0 zj1 v1; 0 zj2 v2; : : : ; 0 zjs vs;

0 egyebkent.

Jelolje V (A) =Qsj=1 vj a tegla kiterjedeset. Ezt a fuggvenyt integralva kapjuk:

Zz2[0;1]s

L dz =sYj=1

vj = V (A): (5.3)

Ha az s-dimenziosA ” tegla” belsejeben levo mintapontok szama m(A), akkor a veges approximacios osszeg:

1

N

NXi=1

L(zi) =m(A)

N:

Mivel az integral pontos erteke ebben az esetben V (A) az egyenletes pontsorozatokra, a tegla belsejeben levo minta-pontok atlagszamanak aranyosnak kell lennie annak kiterjedesevel:

limN!1

m(A)

N= V (A):

Ha a pontsorozat veges, akkor az aranyossagi kovetelmeny csak megkozelıtoleg teljesıtheto. A kozelıtes maximalishibaja definıcioszeruen a pontsorozat diszkrepanciaja:

D(z1; z2; : : : zN ) = supAjm(A)

N V (A)j: (5.4)

Page 45: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

5.2. A kvazi Monte-Carlo moszer 43

Ha a pontsorozat egyenletes, akkor a kozelıto osszeg a valos megoldashoz konvergal, ıgy a diszkrepancia a zerushoztart. Ez egy ujabb kovetelmeny, melyet egy nagyon egyszeru fuggveny vizsgalatabol kaptunk. Ez a kovetelmeny nem-csak szukseges, de elegseges is, mivel barmely Riemann-integralhato fuggveny tetszoleges pontossaggal kozelıtheto azorigobol indulo blokkok osszegevel es kulonbsegevel. Egy ketdimenzios fuggveny lepcsos megkozelıteset lathatjuk a 5.2.abran.

f1

f3

f4f2

b1=f1-f2-f3+f4

b2=f2-f4 b3=f3-f4b4=f4= + + +

5.2.abra. Egy fuggveny defin´ıcioja a koordinata rendszer k¨ozeppontjabol kiindulo teglak seg´ıtsegevel

5.2.1. Alacsony diszkrepanciaju sorozatok definialasa

Az ismert, legegyenletesebb sorozatok diszkrepanciajanak nagysagrendjeO(log sN=N) vagy akar O(logs1N=N) ha amintapontok szama elore ismert. Ezeket a sorozatokat alacsony diszkrepanciaju sorozatoknak nevezzuk [Nie92, War95,Dea89, Knu81]. Valoszınuleg az egyik legismertebb a Halton-sorozat(az 1-dimenzios verziojat Van der Corput soro-zatnak nevezzuk).

Az 1-dimenzios b alapu Halton sorozat i. elemet mint az i szam b alapu szamrendszerbeli kifejtesenek radikalis inver-zekent definialjuk. A radikalis inverz a szam tizedes (azaz b-des) pontjara vett tukorkepet jelenti. Az elso nehany pontotkettes alappal szamolva az 5.1. tabla tartalmazza.

i i binaris formaja radikalis inverz Hi

1 1 0.1 0.52 10 0.01 0.253 11 0.11 0.754 100 0.001 0.1255 101 0.101 0.6256 110 0.011 0.3757 111 0.111 0.875

5.1. tablazat. Azi. Halton pont sz´amolasa kettes alappal

Vizsgaljuk meg, hogy miert egyenletes ez a sorozat. Az algoritmusban a k+1 hosszusagu binaris szamok eloallıtasatmegelozi az osszes k hosszusagu binaris alak generalasa. Ez azt jelenti, hogy a radikalis inverz utan a H i sorozat vegigfutaz osszes 2k hosszusagu intervallumon mielott uj pontot helyezne a mar meglatogatott intervallumba, ami mar magautan vonja az egyenletesseget.

Az algoritmus egyetlen pontot tesz minden 1=2 hosszusagu intervallumba, azutan minden 1=4 hosszusagu interval-lumba, stb. ezert a sorozat nemcsak aszimptotikusan egyenletes, hanem az elso N pont is meglehetosen egyenleteseloszlasu. Ez termeszetesen ervenyes mas hatvanyalapra is. Ha az alapszam b, akkor a Halton sorozat egy mintapontothelyez el minden bk hosszusagu intervallumba mielott ujabb pontot helyezne el valamelyik intervallumba.

A Halton sorozattal egyenletes eloszlasu pontsorozatot generalhatunk az 1-dimenzios [0; 1] intervallumban. Ha ma-gasabb foku dimenziok, mint peldaul teglalap, kocka, stb. egyenletes kitoltesere van szuksegunk, akkor a kulonbozokoordinataju mintavektorokat kulonbozo alapu Halton sorozatokbol generalhatjuk. Azon meggondolasbol, hogy ezek avektorok egyenletesen toltsek ki az egesz teruletet, a kulonbozo koordinatak kolcsonos osszefuggeset a leheto legkisebbrekell csokkenteni. Vizsgaljuk meg ezt egy 2-dimenzios b 1 es b2 alappal generalt Halton sorozat eseten. A Halton sorozatmukodesenek megfeleloen, a generalo algoritmus meglatogatja az osszes b k11 szelessegu oszlopot mielott ujbol meglato-gatna valamelyik oszlopot, es hasonloan, meglatogatja az osszes bk22 meretu sort mielott uj pontot helyezne el valamelyiksorban. Az oszlopok es sorok bk11 bk22 nagysagu cellat kepeznek. 2-dimenzioban az egyenletesseg azt jelenti, hogy azalgoritmus mindegyik cellaba tesz egy pontot, mielott egy ujabb, masodik pontot helyezne el barmelyik cellaban. Mivel a

Page 46: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

44 5. Monte-Carlo es kvazi Monte-Carlo integralas

5.3.abra. Az els˝o 10,100es 1000 Halton pont 2-dimenzi´oban

sorok es oszlopok periodicitasa bk11 es bk22 , a cellak periodicitasa a bk11 es bk22 legkisebb kozos tobbszorose. Ez a ket szamszorzataval, azaz a cellak szamaval egyenlo, ha a bk11 es bk22 szamok relatıv prımek.

Ezt szinten altalanosıthatjuk. A tobbdimenzios Halton sorozat megalkotasanal a kulonbozo koordinatak alapszamai-nak relatıv prımeknek kell lenniuk.

A kovetkezokben egy C++ osztalyt mutatunk be, amely kepes barmilyen Halton pont szamıtasara, majd inkrementa-lisan eloallıtja az osszes egymast koveto pontot [Kel96]:

class Halton double value, inv_base;

Number( long i, int base ) double f = inv_base = 1.0/base;value = 0.0;while ( i > 0 )

value += f * (double)(i % base);i /= base;f *= inv_base;

void Next( ) double r = 1.0 - value - 0.0000000001;if (inv_base < r) value += inv_base;else

double h = inv_base, hh;do

hh = h;h *= inv_base;

while ( h >= r );value += hh + h - 1.0;

operator double() return value;

;

5.3. Fontossag szerinti mintavetelezes

A fontossag szerinti mintavetelezes a Monte-Carlo modszerek szoras csokkento eljarasa. Az alapotlet szerint hasznaljunknem-egyenletes eloszlast a mintapontok megkeresesere, amely tobb mintapontot helyez el oda, ahol a fuggvenyertek nagy.Pontosabban ez azt jelenti, hogy

I =

ZV

f(z) dz =

ZV

f(z)

p(z) p(z) dz = E

f(z)

p(z)

1

NNXi=1

f(zi)

p(zi)

3V pN;

ahol p(z) surusegfuggveny a V -ben, a z i pontokat ennek a valoszınusegnek megfeleloen valasztjuk ki, a 2 szorasnegy-zetet pedig a kovetkezokeppen definialjuk:

2 = D2

f(z)

p(z)

= E

"f(z)

p(z) I

2#=

ZV

f(z)

p(z) I

2

p(z) dz:

Page 47: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

5.3. Fontossag szerinti mintavetelezes 45

A p(z) surusegfuggvenyt ugy kell kivalasztani, hogy minimalizalja a szorast, ami akkor kovetkezik be, ha a p(z) aranyosaz f(z) integrandussal. Fejezzuk ki az integrandus es a surusegfuggveny aranyat a kovetkezokeppen:

f(z)

p(z)= + Æ(z);

ahol = E[ f(z)p(z) ] esRV

(Æ(z))2 p(z) dz = 1. Felhasznalva ezt, a szorasnegyzet:

2 = E[(+ Æ(z)E[+ Æ(z)])2] = 2 E[(Æ(z))2] = 2: (5.5)

Ez nyilvanvaloan minimalis, ha = 0, amikor is a szoras szinten nulla.A Monte-Carlo integralas soran tehat olyan valoszınusegfuggvenyt kell valasztani, amely nagy azokon a teruleteken,

ahol az integrandus nagy es kicsi ott, ahol az integrandus elhanyagolhato.

5.3.1. Veletlen valtozo generalasa megadott valoszınuseggel

Megallapıtottuk, hogy a fontossag szerinti mintavetelezes olyan mintapontokkal dolgozik, melyeket az integrandussal leg-alabb kozelıtoen aranyos surusegfuggvenybol allıtunk elo. Ebben a reszben megvizsgaljuk, hogyan lehet ilyen pontokattalalni. Eloszor is tekintsuk az 1-dimenzios teret, es tetelezzuk fel, hogy az integralasi tartomany az [a; b] intervallum.

Tetelezzuk fel, hogy olyan surusegfuggvennyel szeretnenk mintavetelezni, mely aranyos a g(z) fuggvennyel. Haez a fuggveny kulonbozo az integrandustol, akkor a fontossag szerinti mintavetelezes nem optimalis. A keresett p(z)surusegfuggveny a g fuggveny normalizalasaval szamıthato ki:

p(z) =g(z)

bRa

g(z)dz

:

Ez egyuttal magyarazatot is ad arra, miert kell nem-optimalis suruseget hasznalni. Ha a g egyenlo lenne az f fuggvennyel,akkor a surusegfuggveny konstrukcioja az f integraljat kovetelne meg.

A p surusegfuggvenybol a P eloszlasfuggveny a kovetkezokeppen szamolhato:

P (z) =

zZa

g(Z) dZ:

Egy P eloszlasfuggvenyu valoszınusegi valtozot ugy allathatunk elo, hogy egy masik, a [0; 1] intervallumon egyen-letesen eloszlasu r valoszınusegi valtozora a = P 1(r) transzformaciot alkalmazunk.

Az allıtast bizonyıtando vizsgaljuk meg a valoszınusegi valtozo eloszlasat:

Prf < zg = PrfP1(r) < zg = Prfr < P (z)g = P (z):

mivel P (z) nem csokkeno es annak a valoszınusege, hogy az egyenletes eloszlasu r egy [0; 1]-beli intervallum belsejebenvan megegyezik ennek az intervallumnak a hosszaval.

A tobbdimenzios esetet visszavezethetjuk az 1-dimenzioban megismert mintavetelezesek sorozatara. A normalizacioutan:

p(z) =g(z)R

V

g(z)dz:

A surusegfuggvenyt az 1-dimenzios felteteles surusegek szorzatakent fejezhetjuk ki:

p(z1; z2; : : : ; zs) = p1(z1jz2; : : : ; zs) p2(z2jz3; : : : ; zs) : : : ps(zs):

Ezekre a felteteles surusegekre ugyanazon modszer alkalmazhato rekurzıvan, mint az 1-dimenzios esetekre. Ha akulonbozo koordinatak fuggetlen valoszınusegi valtozok, akkor:

p(z1; z2; : : : ; zs) = p1(z1) p2(z2) : : : ps(zs):

Page 48: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

46 5. Monte-Carlo es kvazi Monte-Carlo integralas

5.3.2. Fontossag szerinti mintavetelezes a kvazi-Monte Carlo integralasban

A klasszikus Monte-Carlo integracio soran a fontossag szerinti mintevetelezes tobb mintapontot helyez el oda, ahol azintegrandus nagy. Ez az otlet jonak tunik a kvazi-Monte Carlo integralasban is. A formalis indoklashoz azonban meg kellkuzdeni azzal a nehezseggel, hogy a determinisztikus kvazi-Monte Carlo eseten olyan fogalmak, mint a surusegfuggvenyvagy a szoras nem hasznalhato.

Az alternatıv megkozelıtes szerint integraljunk ugy, hogy helyettesıteses integralast alkalmazunk. Tetelezzuk fel, hogyaz f fuggvenyt a V tartomanyon kell integralni, es a monoton novekvo T lekepezes ezt a tartomanyt a V 0 tartomanyrakepezi le. Az integral az uj tartomanyon a kovetkezo keplet felhasznalasaval ertekelheto ki:Z

V

f(z) dz =

ZV 0

f(T1(y))

@T1(y)@y

dy; (5.6)

ahol@T1(y)

@y

az inverz transzformacio Jacobi determinansa.

A V 0 tartomany a kvazi-Monte Carlo integracioban a [0; 1] s s-dimenzios egysegkocka . A hiba nagysaganak meg-hatarozasara felhasznalhatjuk a Koksma-Hlawka egyenlotlenseget, amely a hibat a mintapontok diszkrepanciajanak es afuggveny variaciojanak a szorzatakent fejezi ki. Mivel a mintapontok diszkrepanciaja fuggetlen az integralando fugg-venytol, ezert a hiba nagysaga csokkentheto az integrandus megfelelo transzformaciojaval. Ehhez a fuggvenyt lapossakell tennunk. Idealis esetben, ha az integrandus konstans, a variacio 0.

A transzformalt integrandus konstanssa tetelehez a Jacobi determinansnak fordıtott aranyban kell allnia az f fugg-vennyel. Mivel a Jacobi determinans intuitıvan a ket megfelelo V es V 0-beli differencialis tartomany osszenyomodasatilletve szethuzasat fejezi ki, ez a kriterium azt allıtja, hogy ha a mintapontok egyenletesen oszlanak el a V 0 tartomanyban,akkor a transzformacio olyan teruletekre koncentralja oket, ahol az f nagy.

Az egyszeruseg kedveert reszletesen csak az 1-dimenzios esetet vizsgaljuk meg, amikor is a valtozo transzformacio akovetkezokeppen nez ki:

zmaxZzmin

f(z) dz =

1Z0

f(T1(y)) dT1(y)

dydy: (5.7)

Idealis esetben a T lekepezes az integrandust nulla variaciojura valtoztatja, vagyis az uj integrandus valamilyen C konstanslesz:

f(T1(y)) dT1(y)

dy= C:

Ebbol a kovetkezo adodik:

T (z) =1

C

zZzmin

f(Z) dZ:

Mivel a T lekepezes varhatoan a [0; 1] intervallumra kepez le, ezert megkoveteljuk, hogy T (z max) = 1 legyen. A kons-

tans C erteke ıgyzmaxRzmin

f(Z) dZ. Osszefoglalva, az egyenletes eloszlasu y pontot a kovetkezo fuggveny inverzevel kell

transzformalni

T (z) =

zRzmin

f(Z) dZ

zmaxRzmin

f(Z) dZ

: (5.8)

Lathato, hogy ez hasonlo transzformacio, mint amelyet a veletlen pontokra adtunk meg. Ez az jelenti, hogy a fontossagszerinti mintavetelezes fuggetlen attol, hogy veletlen avagy determinisztikus mintakkal dolgozunk-e.

Page 49: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

5.3. Fontossag szerinti mintavetelezes 47

5.3.3. Metropolis mintavetelezes

A fontossag szerinti mintavetelezes olyan eloszlasfuggvenyt kovetel meg, amely aranyos a g fuggvennyel, azaz az in-tegrandussal. Az elozo reszben bemutatott modszer elvarja, hogy a g fuggveny szimbolikusan integralhato es a primitıvfuggvenye invertalhato legyen. Ez a kovetelmeny gyakran ellentmond annak, hogy a g fuggveny az eredeti integrandustpontosan kovesse. Ebben a reszben olyan mintavetelezo strategiat mutatunk be [MRR +53], amely kevesebb elvarasttamaszt a g fuggvennyel szemben, es csak azt feltetelezi, hogy a g integralja vagy szimbolikusan vagy numerikusanmeghatarozhato.

A Metropolis modszer a mintavetelezeshez egy olyan diszkret ideju Markov folyamatot hoz letre a mintak tereben,amelynek hatareloszlasa aranyos a valasztott fuggvennyel:

g(z) = b p(z);

ahol b =RVg(z) dz.

A Markov folyamatot allapot atmeneti valoszınuseggel definialhatjuk, vagyis a kovetkezo allapot felteteles valoszı-nusegevel, felteve, hogy a jelenlegi allapot ismert. A Metropolis modszerrel a folyamat kovetkezo z i+1. allapotat ugytalalhatjuk meg, hogy egy szabadon valasztott T (z i ! zt) kıserleti atmeneti fuggvennyelgeneralunk egy zt kıserle-ti mintapontot, melyet az a(zi ! zt) elfogado valoszınuseg szerint vagy elfogadunk mint valodi kovetkezo allapotot,vagy elutasıtunk es az aktualis allapot tartjuk meg. Az allapot atmeneti valoszınuseg-eloszlasfuggveny az x allapotbol yallapotba a kovetkezo:

P (x! y) dy = T (x! y) dy a(x! y): (5.9)

Azon esemeny, hogy ugyanabban az allapotban maradunk, a barmilyen mas allapotba valo atlepes kiegeszıto esemenye,ezert az allapot tartas valoszınusege:

1Z

y2V;x6=y

P (x! y) dy = 1Z

y2V;x6=y

T (x! y) a(x! y) dy:

Jeloljuk pn(x)-nel annak a valoszınuseget, hogy az n. lepesben az x allapotban vagyunk. A teljes valoszınuseg tetelszerint es a Markov tulajdonsag miatt, miszerint a jovo csak a jelen allapottol fugg es fuggetlen a multtol, a kovetkezorekurzio ırhato fel:

pn+1(y) =

Zx2V;x6=y

pn(x) P (x! y) dx+

0B@1

Zx6=y

P (y ! x) dx

1CA pn(y):

Ha p(y) = limn!1

pn(y) hatarertek letezik, akkor ez a rekurzio fix pontja, vagyis:

p(y) = p(y) +

Zx2V;x6=y

p(x) P (x! y) p(y) P (y ! x) dx (5.10)

Ha a Markov folyamat ergodikus, akkor a hatareloszlas letezik es fuggetlen a folyamat kezdeti allapotatol. Egy folyamatakkor ergodikus, ha adott szamu lepes utan barmelyik allapot elerheto barmelyik masik allapotbol nem nulla valoszınu-seggel.

A Metropolis modszer oly modon konstrualja meg az a(x! y) elfogado valoszınuseget, hogy a folyamat hatarelosz-lasa p(z) = g(z)=b legyen. Behelyettesıtve ezt a celkituzest az 5.10 kepletbe, a kovetkezo osszefugges adodik:

g(y) = g(y) +

ZV;x6=y

g(x) P (x! y) g(y) P (y ! x) dx: (5.11)

Ez akkor all fenn, ha az x osszes bejovo es kimeno atmenete egyensulyban van. Ezt egy kezenfekvo modon biztosıthatjuk,ha megkoveteljuk, hogy barmely ket allapot kozotti atmenet egyensulyban legyen:

g(x) P (x! y) = g(y) P (y ! x): (5.12)

Felhasznalva az 5.9. egyenletet az allapot atmeneti valoszınusegre azt kapjuk, hogy:

g(x) T (x! y) a(x! y) = g(y) T (y! x) a(y ! x): (5.13)

Ebbol adodoan a ket elfogado valoszınuseg aranya:

a(y ! x)

a(x! y)=g(x) T (x! y)

g(y) T (y! x): (5.14)

Page 50: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

48 5. Monte-Carlo es kvazi Monte-Carlo integralas

Barmilyen, a feltetelt teljesıto elfogado valoszınuseg eseten a hatareloszlas aranyos lesz a g fuggvennyel. Figyelembeveve a konvergencia sebesseget, az allapot atmeneti fuggvenynek es ebbol adodoan az elfogado valoszınusegnek nagynakkell lennie. Mivel a valoszınuseg nem lehet egynel nagyobb, ezert az optimalis elfogado valoszınuseg a kovetkezokeppenalakul:

a(x! y) = min

g(y) T (y! x)

g(x) T (x! y); 1

:

A kovetkezo algoritmus a Markov folyamat egy fz 1; z2; : : : ; zNg olyan trajektoriajat allıtja elo, ahol a meglatogatottpontok az Monte-Carlo modszer mintaveteli pontjai:

for i = 1 to N doBased on the actual state zi, choose another random, tentative state zt using T (zi ! zt)

a(zi ! zt) = (g(zt) T (zt ! zi))=(g(zi) T (zi ! zt))

if a(zi ! zt) 1 then zi+1 = zt

else // accept with probabilitya(zi ! zt)

Generate uniformly distributed random number r in [0; 1].if r < a(zi ! zt) then zi+1 = zt

else zi+1 = zi

endifendfor

Page 51: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

6. fejezet

Veges-elem modszer

A folytonos parameteru fuggvenyek veges adattal torteno kozelıto megadasara a v eges-elem modszert (finite-element met-hod) hasznalhatjuk. Ennek lenyege, hogy a fuggvenyt fuggvenysorral kozelıtjuk, azaz a kovetkezo alakban keressuk:

L(p) nXj=1

Lj bj(p); (6.1)

ahol bj(p)-k elore definialt bazis fuggvenyek, L j -k pedig skalar tenyezok. Ket fuggveny szorzatanak a teljes terre vettintegraljat a ket fuggveny skalarszorzatanak hıvjuk, es a kovetkezokeppen jeloljuk:

hf; gi =Zf(p) g(p) dp:

Az egyik leggyakrabban hasznalt bazisfuggveny keszlet a kozelıtendo fuggveny ertelmezesi tartomanyat veges szamutartomanyra bontja, es az i. bazisfuggvenyt 1 ertekunek tekinti az i. tartomanyban, minden mas tartomanyban pedig0-nak. A megoldandoL(p) = Le(p) + T L(p) integralegyenletbe a fuggvenysoros kozelıtest behelyettesıtve a kovetkezoegyenletet kapjuk:

nXj=1

Lj bj(p) nXj=1

Lej bj(p) + TnXj=1

Lj bj(p):

Vegyuk eszre, hogy tenyleges egyenloseg altalaban nem all fenn, hiszen meg haPnj=1 Lj bj(~x; !) a bazisfuggve-

nyek altereben van is, a T integraloperator kivihet ebbol az alterbol. Az egyenloseget ezert csak egy megfelelo alterbenkoveteljuk meg, amelyet a ~b1(~x);~b2(~x); : : :~bn(~x) adjungalt bazisfugvenyekfeszıtenek ki.

Az egyszeruseg kedveert feltetelezzuk, hogy az eredeti bazis es az adjungalt bazis kulonbozo indexu elemeinek aszorzata zerus, a megegyezo indexu elemeke pedig 1:

hbi;~bji =Zbi(p) ~bj(p) dp = 0 ha i 6= j:

A zerus skalarszorzat szemleletesen ugy is ertelmezheto, hogy a bazisfuggvenyek es az adjungalt bazisfuggvenyek egy-masra “merolegesek” , tehat ortogonalis rendszert alkotnak.

Szorozzuk meg tehat az iteracios kepletet kulon-kulon minden egyes ~bi adjungalt bazisfuggvennyel. Az ortogonalitasifeltetel miatt az i. bazisfuggvennyel valo szorzas a kovetkezo egyenletre vezet:

Li = Lei +

nXj=1

hT bj ;~biihbj ;~bii

Lj :

A veges-elem modszer alkalmazasa tehat a fuggvenysor egyutthatoira egy linearis egyenletrendszert eredmenyezett:

L = Le +R L; ahol Rij =hT bj ; biihbj ; bii

: (6.2)

Erre a linearis egyenletrendszerre az inverzio — peldaul Gauss-eliminacio alkalmazasaval — mar tenylegesen elvegez-heto:

L = Le +R L =) (1R) L = Le =) L = (1R)1Le:

A fuggvenysor egyutthatoibol viszont a fuggvenyertek aPnj=1 Lj bj(p) keplet alkalmazasaval tetszoleges p pontra

megkaphato.

49

Page 52: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

50 6. Veges-elem modszer

A fenti modszer a kozelıto eredmenyt ugy keresi meg, hogy a hibat merolegesse teszi az adjungalt bazisfuggvenyekre.Az adjungalt bazisfuggvenyeket felvehetjuk a bazisfuggvenyekkel parhuzamosan is, azaz egy adott indexu bazisfuggvenyes az adjungalt bazisfuggveny csak egy skalaris tenyezo erejeig kulonbozik egymastol Ezt az eljarast Galerkin modszerneknevezzuk.

Nagyon fontos esetkent szeretnenk megemlıteni a szakaszosan konstans approximaciot, ahol a feluleteketA 1; A2; : : : ; Anreszekre bontjuk, az iranytartomanyt pedig 1;2; : : : ;m terszogekre. Ekkor a bazisfuggvenyek:

bij(~x; !) =

(1; ha ~x 2 Ai ^ ! 2 j ;

0; egyebkent.

Az adjungalt, amennyiben Galerkin modszert hasznalunk:

~bij(~x; !) =

8<:1=jAij jj j; ha ~x 2 Ai ^ ! 2 j ;

0; egyebkent.

Page 53: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

7. fejezet

A globalis illumin acios problema veletlen bolyongassaltort eno megoldasa

Az expanzio a mert teljesıtmenyt vegtelen Neumann-sor formajaban szamolja: ML =P1

i=0MT iLe. A Neumann-sortagjai intuitıv jelentessel bırnak: MT 0Le =MLe az emissziobol adodik,MT 1Le az elso visszaverodesbol,MT 2Le amasodik visszaverodesbol szarmazik, stb.

7.1. Miert hasznaljunk Monte-Carlo m odszereket?

Az expanzios technikak nagyon nagy dimenzioju — valojaban vegtelen dimenzioju — integralok kiertekeleset kovetelikmeg. Ha a klasszikus integralasi szabalyokat, mint peldaul a trapez modszert, alkalmazzuk a tobb-dimenzios integralokra[PFTV92], akkor a kıvant pontossagu eredmeny eleresehez a mintapontok szama nagysagrendilegO(N s) lesz, ahol s azertelmezesi tartomany dimenzioja. Ezt a jelenseget dimenzionalis robbanasnak nevezzuk, es ennek kovetkezmenyekent aklasszikus integralasi szabalyok tulsagosan is koltsegesek magasabb dimenziokban.

Mivel a Monte-Carlo vagy a kvazi-Monte Carlo modszerek egyidejuleg minden dimenzioban elosztjak a mintaponto-kat, ezert kepesek elkerulni a dimenzionalis robbanast. Peldaul, a Monte-Carlo interalbecsles hibajaO(N 0:5), fuggetle-nul az ertelmezesi tartomany dimenziojatol. Az s-dimenzios alacsony-diszrepanciaju sorozatok [Nie92]O(log sN=N) =O(N(1)) konvergencia sebesseget is elerhetnek a veges variacioju integrandusokra.

A klasszikus integralasi szabalyok nem hasznalhatok vegtelen dimenzioju integralok szamıtasara, ezert a Neumannsort D lepes utan csonkıtani kell. Ez a befejezes D+1 jjLejj=(1 ) nagysagu torzıtast eredmenyez, ahol az in-tegraloperator kontrakcios tenyezoje. Orosz-rulett alapu technikat hasznalva, a Monte-Carlo modszerekkel a vegtelendimenzioju integralokat torzıtasmentesen becsulhetunk.

A bolyongasok naiv generalasanak problemaja az, hogy annak a valoszınusege, hogy a lovoseta megtalalja a kameratnagyon kicsi, mıg annak a valoszınusege, hogy a gyujtoseta egy kis fenyforrasban vegzodik ugyancsak elhanyagolhato,ezert az utak tobbsege nem jarul hozza a kephez, kovetkezteteskeppen ezek szamolasa csak felesleges idoveszteseg.

Egyreszt a veletlen setat egy determinisztikus lepessel kell kombinalni, amely a setat a szembe illetve a fenyforrasbakenyszerıti. Masfelol, fontossag szerinti mintavetelezest [Sob91] kell hasznalni, amely azon utakat reszesıti elonyben,ahol a szallıtott sugarsuruseg jelentos.

A bolyongas lepesei a radianciat es a potencialt szallıtjak a terben. A szallıtas forrasai es a celjai pontok a folytonosmodszereknel, es feluleti elemek a veges-elem modszereknel. Ha az algoritmus olyan, hogy mindig egy egyszeru forrastvagy celt valaszt ki, akkor az eljarast lokalis modszernek nevezzuk. Ha egyidejuleg tobb feluleti pontot is figyelembeveszunk, akkor globalis modszerrol beszelunk [Sbe96].

7.2. Azarnyalasi egyenlet fontossag szerinti mintavetelezese

Az arnyalasi egyenlet megoldasa soran altalaban iranyfuggo vagy feluleti integralok kiertekelesere van szuksegunk. Ezeniranyfuggo integralok a kovetkezo formaban ırhatok fel:

T Lin(~x; !) =

Z

Lin(~x; !0) fr(!0; ~x; !) cos 0 d!0: (7.1)

Ha veletlen vagy alacsony diszkrepanciaju pontsorozatokat szeretnenk hasznalni, akkor az integralasi tartomanyt at kelltranszformalni az egyseggombre vagy negyzetre. A lekepzeshez eloszor az ! 0 iranyt fejezzuk ki a ; 0 gombi koordinatak

51

Page 54: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

52 7. A globalis illumin acios problema veletlen bolyongassal tort eno megoldasa

segıtsegevel:

Z

Lin(~x; !0) fr(!0; ~x; !) cos 0 d!0 =2Z

=0

Z0=0

fr(; 0) cos 0 sin 0 Lin d0d

mivel d! = sin 0d0d. Jeloljuk az fr(; 0) cos 0 sin 0 tagot w(; 0)-vel, amely a visszaverodes valoszınuseg-su-ruseg fuggvenye. Most megkeressuk azt a T (; 0) = z lekepezest, amely nagy ott, ahol az integrandus nagy es lekepezia gombi koordinatak tartomanyat az egysegnegyzetbe:

2Z=0

Z0=0

w(; 0) Lin(; 0) d0d =

Z[0;1]2

w(T1(z)) Lin(T1(z))

dT1(z)dz

dz =

Z[0;1]2

w(T1(z))

t(z) Lin

(T1(z)) dz;

ahol dT1(z)dz

= 1

t(z)

az inverz lekepezes Jacobi matrix determinansa. Ha a Jacobi determinans nagy, akkor az egyseggomb kis reszet kepezzukle nagy tartomanyra. Ebbol adodoan az egyseggombben egyenletes eloszlasu mintapontok ritkan fognak elhelyezkedniezekben a tartomanyokban. Hasonlokeppen, ahol a Jacobi determinans kicsi, ott a mintapontok surun fognak elhelyez-kedni. A t(z) tehat a mintapontok suruseget jelenti az ! = (; 0) = T1(z) kornyezeteben. Ha a z vektor egyenleteseloszlasu valoszınusegi valtozo, akkor a ! = T 1(z) valoszınusegsuruseg fuggvenye eppen t(z) lesz.

Az arnyalasi egyenlet egy adott (~x; !) pontban torteno megoldasa a kovetkezo tobb-dimenzios integral kiertekelesetkoveteli meg (3.3 egyenlet):

L(~x; !) = Le + T Le + T 2Le + : : : =

Z[0;1]2

: : :

Z[0;1]2

Le +w1

t1 Le +

w1

t1w2

t2 Le + : : : dz1dz2 : : : (7.2)

Ez az integral Monte-Carlo vagy kvazi-Monte Carlo modszerrel becsulheto, melyek az integrandust diszkret mintapon-tokban ertekelik ki es atlagoljak a megoldast. Az ilyen modszerek kritikus pontja a T i lekepezes jo megvalasztasa.Valoszınusegi megkozelıtesben ez annyit jelent, hogy egy ut kivalasztasanak a valoszınusege aranyos ezen ut hozzajarula-saval. A Koksma-Hlawka egyenlotlensegbol kiindulva, a lekepezesnek az integrandust lapossa kell tennie, azaz alacsonyvariaciojuva vagy konstanssa idealis esetben.

Megvizsgalva a 7.2. egyenletet, lathatjuk, hogy jo lekepezest nehez valasztani, mivel tul sok szabad parametert kellegyidejuleg beallıtani. Szerencsere, a megoldast a kovetkezo rekurzıv alakban is felırhatjuk:

L(~x; !) = Le +

Z[0;1]2

w1

t1 [Le +

Z[0;1]2

w2

t2 [Le + : : :] : : :] dz1dz2 : : : (7.3)

Ha biztosıtani tudjuk, hogy a Z[0;1]2

wi

ti [Le +

Z[0;1]2

: : :] dzi

alaku integrandusok konstans erteket vesznek fel (legalabb megkozelıtoleg), akkor a tobb-dimenzios integral integran-dusa szinten konstans lesz [SKCP99]. Ennek koszonhetoen az optimalis fontossag szerinti mintavetelezes megkoveteli,hogy a ti surusegfuggveny aranyos legyen az L e +

R: : : bejovo illuminacio es a wi koszinusszal sulyozott BRDF-nek a

szorzataval. Sajnos, a veletlen bolyongas soran a bejovo indirekt illuminacio nem ismert.A valoszınuseg suruseget tehat kozelıteni kell, mely soran harom alternatıva kozul valaszthatunk. Eloszor is, felterke-

pezhetjuk a fontos megvilagıtasi iranyokat az elofeldolgozasi fazisban, ezutan ezen informacio felhasznalhato a fontossagszerinti mintavetelezes valoszınuseg-surusegfuggvenyenek meghatarozasahoz. Ezt glob alis fontossag szerinti mintavete-lezesnek nevezzuk. Ezek a modszerek aszerint csoportosıthatok, hogy milyen adatstrukturat hasznalunk az elofeldolgozasifazis eredmenyeinek tarolasara. Mivel a sugarter 5-dimenzios, ezert kezenfekvo egy 5D adaptıv fa [LW96] alkalmazasa.Jensen a foton-terkepalkalmazasat javasolta erre a celra [Jen95].

A masik megoldas szerint nem bontjuk ket kulonallo fazisra az algoritmust, hanem az egyetlen fazis korabbi lepesei-ben megszerzett informaciot hasznaljuk, hogy a kesobbi lepesekben a fenyutakat a fontos tartomanyok fele tereljuk. Ezt astrategiat adaptıv fontossag szerinti mintavetelezesnek nevezzuk. Az adaptıv fontossag szerinti mintavetelezes eseten nemkell elore megkonstrualni a nem-egyenletes valoszınuseg-surusegfuggvenyt. Harom technikat kell megemlıteni ezen a te-ren, amelyek hasznalatosak az arnyalasban: genetikus algoritmus[LB94], Metropolis mintavetelezes[MRR+53, VG97]es a VEGAS modszer[Lep80, SK98a]. A Metropolis mintavetelezest a szamıtogepes grafikaban elsokent a ketiranyusugarkovetes [VG97] felgyorsıtasara hasznaltak.

Page 55: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

7.2. Azarnyalasi egyenlet fontossag szerinti mintavetelezese 53

A harmadik alternatıva szerint, egyszerusıtsuk a problemat es a direkt illuminaciot ne vegyuk figyelembe a fontossagszerinti mintavetelezesben. Amikor az iranyokat generaljuk, akkor csak a visszaverodes w i valoszınusegsuruseg fuggve-nyet vagy az aktualis pont Le direkt illuminaciojat hasznaljuk. Ezt lokalis fontossag szerinti mintavetelezesnek nevezzuk.

Nyilvanvalo, hogy a valoszınuseg-surusegfuggveny konstrualasa soran komoly problemakkal talalhatjuk szembenmagunkat, ha egyszerre szeretnenk mind a visszaverodes surusegfuggvenyevel mind pedig a sajat emisszioval aranyosvaloszınusegsuruseg fuggvenyt eloallıtani. Ebbol adodoan, a lokalis fontossag szerinti mintavetelezes strategia altalabanvagy csak a wi-t vagy az Le-t hasznalja a fontos iranyok meghatarozasara. Az elsot BRDF mintavetelezesnek, mıg amasodik megoldast fenyforras mintavetelezesnek nevezzuk.

7.2.1. BRDF mintavetelezes

A BRDF alapu fontossag szerinti mintavetelezes azt jeleni, hogy az i. lepesben a t i suruseg aranyos a visszaverodesvaloszınusegsuruseg fuggvennyel, vagyis

ti / wi = fr(!in; ~x; !out) cos : (7.4)

A gyujtosetaban az !out ismert, a az !in es a felulet normalisa kozotti szog, es az ! in-t kell meghatarozni. A lovosetak-ban viszont az !in ismert, a az !out es a felulet normalisa kozotti szog, es az !out-t kell meghatarozni.

Mivel a ti suruseget jelent (a Monte-Carlo modszerek valoszınuseg-suruseget), ezert az integralja egysegnyi. A gyuj-tosetakra es nem-atlatszo anyagokra, ez az aranyossagi tenyezo a 7.4 kepletbenZ

H

w d!in =

ZH

fr(!in; ~x; !out) cos in d!in = a(~x; !out)

ahol a(~x; !out) a felulet ~x pontjanak albedoja a kimeno iranyban. Hasonloan, az aranyossagi tenyezo a lovosetakraZH

w d!out =

ZH

fr(!in; ~x; !out) cos out d!out = a(~x; !in):

A w = wi=ti sulyfuggvenyek tehat eppen a meglatogatott pontok albedojat jelentik ebben az esetben.

BRDF mintavetelezes diffuz anyagokra

A diffuz anyagok konstans BRDF-fel rendelkeznek, azaz

ti(; ) / wi = fr cos sin :

Az aranyossagi tenyezot kiszamolhatjuk, ha a t i-t normalizaljuk:

ti(; ) =wiR

H

wi d!=

fr cos sin 2R=0

=2R=0

fr cos sin dd

=cos sin

:

Tetelezzuk fel, hogy a ket koordinata-minta eloallıtasahoz hasznalt valoszınusegi valtozok fuggetlenek, ekkor a suru-seg szorzat formajaban ırhato fel:

ti(; ) =1

2 [2 cos sin ] ; (7.5)

ahol 1=(2) a es 2 cos sin = sin 2 pedig a surusegfuggvenye.A megfelelo valoszınuseg-surusegfuggvenyek a kovetkezok:

P () =

Z0

1

2d =

2; P () =

Z0

sin 2 d = sin2 :

Kovetkezeskeppen a keresett es valoszınusegi valtozok a kovetkezo, a [0; 1] intervallumon egyenletes eloszlasu, u; vvaltozok transzformaciojaval kereshetok meg:

= 2 u; = arcsinpv:

A transzformalt suly a fontossag szerinti mintavetelezes utan eppen az albedo:

wi =wi

ti= fr = a: (7.6)

Page 56: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

54 7. A globalis illumin acios problema veletlen bolyongassal tort eno megoldasa

BRDF mintavetelezes spekularis anyagokra

A spekularis anyagok a Phong BRDF modell reciprok alakjaval jellemezhetok, vagyis

fr(!in; ~x; !out) = ks cosn (=2 );

ahol az !out es a felulet normalisahoz viszonyıtott ! in tukorirany — amelyet !r-rel fogunk jelolni — kozotti szog, esaz (=2 ) azt jelenti, hogy a kimeno irany nem mutathat a testbe, vagyis a felulet normalisa es a visszavert irany kozti szognek kisebbnek kell lennie 90 foknal.

felület

R

V

N

ψ

φ

referencia iránya síkon, amely merõleges az

sík merõleges az R

R

-re

-re

7.1.abra. Parametriz´alas az albed´o szamolasahoz

Az iranygomb megfelelo parametrizalasahoz az eszaki polus az ! r visszaverodesi irany szerint valasztando (7.1. ab-ra). Jeloljuk szoggel az !r iranytol valo elterest, es -vel pedig ennek az iranynak az ! r-ra meroleges sıkra vett vetuletees ezen sık szabadon valasztott vektora kozotti szoget.

A BRDF mintavetelezes olyan suruseget kovetel meg, amely megfelel a kovetkezo feltetelnek:

ti(; ) / wi = ks cosn cos ( ; ) (=2 ( ; )) sin :

Sajnos, a cos (=2) faktor nem teszi lehetove e formula szimbolikus integralasat, ezert olyan surusegfuggvenytfogunk alkalmazni, amely csak a ~wi = ks cosn sin kifejezessel aranyos. Az aranyossagi tenyezot a t i normalizala-saval kapjuk meg:

ti(; ) =ks cosn sin

2R=0

=2R =0

ks cosn sin d d

=n+ 1

2cosn sin :

Tetelezzuk fel, hogy a koordinata-mintak eloallıtasara hasznalt valoszınusegi valtozok fuggetlenek, azaz a suruseg-fuggvenyt szorzat alakban ırhatjuk fel:

ti(; ) =1

2 [(n+ 1) cosn sin ]; (7.7)

ahol 1=(2) a es a (n+ 1) cosn sin a valoszınuseg-surusegfuggvenye.A megfelelo valoszınuseg-surusegfuggvenyek a kovetkezok:

P () =

2; P ( ) =

Z0

(n+ 1) cosnsin d = 1 cosn+1 :

Kovetkezeskeppen a keresett es valoszınusegi valtozok a kovetkezo, a [0; 1] intervallumon egyenletes eloszlasu, u; vvaltozok transzformaciojaval kereshetok meg:

= 2 u; = arccos(1 v)1=(n+1):

A transzformalt suly a fontossag szerinti mintavetelezes utan:

wi =wi

ti=

2ksn+ 1

cos ( ; ) (=2 ( ; )): (7.8)

Kulonbozo spekularis BRDF modellek es azok BRDF mintavetelezesei megtalalhatoak a [War92, NNSK98b, NNSK98a,NNSK99] publikaciokban.

Page 57: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

7.3. Vegtelen-dimenzioju integralok kezelese 55

7.2.2. A fenyforr as mintavetelezese

A fenyforras mintavetelezeset a direkt fenyforras szamolasnal [SWZ96] hasznaljuk, mint kiegeszıto mintavetelezo stra-tegiat a veletlen bolyongas BRDF mintavetelezesehez.

Mivel ebben az esetben a mintakat az iranygomb helyett a fenyforrasbol valasztjuk, a fenyatadas operatort mint afeluleteken futo integralt ırjuk fel:

(T Le)(~x; !) =

Z

Le(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0 =

ZSe

Le(~y; !~y!~x) fr(!~y!~x; ~x; !) cos 0~x cos ~yj~x ~yj2

v(~y; ~x) d~y;

(7.9)ahol v(~y; ~x) = 1, ha a ~x es ~y pontok nincsenek eltakarva egymas elol, minden egyeb esetben v(~y; ~x) = 0, es S e a feny-

forras terulete. A Monte-Carlo becsles kiszamıtasahozN darab ~y 1; : : : ~yN pontot valasztunk egyenletesen a fenyforrason,es a kovetkezo kepletet hasznaljuk:

(T Le)(~x; !) jSejN

NXi=1

Le(~yi; !~yi!~x) v(~yi; ~x) fr(!~yi!~x; ~x; !) cos 0i cos ~yij~x ~yij2

:

Ha a terben csak egyetlen homogen fenyforras helyezkedik el, amely aranylag kicsi es messze van a vizsgalt ponttol,akkor az integrandus megkozelıtoleg konstans a fenyforras feluleten, ezert a szoras kicsi.

7.2.3. A fenyforr as mintavetelezese a gyujt osetaban

Mivel a fenyforras mintavetelezese a mintakat csak a direkt fenyforrason allıtja elo, ezert teljesen elhanyagolja az in-direkt illuminaciot. Kovetkezeskeppen a fenyforras mintavetelezes onmagaban nem hasznalhato a globalis illuminaciosalgoritmusokban, csak mint kiegeszıto eljaras, peldaul a BRDF mintavetelezeshez.

A legegyszerubb lehetoseg a ket strategia kombinalasara, amikor is a gyujtoseta utolso lepeseig a BRDF mintavetele-zesevel generaljuk az utat, majd az utolso lepesben a fenyforrast mintavetelezzuk. Figyeljuk meg, hogy ha megallıtjuk asetat, akkor az indirekt illuminacio feltetelezhetoen nulla lesz, ezert nyugodtan tekinthetjuk csak a fenyforrasok iranyat.

Egy masik megkozelıtes szerint, minden meglatogatott pontbol arnyek-sugarakat kuldunk a fenyforrasok fele, nem-csak az utolso lepes soran.

Formalisan ezt a megkozelıtest a Neumann sor atrendezesevel targyalhatjuk:

L = Le + T Le + T 2Le + T 3Le : : : = Le + (T Le) + T (T Le) + T 2(T Le) : : : (7.10)

Gyakorlati szempontbol ez azt jelenti, hogy miutan elertuk a feluletet, egy vagy tobb arnyek-sugarakat indıtunk utnak afenyforrasok fele, es kiertekeljuk ebben a pontban a fenyforrasok fenyenek a visszaverodeset. Ez a modszer akkor na-gyon hatekony, ha a ter pontszeru fenyforrasokbol all. Pontszeru fenyforrasok hasznalata eseten az illuminacio pontosanmeghatarozhato.

7.2.4. Fontossag szerinti mintavetelezes szınes terekben

Az eddigiekben felteteleztuk, hogy a BRDF-eket es az emissziot tartalmazo sulyok valos valtozok, ezert a suruseg aranyoslehet veluk. Ez csak akkor igaz, ha az arnyalasi egyenlet egyetlen hullamhosszon oldjuk meg.

Jollehet, ha szınes kepekre van szuksegunk, akkor az arnyalasi egyenletet nehany (legalabb 3) kulonbozo hullam-hosszon kell megoldanunk. Ha a kulonbozo hullamhosszokat teljesen fuggetlenul kezeljuk, akkor a javasolt fontossagszerint mintavetelezes valtozatlanul hasznalhato. Mivel ekkor a geometriai szamıtasokat feleslegesen megismetelnenk akulonbozo hullamhosszokra, ez a modszer nem javasolhato.

Jobban jarunk, ha olyan sugarakat hasznalunk, amelyek egyszerre minden hullamhosszon szallıtjak a fenyt. Ebben azesetben az emisszio es a BRDF vektor formajaban ırhato fel, ezert a fontossag szerinti mintavetelezes hasznalatahoz egyI fontossag fuggvenyre van szuksegunk, ami nagy ha a vektor elemei nagyok es kicsi, ha az elemek kicsik. A fontossagfuggveny a spektrum fuggvenye, peldaul a szallıtott feny luminanciaja.

7.3. Vegtelen-dimenzioju integralok kezelese

Az expanzio, a gyujto-, illetve lovoseta integralok sorozatanak kiertekeleset koveteli meg, ahol az integralasi tartomanydimenzioja a vegtelenbe tart. A Neumann-sor csonkıtasaval ez a problema megoldhato, de ez az eredmenyt eltorzıt-ja. Szerencsere, a szamıtas tovabbi randomizalasaval ez a problema kikuszobolheto. A Monte-Carlo integracioval valoosszefuggesben ezt a megkozelıtest orosz rulettnek [AK90] hıvjak.

Page 58: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

56 7. A globalis illumin acios problema veletlen bolyongassal tort eno megoldasa

7.3.1. Az orosz rulett

A Neumann-sor a kovetkezo integralok sorozatabol all:

L =

Z[0;1]2

w

t [Le + : : :] dz =

Z[0;1]2

w(z) Lin(z) dz = Ew Lin

:

A Monte-Carlo modszer az ertelmezesi tartomanyban veletlen pontokat allıt elo, es az integrandus ertekek atlagaval becsliaz integralt. Probaljuk meg tovabb randomizalni ezt a megkozelıtest, es minden mintapont elott s valoszınuseggel dontsukel, hogy valoban ki fogjuk-e az adott pontban ertekelni az integralt vagy egyszeruen az integrandust nullanak tekintjukmindenfele szamolas nelkul. Azon celbol, hogy kompenzaljuk a nem szamolt teteleket, a valoban szamolt integranduso-kat elosztjuk az s valoszınuseggel. A randomizalas uj L ref valoszınusegi valtozot vezet be, amely egyenlo w Lin=s-sel,ha az integrandust kiertekeljuk es egyebkent nulla. A Monte-Carlo modszer tovabbra is megfelelo erteket szolgaltat:

E[Lref ] = s ELref j a mintat hasznaljuk

+ (1 s) E

Lref j a mintat nem hasznaljuk

=

s Ew Lin

s

+ (1 s) 0 = E

w Lin

= L: (7.11)

Az uj becslo szorasnegyzete viszont nagyobb lett:

D2[Lref ] = E[(Lref)2] E2[Lref ] = s E

"Lref

s

2#+ (1 s) 0E2[Lref ] =

1

s 1

E[(w Lin)2] +D2[w Lin]: (7.12)

BRDF mintavetelezes a tobbszorosen fenyvisszavero anyagokra

A gyakorlatban hasznalt visszavero modellek kulonbozo egyszeru BRDF-eket hasznalnak. Az eddigiekben olyan mod-szereket mutattunk be, amelyek jol hasznalhatok a csak diffuz vagy csak spekularis visszaverodesekre.

Szerencsere az orosz-rulett kiterjesztheto a kombinalt eset kezelesere is. Ha a visszaverodesi modell kulonbozoBRDF-ek osszege, akkor a kulonbozo osszetevokbol veletlenszeruen valaszthatunk. Tetelezzuk fel, hogy az visszave-rodes valoszınuseg-surusege a BRDF-eknek megfeleloen osszegekent ırhato fel:

w = w1 + w2 + : : :+ wn:

Ebbol adodoan a sugarsuruseg egyszeres visszaverodese:

L =

Z

w Lin d! =

Z

w1 Lin d! + : : :+

Z

wn Lin d!:

Tetelezzuk fel, hogy minden integralhoz talalhato egy t i lekepezes, amely, legalabb kozelıtoen aranyos az adott integran-dussal:

L =

Z[0;1]2

w1

t1 Lin dz + : : :+

Z[0;1]2

wn

tn Lin dz = E

w1 L

in+ : : :+E

wn L

in:

Valasszuk ki az i. BRDF-et pi valoszınuseggel, es sulyozzuk az eredo radianciat 1=p i-vel vagy fejezzuk be a setatp0 = 1 p1 : : : pn valoszınuseggel. Az i. modell hasznalatakor az uj L valoszınusegi valtozo erteke wi Lin=pi es0, ha nem valasztunk ki BRDF modellt. A L varhato ertek tovabbra is a megfelelokeppen alakul:

E[L] = p1 Ew1 Lin

p1

+ : : :+ pn E

wn Lin

pn

+(1 p1 : : : pn) 0 = E

(w1 + : : :+ wn)L

in= L: (7.13)

Ez lenyegeben egy osszeg kiertekelese Monte-Carlo modszerrel. A fontossag szerinti mintavetelezes szerint a szoraskicsi lesz, ha awi L

in=pi kifejezes legalabb megkozelıtoleg allando. Mivel rendszerint nincs elozetes informacionk azL in

radianciarol, ezert a wi =pi tesszuk konstanssa. A kis szorasu becsles letrehozasahoz tehat az alap BRDF-eket azok w

i

transzformalt sulyainak valoszınusegevel kell kivalasztani. Mivel a fontossag szerinti mintavetel utan a w

i suly egyenlovagy megkozelıtoleg egyenlo az albedoval, ezert a kis szorasu becsles az alap BRDF-eket a hozzajuk tartozo albedo va-loszınusegevel valasztja ki. Ha a “bejovo” iranybol es a feluleti normalisbol akarunk “kimeno” iranyt generalni, akkor akovetkezo altalanos BRDF mintavetelezo algoritmust hasznalhatjuk:

Page 59: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

7.3. Vegtelen-dimenzioju integralok kezelese 57

BRDFSampling(in, normal, out)prob = SelectBRDFModel(normal, in)if prob = 0 then return 0prob *= Reflection(in, normal, out)if prob = 0 then return 0return prob

end

Ebben a programban a “SelectBRDFModel” szerepe az alap BRDF-k albedo valoszınusegevel torteno kivalasztasa,es ezen valoszınuseg visszaadasa. Ha ez a valoszınuseg 0, akkor a setat az orosz-rulett elvei szerint befejezzuk. A “Ref-lection” fuggveny uj “out” iranyokat general a valasztott visszaverodesi modell visszaveresi valoszınusegi surusegevelmegkozelıtoleg aranyosan, es visszaadja a minta eloallıtasanak valoszınuseget.

Page 60: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

58 7. A globalis illumin acios problema veletlen bolyongassal tort eno megoldasa

Page 61: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8. fejezet

Velelen bolyongason alapulo algoritmusok

Ebben a fejezetben kepszintezis algoritmusokat mutatunk be, amelyeknek tobbsege velelen bolyongassal keresi meg alehetseges fenyutakat. A teljesseg kedveert, determinisztikus es nem globalis illuminacios jellegu modszereket is targya-lunk. A veletlen bolyongason alapulo algoritmusokat aszerint osztalyozhatjuk, hogy azok az arnyalasi egyenletet megoldogyujtosetakat tesznek, vagy pedig a potencial egyenletet megoldo lovosetakat kovetnek.

8.1. Veletlen bolyongason alapulo gyujt osetak

A veletlen bolyongason alapulo gyujtosetakaz arnyalasi egyenlet Monte-Carlo modszerrel torteno megoldasanak felelnekmeg. A kamerabol indulnak, es osszegyujtik a meglatogatott pontok emissziojat.

szem

ablak

8.1.abra. Veletlen bolyong´ason alapul´o gyujtosetak

A gyujtosetak altalanos formaja a kovetkezo:

for each pixel p docolor = 0

for i = 1 to N doray = sample ray randomly from the eye through pixel psamplecolor = c Trace( ray )color += samplecolor=N

endforPixel(p, color)

endfor

A kulonbozo algoritmusok a “Trace” fuggvenyt kulonbozokeppen implementaljak. Ez a fuggveny a sugar altal aszembe bevitt radianciat hatarozza meg. A radianciat ezutan a c = (c=S p) Sp ertekkel szorozzuk meg, ahol a c=Spskalazas a merofuggveny (2.51 egyenlet) miatt szukseges, S p pedig az integralasi tartomany nagysaga.

59

Page 62: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

60 8. Velelen bolyongason alapulo algoritmusok

8.1.1. Egyszeru sugarkovetes

A sugarkovetes(ray-casting) a lokalis illuminacios algoritmusok csoportjaba tartozik, amely az emisszios fuggvennyelkozelıti az arnyalasi egyenlet integraljaban szereplo ismeretlen radianciat. A trace fuggvenyben a kovetkezo egyszerusı-test hasznalhatjuk a pont radianciajanak meghatarozasara:

L(~x; !) = Le(~x; !) +

Z

Llightsource(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0; (8.1)

ahol Llightsource elore ismert, es egyuttal az Le emisszios fuggveny egyszerusıtesenek tekintheto.

szem

ablak

normál sugárárnyék sugár, amely fényforrást találárnyék sugár, amelynem talál fényforrást

8.2.abra. Egyszer˝u sugarkovetes

A sugarkovetes “Trace” fuggvenye:

Trace(ray)(object, ~x) = FirstIntersect(ray)if no intersection then return Lskycolor = Le(~x, -ray.direction ) + DirectLightsource(~x, -ray.direction )return color

end

Ebben az algoritmusban az Lsky a hatter megvilagıtas intenzitasa (pl. egbolt), a “FirstIntersect” fuggveny a sugaraltal elsokent metszett testet es a metszesi pontot adja vissza. A “DirectLightsource” fuggveny a fenyforrasok fenyenekegyszeri visszaverodeset becsuli meg, es kiszamıtja ennek hatasat az ~x pontban adott iranyban. Peldaul, ha a ter l darabpontforrast tartalmaz az ~y1; : : : ~yl helyeken es 1; : : : ;l teljesıtmenyekkel, valamint a Lsky a hatter feny intenzitasa,akkor ezek visszaverodese az ~x pontban:

Lref(~x; !) = Lsky a(~x; !) +lXi=1

l4j~yi ~xj2

v(~yi; ~x) fr(!~yi!~x; ~x; !) cos 0

i; (8.2)

ahol 0i az !~yi!~x es a felulet normalisa kozti szog, es az arnyek sugarakkal szamıtott v(~yi; ~x) a ket pont kolcsonoslathatosagat jelzi. A feluleti fenyforrasokLe(~y; !) emissziojanak kezelese celjabol Monte-Carlo integralt hasznalhatunk,amely N egyenletesen elosztott ~yi mintat valaszt az A felszınu fenyforras feluleten, es a kovetkezo becslest alkalmazza:

Lref(~x; !) A

NNXi=1

Le(~yi; !~yi!~x) v(~yi; ~x) fr(!~yi!~x; ~x; !) cos 0i cos ~yij~x ~yij2

: (8.3)

Page 63: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8.1. Veletlen bolyongason alapulo gyujt osetak 61

8.1.2. Rekurzıv sugarkovetes

A rekurzıv sugarkovetes (visibility ray-tracing) a tobbszoros hosszusagu fenyutakat csak az idealis visszaverodesre estoresre kepes kovetni.

szem

ablak

normál sugárárnyék sugár, amely fényforrást talátárnyék sugár, amelynem talál fényforrást

8.3.abra. Rekurz´ıv sugarkovetes

Formalisan, az arnyalasi egyenletet a kovetkezo formaban egyszerusıti:

L(~x; !) = Le(~x; !) +

Z

Llightsource(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0+

kr(!r; ~x; !) L(h(~x;!r); !r) + kt(!t; ~x; !) L(h(~x;!t); !t); (8.4)

ahol !r es !t az idealis visszavero- es toroirany, es kr es kt a visszaverodesi illetve a toresi egyutthato.A rekurzıv sugarkovetes “Trace” fuggvenye:

Trace(ray)(object, ~x) = FirstIntersect(ray)if no intersection then return Lskycolor = Le(~x, -ray.direction ) + DirectLightsource(~x, -ray.direction )if kr > 0 then color += kr Trace(reflected ray)if kt > 0 then color += kt Trace(refracted ray)return color

end

Ez a fuggveny rekurzıvan hıvja meg sajat magat a sugar visszaverodesi es toresi iranyabol erkezo radiancia meghata-rozasara. A vegtelen rekurzio elkerulese celjabol a rekurzio maximalis melyseget korlatozzuk.

Page 64: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

62 8. Velelen bolyongason alapulo algoritmusok

8.1.3. Elosztott sugarkovetes

A Cook [CPC84] altal javasolt elosztott sugarkovetes(distributed ray-tracing) egy globalis illuminacios algoritmus, amelyminden lehetseges fenyut tıpust modellezni tud.

8.4.abra. Elosztott sug´arkovetes

Ebben a modszerben a sugar utja nem fejezodik be, ha az olyan feluletet er el, amely se nem idealisan visszavero, senem toro, hanem ekkor is veletlen gyermek sugarakat generalunk. Ez a megkozelıtes az integralok Neumann-sorbeli (3.8.egyenlet) rekurzıv formajan alapul, amit hasıtassal oldunk meg.

Az elosztott sugarkovetes “Trace” fuggvenye:

Trace(ray)(object, ~x) = FirstIntersect(ray)if no intersection then return Lskycolor = Le(~x, -ray.direction ) + DirectLightsource(~x, -ray.direction )for sample = 1 to N do

prob = BRDFSampling(-ray.direction, normal, newray)if prob > 0 then color += Trace( newray ) w(newray.direction, normal, -ray.direction) / prob /N

endforreturn color

end

Ebben a programban a “BRDFSampling” fuggveny — mint ahogy az 7.3.1. reszben definialtuk — megkeresi azt az ujsugarat, melyet azutan rekurzıvan nyomon kovetunk. Ha a “BRDFSampling” zerust ad vissza, akkor a szınt 0-ra allıtjukminden tovabbi rekurzıv hıvas nelkul.

Page 65: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8.1. Veletlen bolyongason alapulo gyujt osetak 63

8.1.4. Inverz fenyutkovetes

A Kajiya [Kaj86] altal javasolt inverz fenyutkovetes(path tracing) egy Monte-Carlo megkozelıtes, amely a Neumann-sor(3.5 egyenlet) elemeit tobb-dimenzios integralformulakent ertelmezi.

normál sugárárnyék sugár, amely fényforrást találárnyék sugár, amelynem talál fényforrást

szem

ablak

szem

ablak

8.5.abra. Inverz fenykovetes: direkt fenyforras szamolassal (bal oldal)es anelkul (jobb oldal)

A szempozıciobol indulunk, akar a sugarkovetesnel, de most minden egyes metszespontnal veletlenszeruen valaszt-juk ki a tovabbhaladasi iranyt, megpedig olyan t i valoszınuseg-surusegfuggveny szerint, ami aranyos a BRDF es a kileposzog koszinuszanak a szorzataval. Minden lepes utan az orosz rulett szabalyai szerint, az albedonak megfelelo a i = wi=tivaloszınuseggel folytatjuk a bolyongast. Egy fenyut hatasa a kameraban:

P = c (Le1 + Le2 w1

t1 a1+ Le3

w2

t2 a2w1

t1 a1+ : : :)

ahol Lei a meglatogatott pont emisszioja az ut i. lepeseben w i a visszaverodesi surusegfuggvenye ebben a pontban, es ca meromuszer skalazo faktora. Ha idealis BRDF mintavetelezest hasznalunk, akkor w i a ti-vel aranyos es mind a wi=ti,mind pedig az ai az albedoval egyenlo, ami a kovetkezo becslest adja:

P = c (Le1 + Le2 + Le3 + : : :):

Ennek a becslesnek nagyon nagy a szorasa, ha a fenyforrasok kicsik. Ez a problema megoldhato, ha a gyujtosetat afenyforras mintavetelezesevel kombinaljuk, ami azt jelenti, hogy minden meglatogatott pontban a fenyforras hatasat ve-letlenszeruen megbecsuljuk.

A inverz fenykovetes “Trace” fuggvenyenek:

Trace(ray)(object, ~x) = FirstIntersect(ray)if no intersection then return Lskycolor = Le(~x, -ray.direction )+ DirectLightsource(~x, -ray.direction )prob = BRDFSampling(-ray.direction, normal, newray)if prob = 0 then return colorcolor += Trace( newray ) w(newray.direction, normal, -ray.direction) / probreturn color

end

Ebben a programban a “BRDFSampling” vagy uj iranyt talal vagy nullaval ter vissza, ha az orosz rulett miatt a bo-lyongast be kell fejezni. Vegyuk eszre, hogy ez az algoritmus az utolso irany eloallıtasan kıvul BRDF mintavetelezesthasznal, mıg az utolso irany a fenyforras mintavetelezesebol adodik. Ha a felulet a feny visszaverodesenel fenyes (kozelvan az idealis tukorhoz vagy idealis toro anyaghoz), akkor a BRDF mintavetelezes kritikus lehet. Mivel a fenyforrashozkozeli idealis feluletek okozzak a kausztikusoptikai jelensegeket, ezert az inverz fenykovetes — mint mas gyujtosetak —rosszak a kausztikus effektusok megjelenıteseben.

Page 66: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

64 8. Velelen bolyongason alapulo algoritmusok

8.2. Veletlen bolyongason alapulo lovosetak

A lovosetaka potencial egyenletet Monte-Carlo modszerrel oldjak meg. A fenyforrasbol indulnak, es a teren vegighaladvaa szemet probaljak megtalalni.

szem

ablak

8.6.abra. Veletlen bolyong´ason alapul´o lovoseta

A lovosetak altalanos formaja a kovetkezo:

Clear Imagefor i = 1 to N do

ray = Sample randomly from a lightsource with selection probability pe

power = Le cos =pe=NShoot( ray, power )

endfor

A kulonbozo lovoseta algoritmusok a “Shoot” fuggvenyt kulonbozokeppen implementaljak. Ez a fuggveny a teljes utaltal a szembe bevitt energiat hatarozza meg, valamint azt a pixelt, amelyen keresztul az ut a szembe erkezik.

Page 67: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8.2. Veletlen bolyongason alapulo lovosetak 65

8.2.1. Foton kovetes

A foton kovetes(photon tracing) a rekurzıv sugarkovetes inverze, amely hasonlo egyszerusıteseket hasznal.

szem

ablak

foton útjaszemhozzájárulás útjatakarás miatt nincs hozzájárulás

8.7.abra. Photon tracing

A bolyongas itt is befejezodik, ha olyan felulethez erunk, amely se nem koherensen visszavero, se nem koherensentoro. A sugarkovetesben a sugarak a fenyforrasbol indulnak, es a sugarral egy feluleti pontot elerve megvizsgaljuk, hogya felulet idealisan visszavero illetve toro-e. Az idealis visszavero vagy toro iranyban a bolyongas folytatodik uj gyermeksugarak indıtasaval.

A modszer “Shoot” fuggvenye:

Shoot(ray, power)(object, ~x) = FirstIntersect(ray)if no intersection then returnif ~x is visible from pixel p then

color[p] += power w(ray.direction, ~x, eye direction ) g(~x)

endifif kr > 0 then Shoot( reflected ray, kr power )if kt > 0 then Shoot( refracted ray, kt power )return

end

Az “eye direction” az ~x pontbol a szem iranyaba mutato vektor.

Page 68: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

66 8. Velelen bolyongason alapulo algoritmusok

8.2.2. Fenykovetes

A fenykovetesben (light-tracing) [DLW93] a fotonok veletlenszeruen bolyonganak a terben a fenyforrasok pontjaibolkiindulva. A fenysugar az indıtasa utan ide-oda verodik a terben. Minden visszaverodesi pontot osszekotunk a szem-pozıcioval, es ellenorizzuk, hogy lehet-e ennek hatasa valamely pixelre. Ha lehet, akkor a pixel szınehez hozzaadjuk avisszaverodes hatasat.

szem

ablak

foton útszemhozzájárulás úttakarás miatt nincs hozzájárulás

8.8.abra. Fenykovetes

A fenykovetes a Monte-Carlo integralas direkt implementacioja a potencial egyenlet tobb-dimenzios alakjanak meg-oldasaban. A kovetkezo irany meghatarozasa soran a BRDF alapu fontossag szerinti mintavetelezes hasznalhato az oroszrulettel kombinalva. A veletlen iranyt a w i-vel megkozelıtoleg aranyos t i suruseg szerint valasztjuk ki (fontossag szerintimintavetelezes). A bolyongas az albedot kozelıto a i valoszınuseggel folytatodik (orosz rulett). Az ut egy lepesenek merterteke:

P =Le cos

N pew1

t1 a1w2

t2 a2 : : : w(eye) g;

ha ez a lathato a pixelben, egyebkent 0. Itt az L e a kezdopont emisszioja, az elso irany es a fenyforras feluleti nor-malja kozti szog, pe ennek a fenyforras pontnak es a kezdeti iranynak a kivalasztasi valoszınusege, w(eye) az adott pontBRDF-je az utolso iranybol a szembe, es g a feluleti kamera parameter. Ha egyidejuleg idealis BRDF mintavetelezesthasznalunk — azaz wi aranyos a ti-vel es mind az wi=ti es mind az ai az albedoval egyenlo —, valamint idealis feny-forras-mintavetelezest — azaz pe aranyos az Le cos -val, ezert Le cos =N pe = =N —, akkor a kovetkezo becslestkapjuk:

P =

N w(eye) g:

Ennek a becslesnek nagy a szorasa, ha a kamera rejtett, mivel ha a pont nem lathato a kamerabol, a fenyut hozzajarulasanulla.

A fenykovetes “Shoot” fuggvenye:

Shoot(ray, power)(object, ~x) = FirstIntersect(ray)if no intersection then returnif ~x is visible from pixel p then

color[p] += power w(ray.direction, ~x, eye direction ) g(~x)endifprob = BRDFSampling(-ray.direction, normal, newray )if prob = 0 then returnnewpower = power * w( -ray.direction, normal, newray.direction ) / probShoot( newray, newpower )return

end

Ez az algoritmus szinten BRDF mintavetelezest hasznal az utolso lepes kivetelevel. Az utolso lathato sugar iranyaviszont messze eshet a BRDF altal elonyben reszesıtett iranytol. Ez csokkenti a fontossag szerinti mintavetelezes hate-konysagat, ha a lathato felulet nagyon fenyes. Azaz a lathato tukrok vagy toro feluletek (uveg) nehezsegeket jelentenek.

Page 69: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8.3. Ketiranyu fenyutkovetes 67

8.3. Ketir anyu fenyutk ovetes

A ketiranyu fenyutkovetes(bi-directional path-tracing) [LW93, VG95] az inverz fenyutkovetes es a fenykovetes kombi-nacioja, amely hatekonyan tudja kezelni a kis fenyforrasokat es a kis latoszogu kamerakat is.

Ez a modszer egyszerre indıt egy gyujtosetat es egy lovosetat, majd a ket seta vegpontjait osszekoti. Nehany lepesutan vagy egy egyszeru determinisztikus arnyeksugarat alkalmazhatunk a ket fajta seta osszekapcsolasara [VG95], vagya gyujtoseta minden pontjat osszekotjuk a lovoseta minden pontjaval [LW93]. Ha a determinisztikus arnyek sugar azteszleli, hogy a ket pont nem latja egymast, akkor ennek az setanak a hozzajarulasa nulla.

Tudvalevoleg, a gyujto- es lovosetak eltero integralvaltozokat hasznalnak. A gyujtoseta a pixel teruleten levo ponttales a bejovo iranyok sorozataval adott, mıg a lovoseta a fenyforrason levo ponttal es a kimeno iranyokkal definialt. Ebboladodoan, amikor a ket setat osszekotjuk, megfelelo valtozo transzformaciokat kell alkalmazni.

rr

d

d

d

dA

dy

ω

ω

ω

θ

θ θ

12

out in

1

2

2’

θ1

8.9.abra. Osszef¨ugges a bej¨ovo es kimen˝o iranyok terszogei kozott

Eloszor vizsgaljuk meg az egyszeri visszaverodesu bolyongast (8.9. kep). A terszog definıcioja szerint a kovetkezotkapjuk:

d!01d!2

=dA cos out=r21dA cos in=r22

=r22r21cos outcos in

: (8.5)

A fenyforras feluleti integraljanak behelyettesıtese szerint viszont

d!02 =d~y cos

r22: (8.6)

Ezekbol mar adodik a transzformacios szabaly

cos 01 cos in d!0

1d!0

2 =cos 01 cos out

r21 cos d!2d~y;

ami azt jelenti, hogy amikor a lovosetat a gyujtosetara konvertaljuk, akkor a radianciat meg kell szorozni a kovetkezoertekkel:

cos 01 cos outr21

:

ablak

x

x

y

y

y

gyüjtõ út

determinisztikus lépés

lövõ út

θθ θ θ θ θ

1

1

2

21

43

1

2

’’

θ3

3 2

8.10.abra. Ketiranyu fenyutkovetes egy determinisztikus l´epessel

Page 70: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

68 8. Velelen bolyongason alapulo algoritmusok

Amikor a lovoseta tobb mint 1 lepesbol all, akkor a 8.5. kepletet minden lepesre alkalmazni kell, de a 8.6. formulatcsak az utolso lepesre. Ez a konverzio kicsereli a bejovo iranyokat a kimeno iranyokkal, es az egymast koveto lepesekr2k+1=r

2k skalazasi tenyezoi kiegyenlıtik egymast. Vegeredmenykent lassuk a teljes kepletet, ami hasonlo az 1-lepeses

esethez:

cos 0k cos 0

k+1 : : : cos 0

n d!0

k : : : d!0

n =cos 0k cos nk+1

r2k cos nk : : : cos 1 d!nk : : : d!1d~y:

A 8.10. abra k = 2 es n = 4 ertekekre mutat egy peldat. Osszefoglalva a korabbi fejezetek szabalyait alkalmazhatjuka lovo- es gyujtosetak eloallıtasara — a gyujtoseta a bejovo szog koszinuszat hasznalja, mıg a lovosota a kimeno szogkoszinuszat — es a kombinalt bolyongast a kovetkezo keplettel alakıthatjuk at egyszeru gyujtosetara:

cos 0k cos nk+1

r2k:

Formalisan, ha a lovoseta es a gyujtoseta vegpontjai lathatok egymasbol, akkor az egyszeru ut mert erteke

P =Le cos

N pews1

ts1 as1ws2

ts2 as2 : : : fsr

cos s cos 0g

r2 fgr : : :

wg2

tg2 a

g2

wg1

tg1 a

g1

c

ahol az s es g felso indexek a lovo- es gyujtoseta lepeseire vonatkoznak. Ha idealis BRDF mintavetelezest hasznalunk,akkor a becsles:

P =

N fsr

cos s cos 0g

r2fgr c:

fényforrás

ablak

y0 y1

y2

x0

x1

x2

gyüjtõ út

lövõ út

árnyék sugarak

8.11.abra. Ketiranyu fenyutkovetes tobbszoros determinisztikus l´epesekkel

A ketiranyu fenyutkovetes Lafortune fele valtozataban [LW93] nemcsak a lovo- es gyujtosetak vegpontjait kell osz-szekotni, hanem az osszes meglatogatott pontot.

A ketiranyu fenyutkovetesben egy n hosszusagu teljes utat tobbfelekeppen is eloallıthatunk. Peldaul az i hosszusagugyujtosetat minden i = 0; : : : ; n-re kombinalhatjuk az n i hosszusagu lovosetaval. Ez viszont annak veszelyet hordozzamagaban, hogy egy utat tobbszor is beleszamıtunk a kepbe. Ennek a kikuszobolesere az eredmenyt a kulonbozo utaksulyozott osszegeivel becsuljuk, a tobbszoros fontossag szerinti mintavetelezes szellemeben. Mas heurisztikus sulyokszinten jo eredmenyt adhatnak [LW93, Vea97].

Page 71: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

8.3. Ketiranyu fenyutkovetes 69

8.3.1. Metropolis fenyterjedes

A veletlen bolyongasos metodusok altalaban a fenysugar utjait egymastol fuggetlenul allıtjak elo. Ha egy bonyolult utatmegtalalunk, akkor azt a felhasznalasa utan rogton eldobjuk, ami nem latszik hatekony megoldasnak. Erre gyogyırkenta Metropolis eljaras szolgalhat, amely az elozo ut perturbaciojaval allıtja elo az ujabb mintakat, ezert a bonyolultabbfenyviszonyok eseten is jo hatasfokkal alkalmazhato.

Mint tudjuk, a Metropolis modszer [MRR+53] olyan mintakat general, melyek valoszınusegsuruseg fuggvenye aszimp-totikus ertelemben aranyos az adott “ fontossagi fuggvennyel” . Tetelezzuk fel, hogy ez a I fontossagi fuggveny a fenyluminanciaja, melyet a fenyut a pixelen keresztul a szembe juttat. Ez a valasztas azzal indokolhato, hogy a szem kulonosenerzekeny a luminancia valtozasara, es a kulonbozo pixelek egyenlo fontossaggal bırnak a kepben.

szem

ablak

perturbáció szem

ablak

perturbáció

8.12.abra. Utak gener´alasa mutacioval a Metropolis fenyterjedesben

Ahhoz, hogy a mintakat a I(z)=b szerint generaljuk, egy olyan Markov lancot epıtunk fel, melynek a stacionariuseloszlasa eppen ez (itt z a fenyutat jeloli). A b skalar a fontossagi fuggveny integraljat jelenti az egesz ertelmezesi tar-tomanyon, melyet az elofeldolgozo fazisban becsulhetunk. A Metropolis algoritmus egy fenyut magbol indul es ebbolperturbacioval allıtja elo a fenyutak sorozatat. Veach es Guibas ketiranyu fenyutkovetest [VG97] javasolt a kiindulo magmegtalalasahoz, habar barmelyik veletlen bolyongasos algoritmus felhasznalhato erre a celra. Egy uj z i+1. utnak a ziutbol torteno eloallıtasa ket lepesbol all. Eloszor a T (z i ! zt) kıserleti atvivo fuggvenyzt kıserleti utathoz letre a zi. utegy kisebb mutacioval. A mutacio az iranyok megvaltoztatasat illetve ujabb lepesek hozzaadasat vagy torleset jelentheti.Ezutan a a kıserleti utat veletlenszeruen vagy elfogadjuk vagy elutasıtjuk a

a(zi ! zt) = min

I(zt) T (zt ! zi)

I(zi) T (zi ! zt); 1

elfogado valoszınuseggel, amely a fontossag novekedeset fejezi ki. A mutacio definıcioja majdnem tetszoleges, az egyet-len kovetelmeny, hogy a Markov folyamatot ergodikussa tegye. Az ergodikus folyamatnak van hatareloszlasa es ez azeloszlas fuggetlen a folyamat kezdeti allapotatol. A gyakorlatban ez azt jelenti, hogy barmely pozitıv energiaju ut barmelymas utbol letrehozhato bizonyos szamu perturbacio utan. Ezert a mutaciok szuksegkeppen megvaltoztathatjak a fenyutosszes tulajdonsagat, beleertve az iranyokat (vagy a meglatogatott pontokat), kezdeti pontot, hosszat, stb. Ezen felul, hogyne ragadjunk egy olyan tartomanyban, amely nulla fontossagu teruletekkel van korulveve, a kıserleti atvivo fuggvenynekeleg nagy lepeseket kell tennie ahhoz, hogy atugorja ezeket a nulla fontossagu teruleteket. Veach [VG97] peldaul egyteljesen uj ut generalasat javasolta, amikor a kıserleti ut hozzajarulasa nulla.

Osszefoglalva, a Metropolis fenyterjedesalgoritmusa a kovetkezo:

Generate an initial ray-path z1 using random walk, e.g. bi-directional path tracingfor i = 1 to N do

Based on the actual ray-path, find another, tentative path zt mutating zi with T (zi ! zt)

if I(zt) = 0 then Generate a completely new path zi+1 from scratch using random walkelse

a(zi ! zt) = (I(zt) T (zt ! zi))=(I(zi) T (zi ! zt))

Generate uniformly distributed random number r in [0; 1] // accept with “probability” a(zi ! zt)

if r < a(zi ! zt) then zi+1 = zt else zi+1 = zi

endifCompute the contribution of the ray-path zi+1 to the affected pixelMultiply this contribution by b=(I(zi+1) N) and accumulate to the pixel

endfor

Page 72: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

70 8. Velelen bolyongason alapulo algoritmusok

8.3.2. Foton terkep

A ketiranyu fenyutkovetes egy gyujtosetat egyetlen lovosetaval kot ossze. Milyen jo lenne, ha eloszor a lovosetakat sza-mıthatnank ki, es a gyujtosetakat pedig nem csupan egyetlen egy, hanem egyszerre az osszes lovosetaval megprobalnankosszekotni. Kıvansagunkat a foton terkepek [JC95, Jen96, JC98] valtjak valora. A foton terkep (photon-map) olyanadatstruktura, amely a sok lovoseta hatasat tomoren tarolja.

A = r∆ π 2

sphere containing n photon hits

surface

intersection of the surface and the sphere

8.13.abra. Foton terkep

A foton terkep a foton talalatok gyujtemenye. Egy talalatot a foton altal a kulonbozo hullamhosszokon szallıtottenergiaval (ez nem fizikai foton, ami csak egy hullamhosszon visz energiat), a talalat helyevel, a foton erkezesi iranya-val es a feluleti normalissal egyutt tarolunk. A foton talalatokat a hatekony elokereses erdekeben kd-faadatstrukturabaszervezzuk. A gyujtosetak alatt az arnyalasi egyenlet kovetkezo kozelıtesevel dolgozunk:

L(~x; !0) =

Z

L(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0 =

Z

d(!0)

dA cos 0d!0 fr(!0; ~x; !) cos 0 d!0

nXi=1

(!0i)

A fr(!0i; ~x; !); (8.7)

ahol (!0i) az A feluletre a !0i iranybol erkezo foton energiaja. A es a A mennyisegeket az ~x pont kornye-zeteben talalhato foton talalatok tulajdonsagaibol approximaljuk a kovetkezo eljarassal: Az ~x kore egy gombot teszunk,amelyet addig pumpalunk, amıg az eppen n foton talalatot tartalmaz (az n az algoritmus globalis parametere). Ha ekkora gomb sugara r, akkor a feluletelem terulete A = r 2.

Page 73: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

9. fejezet

A globalis illumin acios feladat iteracios megoldasa

Az iteracios eljarasokarra a felismeresre epıtenek, hogy az arnyalasi egyenlet megoldasa a kovetkezo iteracios semafixpontja

Lm = Le + T Lm1:

Valoban, ha ez a sema konvergens, akkor limn!1

Lm = limn!1

Lm1 = L1, azaz L1 kielegıti az arnyalasi egyenletet. A

mert sugarsuruseget hatarertekkent kaphatjuk meg:

ML = limm!1

MLm:

Az iteracio a teljes sugarsurusegfuggenyt hasznalja, ıgy annak ideiglenes valtozatat tarolni kell. Egy folytonos fugg-venyt veges-elem modszerrel adhatunk meg kozelıtoleg veges mennyisegu adat felhasznalasaval. Kozelıtsuk tehat asugarsuruseg fuggvenyt veges fuggvenysor alakban:

L(~x; !) L(n)(~x; !) =

nXj=1

Lj bj(~x; !) = bT (~x; !) L;

ahol bj(~x; !)-k elore definialt bazisfuggvenyek,L j-k pedig ismeretlen egyutthatok.A fuggvenysoros kozelıtest az arnyalasi egyenletbe helyettesıtve a kovetkezokhoz jutunk:

nXj=1

Lj(m)bj(~x; !) nXj=1

Lej bj(~x; !)+TnXj=1

Lj(m1)bj(~x; !) =nXj=1

Lej bj(~x; !)+nXj=1

Lj(m1)T bj(~x; !): (9.1)

Vegyuk eszre, hogy tenyleges egyenloseg altalaban nem all fenn, hiszen meg haPnj=1 Lj bj(~x; !) a bazisfuggve-

nyek altereben van is, a T integraloperator kivisz ebbol az alterbol. Az egyenloseget ezert csak egy megfelelo alterbenkoveteljuk meg, amelyet a ~b1(~x);~b2(~x); : : :~bn(~x) adjungalt bazisfugvenyekfeszıtenek ki.

Szorozzuk meg tehat az iteracios kepletet kulon-kulon minden egyes ~bi adjungalt bazisfuggvennyel, ami egy linearisegyenletrendszer iteracios megoldasara vezet:

Li(m) = Lei +

nXj=1

hT bj ;~bii Lj(m 1): (9.2)

A linearis egyenletrendszer matrixos alakban is kifejezheto:

L(m) = Le +R L(m 1); Rij = hT bj ;~bii: (9.3)

A szukseges muveletek szama egyetlen lepes muveletigenyenek es a konvergenciahoz szukseges lepesek szamanak aszorzata. Egyetlen lepes egy n dimenzios vektor (n a feluletelemek szama) es egy n n dimenzios matrix szorzasatjelenti, amely O(n2) muveletet igenyel.

A szukseges lepesek meghatarozasahoz abbol indulhatunk ki, hogy az iteracio geometriai sor szerint konvergal, azaza hiba m lepes utan O(am) nagysagrendu, ahol a = kRk az operator normaja, lenyegeben a muvelet kontrakcioja. Ahibat adott szint ala szorıto lepesek szama tehat fuggetlen n-tol. Javıtott iteracios technikak, mint a Gauss-Seidel ite-racio, tul-relaxacio, Southwell-iteracio egyreszt felgyorsıthatjak az iteracios folyamatot, masreszt csokkenthetik annakmemoriaigenyet, de a negyzetes bonyolultsagot nem valtoztatjak meg [SKM95].

71

Page 74: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

72 9. A globalis illumin acios feladat iteracios megoldasa

9.1. Miert kell Monte-Carlo iter aciot hasznalni?

A determinisztikus iteracionak ket alapveto hianyossaga van. Egyreszrol, mivel a sugarsuruseg fuggveny 4 valtozos esgyorsan valtozo, a pontos veges elemes kozelıteshez nagyon sok bazisfuggveny es egyutthato szukseges, ami viszont igensok memoriat igenyel. Masreszrol, amikor veges-elem modszert hasznalunk, a fenyatadas operatort csupan kozelıtjuk,ami minden egyes iteracios lepesben valamekkora szamıtasi hibat okoz. Ezek a hibak az iteracio soran elviselhetetlenmertekure duzzadhatnak fel.

Mindket hianyossagot kikuszobolhetjuk az iteracio randomizalasaval, amelyet sztochasztikus iteracionak nevezunk.Az alapotlet az, hogy T fenyatadas operator determinisztikus kozelıtese helyett egy lenyegesen egyszerubb veletlen ope-ratort hasznalunk az iteracio soran, amely “ atlagos” esetben a valodi operatorhoz hasonloan mukodik.

9.2. A sztochasztikus iteracio formalis definıcioja

Legyen T veletlen operator, amelynek hatasa varhato ertekben megegyezik az eredeti fenyatadas operatoreval:

E[T L] = T L (9.4)

barmilyen Riemann integralhato L fuggvenyre.A sztochasztikus iteracio ilyen veletlen operatorok T

1 ; T 2 ; : : : ; T i ; : : : sorozataval csereli fel a fenyatadas operatortaz iteracios szekvencia soran

Lm = Le + T mLm1: (9.5)

9.3. A veletlen operator definıcioja

Egy megfelelo veletlen operatornak tobb feltetelt kell kielegıtenie. Az 9.4. egyenlet kielegıtesen tul, ilyen feltetelek mega konnyu szamıthatosag es a T

i L fuggvenyek egyszeru tarolhatosaga. Ezen utobbi kovetelmeny abbol kovetkezik, hogya sugarsuruseg fuggveny 4 valtozos, ıgy a teljes megadasa igen sok valtozot igenyelne. Celunk tehat, hogy ne kelljen ezenfuggvenyt teljes ertelmezesi tartomanyban leırni. Valasszuk a veletlen operatort ugy, hogy a sugarsuruseg fuggvenyt csakegyetlen veletlen mintavetelezesi pontban hasznalja fel. Az operator randomizalasa tehat ezen pont veletlen valasztasa-val tortenik. A veletlen operator alkalmazasa egy pontbol egy ujabb folytonos fuggvenyt allıthat elo, amit a kovetkezolepesben megint egyetlen pontban mintavetelezunk. A folytonos fuggveny tarolasat megtakarıthatjuk, ha a veletlen ope-rator alkalmazasat kesleltetjuk mindaddig, amıg a kovetkezo lepesben a mintavetelezesi pont ismertte nem valik. Ekkora fenyatadas operatort minden lepesben ketszer, de csak egyetlen pontra kell szamıtani. Egyreszt szamıtjuk az aktualismintavetelezesi pontban felvett erteket az elozo mintavetelezesi pont ertekebol ([T (pi)L(pi)](pi+1)). Masreszt, megha-tarozzuk a kamerabecsleshez szukseges erteket a p eye kamerapontban az elozo pontbol ([T (pi)L(pi)](peye)).

Osszefoglalva az iteracios algoritmus:

P = 0 // initialize the measured value to zeroFind p1 randomly // select the randomization point of the first iterationL(p1) = Le(p1)for i = 1 to M do

P new = Le(peye) + [T (pi)L(pi)](peye) // measure the radianceP =MP new

1=i+ (1 1=i) P // average themeasured valueFind pi+1 randomly // select the randomization point of the next iterationL(pi+1) = Le(pi+1) + [T (pi)L(pi)](pi+1) // a single step of stochastic iteration

endforDisplay final image

Page 75: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

10. fejezet

Sugarkoteg modszer

A klasszikus globalis illuminacios modszerek a fenyutakat egyenkent allıtjak elo, es minden lepesben egy sugar segıtse-gevel hatarozzak meg az adott pontbol az adott iranyban lathato kovetkezo feluleti pontot. A lokalis sugarkovetes azonbanpazarloan csak a legkozelebbi metszespontot hasznalja fel. Erdemes tehat globalis sugarakkal dolgozni, amelyek az osszesmetszespontot felhasznaljak, azaz egy lepesben tobb fenyutat is kezelnek [Sbe96, Neu95, SMP98, Sbe97]. Masreszrol asugarkovetes nem hatekony lathatosag szamıtasi algoritmus, mivel keptelen a kep es objektumkoherencia kiaknazasara.Mas ismert eljarasok, mint peldaul a z-buffer, festo, Warnock, stb. modszerek egy lepesben parhuzamos sugarak halmaza-ra oldjak meg a lathatosagi feladatot, es sokkal hatekonyabban mintha azt a sugarakra egyenkent tennenk meg. Nevezzuka szabalyos racsbol indulo parhuzamos sugarak gyujtemenyet sugar-kotegnek. Celunk, hogy a sugarkotegeket a globalisilluminacios modszerekben is alkalmazzuk, ezaltal a grafikus hardvert es koherencia elvet is kihasznaljuk a gyors globalisilluminacios szamıtasokban.

10.1. Azarnyalasi egyenletatalakıtasa a sugarkoteg koveteshez

Egy sugarkoteg minden pont sugarsuruseget atviszi egyetlen iranyban. A sugarkoteg belsejeben a sugarsuruseg 2 valtozosfuggvennyel jellemezhezo. Ezt a ketvaltozos fuggvenyt veges-elem modszerrel ırjuk le. Keressuk a sugarsuruseget tehata kovetkezo veges fuggvenysor alakban:

L(~x; !) L(n)(~x; !) =

nXj=1

Lj(!) bj(~x) (10.1)

ahol L(n)(~x; !) a kozelıto sugarsuruseg bj(~x)-k pedig teljes fuggvenyrendszert alkotnak. A fuggvenyek tereben f; gfuggvenypar skalarszorzatat a szorzatuknak a teljes feluletre vett integraljakent definialhatjuk:

hf; gi =ZS

f(~x) g(~x) d~x:

Mivel a sugarsuruseget csak egy alterben kozelıtjuk nem varhatjuk el, hogy a kozelıto sugarsuruseg kielegıtse azarnyalasi egyenletet. Ehelyett az egyenloseget csak a ~b1(~x);~b2(~x); : : : ;~bn(~x) adjungalt bazis altal kifeszıtett alterbenkoveteljuk meg. Az adjungalt bazis elnevezest az indokolja, hogy a b 1(~x); b2(~x); : : : ; bn(~x) eredeti bazis es az adjungaltbazis kozott fenn kell allnia, hogy hb i(~x);~bj(~x)i = 1 ha i = j es 0 egyebkent. Az arnyalasi egyenletet az adjungalt alterbevetıtve, azaz az egyenletet egyenkent az adjungalt bazisfuggvenyekkel megszorozva, azt kapjuk, hogy

hL(n)(~x; !);~bi(~x)i = hLe(~x; !);~bi(~x)i+ hZ

L(n)(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0;~bi(~x)i: (10.2)

A bazis es adjungalt bazis kozotti ortonormalt voltat kihasznalva:

Li(!) = Lei (!) +

nXj=1

Z

Lj(!0) hbj(h(~x;!0)) fr(!0; ~x; !) cos 0;~bi(~x)i d!0: (10.3)

Ugyanezen egyenlet matrix alakban is megadhato:

L(!) = Le(!) +

Z

T(!0; !) L(!0) d!0; (10.4)

73

Page 76: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

74 10. Sugarkoteg modszer

ahol L(!)ji = Li(!) a sugarsuruseg ertekek vektora,

T(!0; !)jij = hfr(!0; ~x; !) bj(h(~x;!0)) cos 0;~bi(~x)i

pedig az un. ketiranyu atviteli matrix.Tegyuk fel, hogy az fr(!0; ~x; !) BRDF fuggveny azon tartomanyon belul ahol ~bi nem zerus, azaz ~bi alapjabol, jol

kozelıtheto egy helyfuggetlen ~fi(!0; !) BRDF-fel. Ekkor az atviteli matrixot a BRDF fuggvenyekF(! 0; !) diagonalmat-

rixanak es egy az ! iranytol fuggetlenA(! 0) geometria matrix szorzatakent ırhatjuk fel. A BRDF matrix alakja:

F(!0; !)jii = ~fi(!0; !);

A geometria matrix a feluletelemek kozotti ! 0 iranyu lathatosag erosseget fejezi ki:

A(!0)ij = hbj(h(~x;!0)) cos 0;~bi(~x)i: (10.5)

A geometriai matrix felhasznalasaval, a 10.4. egyenlet vegso alakja:

L(!) = Le(!) +

Z

F(!0; !) A(!0) L(!0) d!0: (10.6)

Ez az egyenlet — amelyet vetıtett arnyalasi egyenletnek nevezhetunk — szemleletes tartalommal bır. Egy feluletelemsugarsurusege a sajat kibocsatasnak es a bejovo sugarsuruseg visszaverodesenek az osszege. A kibocsatott es beerkezosugarsuruseget osszekapcsolo felulet-elem – irany – felulet-elem forma-faktor szerepet a geometria matrix latja el.

10.2. A geometria matrix el oallıtasa

A sugarkoteg altal szallıtott sugarsuruseg meghatarozasanak a kulcsa azA geometria matrix szamıtasa. Az

A(!0)jij = hbj(h(~x;!0)) cos 0;~bi(~x)i =ZS

bj(h(~x;!0)) ~bi(~x) cos 0 d~x;

geometria matrix elemeihez azt kell eldonteni, hogy az i. adjungalt bazisfugveny alapjabol — azaz azon pontokbol, ahol afuggveny nem zerus — lathato-e a j. bazisfuggveny alapja a! 0 iranyban (a bj(h(~x;!0))~bi(~x) szorzat akkor nem zerusha ~x a ~bi alapjaban, a h(~x;!0) pont pedig a bj alapjaban van). A tovabbiakban feltetelezzuk, hogy a bazisfuggvenyekalapjai haromszogek.

Az !0 iranyt, amelyben a lathatosagot vizsgaljuk transzilluminacios iranynak nevezzuk [Neu95, SKFNC97].Vegyuk eszre, hogy a geometria matrix eleme csak akkor lehet pozitıv, ha cos 0 0, azaz, amikor az i. feluletelem

a transzilluminacios irany fele nez. Ezeket a feluletelemeket elso lapoknak nevezzuk, mıg azokat, amelyekre ez nemteljesul hatso lapoknak. Nyilvan csak az elso lapokra erkezhet feny egy adott transzilluminacios iranybol.

10.1.abra. Globalis lathatosagi algoritmusok

A geometria matrix meghatarozasa tehat lenyegeben egy globalis lathatosagi feladat megoldasat jelenti. A globalistulajdonsag abbol adodik, hogy csak a lathatosagi irany rogzıtett a szempozıcio viszont nem. A szempozıcioval az osszesfeluleti pontot meg kell latogatnunk. A megoldas soran a pontokbol lathato feluletelemeket egy adatstrukturaban taroljuk,amelyet lathatosagi terkepnek neveztunk el. A lathatosagi terkep valojaban egy kep azon a sıkon, amely a transzillu-minacios sıkra meroleges. Ezt a sıkot transzilluminacios sıknak hıvjuk (10.1. abra).

Page 77: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

10.3. A vetıtett arnyalasi egyenlet megoldasa sztochasztikus iteracioval 75

A lathatosagi terkep lehet diszkret avagy folytonos. Diszkret algoritmusok a transzilluminacios sıkot kis ÆP nagysagupixelekre bontjak. A lathatosagi terkep ıgy egy raszterizalt kep, ahol az egyes pixelek az ott lathato feluletazonosıtottaroljak.

A geometria matrix szamıtasa attol is fugg, hogy milyen bazis es adjungalt bazis fuggvenyeket valasztunk. Atovabbiakban konstans bazisfuggvenyekkel es Galerkin modszerrel dolgozunk, amelyben az adjungalt es normal bazisfugvenyekegy normalizalo tenyezotol eltekintve megegyeznek.

10.2.1. Galerkin modszer konstans bazisfuggvenyekkel

Legyenek tehat a bazisfuggvenyek a kovetkezok:

bj(~x) =

(1 ha ~x 2 Aj ;

0 egyebkent.(10.7)

A Galerkin modszerszerint az ismeretlenLi(!) fuggvenyeket ugy allıtjuk elo, hogy a kozelıto megoldas a bazisfuggvenyekaltereben pontos legyen (a hiba az alterre meroleges legyen). A normalizalasi kriterium alapjan a kovetkezo adjungaltbazisfuggvenyek adodnak:

~bj(~x) =

8<:1=Aj ha ~x 2 Aj ;

0 egyebkent.(10.8)

Mivel ekkor hbj(~x);~bi(~x)i = 1 ha i = j es zerus egyebkent, a geometria matrix i; j eleme:

A(!0)jij = hbj(h(~x;!0)) cos 0;~bi(~x)i =1

AiZAi

bj(h(~x;!0)) cos 0 d~x: (10.9)

Mivel az integrandus szakaszonkent konstans, az integralt zart alakban is eloallıthatjuk:

1

AiZAi

bj(h(~x;!0)) cos 0 d~x =A(i; j; !0)

Ai; (10.10)

ahol A(i; j; !0) a j. feluletelem transzilluminacios sıkra vett vetuletenek azon reszet hatarozza meg, amely az i. felu-letelem belsejebol a ! 0 iranyban lathato. Ha nincs takaras, ez az i. es j. feluletelemek transzilluminacios sıkra vettvetuletenek a metszete. Takaras eseten, a takaro felulet vetuletet ebbol meg ki kell vonni, amint az a 10.2. abran lathato.

10.2.abra. AzA(i; j; !0) tenyez˝o ertelmez´ese

A teruletek es a takaras szamıtasahoz egy modosıtott z-buffer algoritmust hasznalunk [Neu95] (10.3. abra). Amodosıtott eljarasban az egyes pixelek nem csupan az idaig feldolgozottak kozul a legkozelebbi feluletelem azonosıtojates tavolsagat (z koordinatajat) tartalmazzak, hanem egy rendezett listaban az osszes ide vetulo feluletelem azonosıtojates tavolsagat. A feluletelemeket egyenkent raszterizaljuk, es a vetuletukbe eso pixelek listait tovabbepıtjuk. Az utolsofeluletelem feldolgozasa utan a listakat bejarjuk es a A(i; j; ! 0) ertekeket eloallıtjuk.

10.3. A vetıtett arnyalasi egyenlet megoldasa sztochasztikus iteracioval

A sztochasztikus iteracio elvei szerint egy T

F veletlen operatort definialunk, amelynek hatasa atlagban megegyezik avetıtett fenyatadas operatoreval:

Page 78: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

76 10. Sugarkoteg modszer

1

2

3

ablak

tranzilluminációs buffer

globális irány

1 2 3

1 3

3

2

10.3.abra. A transzillumin´acios buffer m´odos´ıtott z-buffer algoritmus eset´en

Valasszunk egyenletes eloszlas szerint egy veletlen iranyt es vigyuk at minden egyes feluletelem sugarsuruseget ebbeaz iranyba.

Formalisan a definıcio az alabbi:

T (!0)L(!) = 4 T(!0; !) L(!0): (10.11)

Ha az !0 iranyt egyenletes eloszlas szerint valasztjuk — azaz a valoszınuseg suruseg 1=(4) — akkor a 10.4. egyen-letnek megfeleloen a veletlen operator alkalmazasanak hatasa varhato ertekben:

E[T (!0)L(!)] =Z

4 T(!0; !) L(!0)d!0

4= TFL(!): (10.12)

Az ! irany az aktualis, ! 0 irany pedig az elozo atvitel soran valasztott irany. A veletlen mintaveteli pont tehat aglobalis irany.

A keletkezett algoritmus meglehetosen egyszeru. Egyetlen iteracios lepesben az elozo atvitelt a kamera fele vissza-verjuk, uj veletlen iranyt valasztunk es az uj, illetve az elozo irany ismereteben kiszamıtjuk es alkalmazzuk a veletlenoperatort. Ebben a formaban az algoritmus csupan egyetlen valtozot igenyel feluletelemenkent, amely az elozo atvitelL[i] sugarsuruseget tarolja.

Osszefoglalva a sztochasztikus iteraciot hasznalo sugarkoteg modszer algoritmusa:Generate the first random global direction !1for each patch i do L[i] = Lei (!1)for m = 1 to M do // iteration cycles

Calculate the image estimate reflecting the incoming radiance L[1]; : : : ; L[n] from !m towards the eyeAverage the estimate with the ImageGenerate random global direction !m+1

for each patch i do Lnew[i] = Lei (!m+1) + 4 Pn

j=1~fi(!m; !m+1) A(!m)ij L[j]

endforDisplay Image

A szimmetria miatt A(i; j; !0) es A(j; i;!0) megegyezik, ıgy az algoritmusban ketiranyu sugarsuruseg atvitelt isalkalmazhatunk.

10.3.1. Egyenletes eloszlasu veletlen iranyok eloall ıtasa

Mivel a veletlen szam generatorok a [0; 1) intervallumban szolgaltatnak veletlen szamokat, az iranyok eloallıtasahoz aziranygomb feluletet az egysegnegyzetbe kell lekepezni megpedig terulettarto transzformacioval. Egy lehetseges megoldasaz alabbi [Sob91]:

= 2u; = arccos(1 2v): (10.13)

Ebben az esetben

d! = det

24 @@u

@@v

@@u

@@v

35 sin du dv = 4 du dv: (10.14)

Page 79: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

10.3. A vetıtett arnyalasi egyenlet megoldasa sztochasztikus iteracioval 77

azaz az uj mintapontok egyenletes eloszlasuak a gombfeluleten, ha az eredeti pontok azok voltak az egysegnegyzetbelsejeben.

10.3.2. Kepbecslo szamıtasa

Minden egyes iteracios lepes a feluletelemek bejovo radianciajat allıtja elo egy-egy veletlen iranyban. A bejovo radianciata szem fele kell visszaverni ahhoz, hogy ebbol kepet kapjunk. A szamıtast elvegezhetjuk feluletelemenkent egyszer, majda feluletelemek konstans szınebol adodo toredezett megjelenıtest bi-linearis interpolacioval simıthatjuk ki. Masreszt avisszaverodes szamıtasat elvegezhetjuk minden pixelben kulon-kulon, amely a Phong arnyalas megvalosıtasahoz vezet.

Bi-linearis interpol acio

A kepgeneralas egy egyszeru modja, ha minden feluletelemhez egyetlen szınt rendelunk a feluletelem normalvektora es afeluletelem kozeppontjanak megfelelo lathatosagi irany alapjan. A kepbecslo eloallıtasa elso lepesben tehat a kovetkezo:

for each patch p do // do it for each patchCalculate viewing direction ! from patch pL[p] += Le[p](!) + 4 ~fp(!

(m)1 ; !) I[p]

endfor

A toredezett kepet bi-linearis interpolacioval, azaz Gouraudarnyalassal simıthatjuk ki. Az interpolacio tartopontjai aharomszogek csucspontjaiban az illeszkedo haromszogek szınatlagakent szamıtott ertekek lesznek (10.4. abra):

for each vertex v doLv [v] = 0

adjacent patches[v] = 0

endforfor each patch p do

for each vertex v of patch p doLv[v] += L[p]adjacent patches[v]++

endforendforfor each vertex v do Lv[v] /= adjacent patches[v]for each patch p do

Find vertices of patch p: v1; v2; v3GouraudShading(v1 ; v2; v3; Lv[v1]; Lv[v2]; Lv[v3] )

endfor

L L L L2 3 41

L L

LL

2

34

1

+ + +

4Lv =

10.4.abra. Bi-linearis interpolacio

Phong interpolacio

A Phong interpolacio a feluleti normalist es a nezeti iranyt a csucspontokban ervenyes vektorokbol interpolalja es aBRDF-t valamint a visszavert radianciat minden egyes pixelben kulon kiertekeli. Az eljarast felgyorsıthatjuk, ha az elo-feldolgozasi fazisban a pixelekben lathato feluletelemeket azonosıtjuk, a normal valamint nezeti vektorukat szamıtjuk, esaz eredmenyt egy tablazatban eltaroljuk.

Page 80: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

78 10. Sugarkoteg modszer

Page 81: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

11. fejezet

Veges elemes iteracio es Monte-Carlo modszerekkombinalasa

Ebben a fejezetben egy kombinalt modszert ismertetunk, amely kepes egyesıteni az iteracio kedvezo kezdeti sebessegetes a Monte-Carlo modszerek kis memoriaigenyet es aszimptotikus pontossagat. Az iteraciot a sugarsuruseg azon reszerehasznaljuk, amely egyszeruen tarolhato. Azon komponenseket, amelyeket csak sok valtozoval tudnank tarolni, Monte-Carlo modszerrel becsuljuk menet kozben. A kombinalt modszert ugy is elkepzelhetjuk, mint egy adaptacios strategiat,amely automatikusan felbontja az eredeti feladatot egy egyszeru veges-elem feladatta es egy kis szorasu Monte-Carlofeladatta. A Monte-Carlo szimulacio felelos a veges-elem resz felepıteseert is. A veges-elem resz viszont csokkentia Monte-Carlo komponens szorasat. (11.1. abra). Az eljaras hasonlo a f oresz kiemeleseelnevezesu klasszikus szoras-csokkento modszerhez [Sob91]. A kulonbseg annyi, hogy most a fo reszt nem ismerjuk es nem is tudjuk zart alakbanintegralni. Ezert a foreszt adaptıven allıtjuk elo es a Monte-Carlo komponens szamıtasaval egyutt Monte-Carlo kvadratu-raval szamıtjuk.

11.1.abra. A kombin´alt algoritmus semaja

11.1. A sugarsur useg fuggveny dekompozıcioja

Bontsuk fel azL sugarsuruseg fuggvenytL e sajat sugarzasra, egy veges-elemekkel jol kozelıtheto ~L visszavert veges-elemkomponensre, es a maradekot leıro L(!) visszavert Monte-Carlo komponensre:

L = Le + ~L+L: (11.1)

Jeloljuk a helyfuggo bazis- es adjungalt bazisfuggvenyeket s i(~x)-vel es ~si(~x)-vel, az iranyfuggo bazisfuggvenyeket esadjungalt bazisfuggvenyeket pedig ~dj(!)-vel es ~dj(!)-vel. A veges-elemek altal reprezentalt tag tehat

~L(~x; !) =Xi

Xj

si(~x)dj(!) Lij ; Lij = hL Le; ~si ~dji:

Helyettesıtsuk be ezt a felbontast a sztochasztikus iteracio kepletebe (9.5. egyenlet):

L(m) = Le + T fr (Le + ~L(m 1) + L(m 1)):

A veges-elem tag a sugarsuruseg fuggvenynek az adjungalt bazis altal kifeszıtett terbe vett vetulete:

~L(m) =Xi

Xj

si(~x)dj(!) hL(m) Le; ~si ~dji:

79

Page 82: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

80 11. Veges elemes iteracio es Monte-Carlo modszerek kombinalasa

Mivel fr az egyetlen olyan tenyezo, amely az ! kimeneti iranytol fugg, azt kapjuk, hogy:

~L(m) =Xi

si(~x) ZS

T ~frL(m 1) ~si(~x) d~x

ahol ~fr a vetıtett BRDF:~fr(!

0; ~x; !) =Xj

dj(!) Z

fr(!0; ~x; !) ~dj(!) cos d!:

Tegyuk fel, hogy konstans bazisfuggvenyeket hasznalunk, tehat s i(~x) = 1 es ~si(~x) = 1=Ai, ha ~x az i. feluletelembelsejeben van es zerus kulonben, valamint d j(!) = 1 es ~dj(!) = 1=j , ha ! a j terszogben van es zerus kulonben,ahol j =

Rj

cos d!: Ezek a bazis fuggvenyek a kovetkezo kepletekhez vezetnek:

~L(m) =Xi

si(~x) 1

AiZAi

T ~frL(m 1) d~x (11.2)

ahol~fr(!

0; ~x; !) =Xj

dj(!) 1

jZj

fr(!0; ~x; !) cos d!:

Ha egyetlen iranyfuggo bazisfuggvenyt hasznalunk, akkor a vetıtett BRDF az anyag -vel osztott albedo-ja.A Monte-Carlo komponenst ugy kapjuk, hogy a visszavert sugarsurusegbol kivonjuk az emissziot valamint a veges-

elem komponenst:

L(m) = L Le ~L = T frL(m 1)Xi

si(~x) ZS

T ~frL(m 1) ~si(~x) d~x:

A Monte-Carlo komponenst addig kell tarolni, amıg a kovetkezo lepesben be nem helyettesıtjuk az iteracios formulaba.

11.2. A kombinalt algoritmus

A kombinalt algoritmus a sztochasztikus iteracio minden lepese utan a sugarsuruseget az adjungalt bazis altal kifeszıtettalterbe vetıti. Termeszetesen a vetıtett sugarsuruseg, mikent a kepbecslo is, onmagaban nem konvergal, hanem az ertekeka hatarertek korul fluktualnak. Ezert a vegso kepet es a veges-elem komponenst az egyes lepesekbol szarmazo ertekekatlagakent allıtjuk elo. Ha az m. lepes utan a vetıtett sugarsuruseg ~L0(m), akkor a veges-elem komponenst a kovetkezokifejezessel adhatjuk meg:

~L(m) =1

mmXn=1

~L0(n) =1

m ~L0(m) +

1

1

m

~L(m 1): (11.3)

A Monte-Carlo komponens korrigalja a veges-elem komponenst, es egyszersmind azt is mutatja, hogy a veges-elemfelbontas mennyire pontos. Ezt az informaciot felhasznalhatjuk a veges-elem rendszer adaptıv finomıtasahoz.

Page 83: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

11.3. A kombinalt algoritmus alkalmazasa a sugarkoteg modszerhez 81

A teljes algoritmus:

CombinedGlobalIllumination~L(0) = 0, L(0) = 0

for m = 1 to M doLr = T

fr(Le + ~L(m 1) + L(m 1))

~L0(m) = projection of Lr to an adjoint baseL(m) = Lr ~L0(m)~L(m) = 1=m ~L0(m) + (1 1=m) ~L(m 1)

C0(m) =M(Le + ~L(m) + L(m))

C(m) = 1=m C0(m) + (1 1=m) C(m 1)

Contribute to the normsif m is an end of the phase

Refine the finite-element structureendif

endforDisplay C(m) colors

end

Az algoritmus adatfolyamat a 11.2. abran lathatjuk. Figyeljuk meg, hogy az ~L(m) + L(m) uj visszavert radian-ciat ugy szamıtjuk a veletlen fenyatadas operator eredmenyebol, hogy eloszor kivonjuk belole a vetıtett sugarsuruseget,majd hozzaadjuk ezek atlagat. Az algoritmus kezdeten ezzel egy nagy szorasu tagot az atlagaval valtunk fel, kesobbazonban a ket tag kiejti egymast. Ezzel megorizzuk az iteracio gyors kezdeti konvergenciajat es a Monte-Carlo modszeraszimptotikus pontossagat is.

T*n

vetítés átlagolás

kivonásHa nagy,finomítsd a véges-elemfelbontástátlagolás

mérés

radiancia

véges-elemkomponens

Monte-Carlokomponens

11.2.abra. Az algoritmus adatfolyama

11.3. A kombinalt algoritmus alkalmazasa a sugarkoteg modszerhez

Ebben a fejezetben a kombinalt modszert a sugarkoteg eljarasra alkalmazzuk. A helyfuggo bazisfuggvenyek az egyesharomszogeken allandok, es szukseg eseten a haromszoget negy kis haromszogre bontjuk.

A L(m) Monte-Carlo komponenst ideiglenesen tarolni kell, amıg a kepbecslot ki nem szamıtjuk, illetve a kovetkezoiteracios lepesbe be nem helyettesıtjuk.

A Monte-Carlo komponenst a feluletelemeken is tarolhatjuk, amennyiben azok elegendoen kicsinyek. Ezert a felule-telemeket addig bontjuk, amıg feltetelezhetjuk, hogy egy iranyban a sugarzasuk kozel allando.

Page 84: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

82 11. Veges elemes iteracio es Monte-Carlo modszerek kombinalasa

Page 85: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

12. fejezet

Elso loves technikak

Az arnyalasi egyenlet megoldasanak Neumann soros alakja a kovetkezo integralokat tartalmazza:

T (Le + T (Le + : : :) : : :) = T (Le + Li) =

Z

(Le + Li) fr cos 0 d!0

ahol Li a kovetkezo integral altal szamıtott indirekt illuminacio. A Monte-Carlo becsles akkor pontos, ha a

Lr(!0) = (Le + Li) fr cos 0

integrandus “ lapos” , azaz kozel konstans, kulonben a becslo szorasa nagy. Vizsgaljuk meg ezt a kerdest formalisan is.Tegyuk fel, hogy az integralt Monte-Carlo kvadraturaval becsuljuk, azaz az integralt mint varhato erteket tekintjuk, amitvegul atlaggal kozelıtunk. Legyen az ! 0 mintak valoszınuseg surusege p(! 0). Az integral tehat:

Z

Lr(!0) d!0 =

Z

Lr(!0)

p(!0) p(!0) d!0 = E

Lr(!0)

p(!0)

Lr =

1

N

NXi=1

Lr(!0i)

p(!0i):

Az Lr szinten veletlen valtozo, amelynek a szorasa =pN ahol 2:

2 =

Z

0@Lr(!0)

p(!0)Z

Lr(!) d!

1A

2

p(!0) d!0: (12.1)

A szoras akkor kicsi, ha Lr(!0)=p(!0) kozel van aR

Lr(!) d! integralhoz az ertelmezesi tartomanyban.

A szoras csokkentesenek egy lehetseges modja a fontosag szerinti mintavetelezes [Sob91], amely azt jelenti, hogyp(!0) koveti az Lr(!0) integrandus valtozasat es ıgy Lr(!0)=p(!0) kozelıtoleg konstans. Sajnos az arnyalasi egyenlet in-tegrandusa nem all rendelkezesre explicit formaban, ıgy a fontosag szerinti mintavetelezes altalaban csak a lokalis BRDFertekeket veszi figyelembe [DLW93, LW93] — azaz az fr cos 0 fuggvenyt koveti, nem pedig a (Le + Li) fr cos 0fuggvenyt.

Egy masik lehetseges eljaras a globalis illuminacios modell mas integralokkal torteno megkozelıtese. Mivel a gyorsvaltozasert a fenyforrasok kozvetlen hatasa felelos, ezt a tagot celszeru kulon kezelni.

12.1. Az elso loves alapotlete

Az elso-lovesa pontszeru es kis meretu fenyforrasok fenyet a feluletekre lovi, majd megnoveli ezek sajat sugarzasat a kisfenyforrasok megvilagıtasanak a visszaverodesevel, es eltavolıtja a kis fenyforrasokat a terbol.

Formalisan az ismeretlen L sugarsuruseget ket tagra bontjuk:

L = Lep + Lnp (12.2)

ahol Lep a kis (es pontszeru) fenyforrasok kibocsatasa, Lnp a nagyobb fenyforrasok sajat sugarzasa es a visszavert sugar-suruseg osszege. Az arnyalasi egyenletbe helyettesıtve azt kapjuk, hogy

Lep + Lnp = Le + T (Lep + Lnp): (12.3)

Az Lnp-t kifejezve azt kapjuk, hogy:

Lnp = (Le Lep + T Lep) + T Lnp: (12.4)

83

Page 86: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

84 12. Elso loves technikak

+=

12.1.abra. Elso loves

Vezessuk be a modosıtott sajat sugarzastLe = Le Lep + T Lep (12.5)

amely a kis fenyforrasok emissziojat (Lep) az egyszeres visszaverodesukkel (T Lep) valtja fel. Az Lnp tagra az eredeihezhasonlo egyenletet kapunk:

Lnp = Le + T Lnp: (12.6)

Ezen egyenlet megoldasaban felbukkano integrandus lenyegesen laposabb az eredeti integrandusenal.A modosıtott sajat sugarzast, legalabbis reszben, az elofeldolgozasi fazisban hatarozzuk meg. Pontosabbban a direkt

megvilagıtas okozta bejovo radianciat szamıtjuk az elofeldolgozasi lepesben, amibol a kilepo irany fuggvenyeben menetkozben kapjuk a tenyleges modosıtott sugarzast.

12.2. Elso loves pontszeru fenyforr asokra

Tegyuk fel, hogy a szınter l db pontszeru fenyforrast tartalmaz az ~y 1; : : : ~yl pontokban, amelyek rendre 1; : : : ;l telje-sıtmennyel sugaroznak. A fenyforrasok fenyenek visszaverodese az ~x pontban:

(T Lep)(~x; !) =lXi=1

i v(~yi; ~x)4j~yi ~xj2

fr(!0i; ~x; !) cos 0

i; (12.7)

ahol !0i az i fenyforras fele mutato irany, 0i az !0i irany es a feluleti normalis altal bezart szog, es v(~y i; ~x) a ~x es ~yi pontokkolcsonos lathatosaganak indikatorfuggvenye. Tekintsuk a j. feluletelemet es jeloljuk a teruletet A j-val. Az atlagosvisszavert sugarsuruseg:

hT Lepij(!) =1

AjZAj

(T Lep)(~x; !) d~x =

lXi=1

1

AjZAj

i v(~yi; ~x)4j~yi ~xj2

fr(!0i; ~x; !) cos 0

i d~x: (12.8)

A lathatosag indikator ertekenek meghatarozasahoz azt kell eldonteni, hogy a fenyforras az adott pontbol lathato-e. A szamıtashoz a grafikus hardvert is felhasznalhatjuk. Helyezzuk a szempozıciot a fenyforrasra, az ablakot pedigrendre a fenyforras kore tett kocka 6 lapjara. Szamıttassuk ki a kepet konstans arnyalassal ugy, hogy a szınindexeket afeluletelemek sorszama szerint valasztjuk. A kepek alapjan a lathato feluletelemek es teruletuk szamıthato.

Az 12.8. egyenlet integraljat a fenyforras kore tett kocka lapjain (W ) is kiertekelhetjuk, a radiozitas hıres felkockaalgoritmusahoz hasonloan [CG85].

Fejezzuk ki azt a dp terszoget, amelyben d~x differencialis terulet lathato a d~p pixel teruleten keresztul:

dp =d~x cos 0ij~yi ~xj2

=d~p cos pj~yi ~pj2

; (12.9)

ahol p az ~x-t ~yi-vel osszekoto irany es az ablak feluleti normalisa altal bezart szog (12.2. abra). Az j~y i ~pj tavolsag azf= cosp hanyadossal egyenlo, ahol f a ~yi pont es az ablak sıkja kozotti tavolsag, amelyet f okusztavolsagnak is neveznek.A 12.9. egyenlet felhasznalasaval a d~x differencialis terulet kifejezheto, amit a 12.8. egyenletbe helyettesıthetunk be:

hT Lepij(!) =lXi=1

1

AjZW

i v(~yi; ~x)4

fr(!0i; ~x; !) cos 3pf2

d~p:

Legyen Pj azon pixelek halmaza, amelyben eppen a j. feluletelem latszik a fenyforrasbol. A P j -t a kocka lapjaira veg-rehajtott z-buffer/konstans arnyalas alapu kepszintezis lepesekkel kaphatjuk meg, amelyben a j. feluletelem szınet j-nek

Page 87: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

12.3. Kis teruleti fenyforrasok 85

ablakok

pont fényforrás

felületelemjP

θ

θ

p

fj

xω’

ω

W

y

i

i

12.2.abra. A fenyforras lathatosaganak sz´amıtasa

valasztjuk. A kepek eloallıtasa utan a keptartalmakat visszaolvassuk a raszter-memoriabol. A j. feluletelem visszavertsugarsuruseget a kovetkezo osszeggel becsuljuk:

hT Lepij(!) lXi=1

i4f2Aj

Xp2Pj

fr(!0

i; ~x; !) cos 3p ÆP;

ahol ÆP egyetlen pixel terulete. Ha a kep felbontasa R, akkor ÆP = 4f 2=R2: A BRDF-t ~fj(!0

i; !)-vel kozelıtjuk aj. feluletelem belsejeben. Vegul a visszavert sugarsuruseget harom tenyezore bonthatjuk: a fenyforras i kisugarzotthullamhosszfuggo teljesıtmenyere, a ~fj(!

0

i; !) BRDF-re, amely maga is hullamhossz fuggo, es a kovetkezo skalaris te-nyezore:

rij =1

R2AjXp2Pj

cos 3p:

Ezeket a skalaris tenyezoket az elofeldolgozas soran szamıtjuk ki es az elemi feluletelemeken taroljuk oket. A taroloigenya feluletelemek szamanak es a pontszeru fenyforrasok szamanak szorzata.

A globalis illuminacios szamıtasok alatt, amikor a hT Lepij(!) visszavert sugarsurusegre van szukseg a j. feluletelemegy ~x pontjaban, ezt menet kozben szamıtjuk az eltarolt r ij skalaris parameterbol, az ~x pontot a fenyforrassal osszekotoiranybol es a fenyforras sugarzasi teljesıtmenyebol:

hT Lepij(!) =lXi=1

i rij f jr (!0

i; !): (12.10)

12.3. Kis teruleti f enyforr asok

Ebben a fejezetben a kis teruleti fenyforrasok fenyenek egyszeres viszaverodesenek szamıtasat targyaljuk. Tekintsuk azS teruletu Le(~y; !) emisszioju fenyforras hatasat az ~x pontra:

(T Lep)(~x; !) =ZS

Le(h(~x;!0); !0) fr(!0; ~x; !) cos 0 d!0 =ZS

Le(~y; !0) cos v(~y; ~x)j~y ~xj2

fr(!0; ~x; !) cos 0 d~y;

ahol S azon terszog, amelyben az S fenyforras lathato, ~y a fenyforrason futo valtozo, pedig az ! 0 irany es az ~ypontban ervenyes feluleti normalis altal bezart szog.

A j. feluletelem atlagos visszavert sugarsurusege

hT Lepij(!) =1

AjZAj

(T Lep)(~x; !) d~x =

ZS

1

AjZAj

Le(~y; !0) cos v(~y; ~x)j~y ~xj2

cos 0 fr(!0; ~x; !) d~x d~y:

A kulso integralt trapez szaballyal becsuljuk. A fenyforras teruletet haromszogekre (vagy negyszogekre) bontjuk es azintegrandust a csucspontokban szamıtjuk, a tobbi pontban pedig linearisnak tekintjuk. Ha a csucspontok szama l, a kvad-ratura a kovetkezo alaku:

hT Lepij(!) lXi=1

Sti

AjZAj

Le(~yi; !0

i) cos i v(~yi; ~x)3j~yi ~xj2

cos 0i fr(!0

i; ~x; !) d~x;

Page 88: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

86 12. Elso loves technikak

ahol Sti azon fenyforras haromszogek teljes terulete, amelyek az i. csucspontra illeszkednek es az 1=3 szorzo annak akovetkezmenye, hogy minden haromszognek harom csucsa van.

Vegyuk eszre, hogy a belso integral a 12.8. egyenlet integraljaval megegyezo, ha elvegezzuk a kovetkezo helyettesı-test:

i4

( Le(~yi; !0

i) cos i Sti

3:

Meg egy kulonbsegre kell felhıvni a figyelmet. Egy egyoldalu teruleti fenyforras csak abba a felterbe sugarozhat, amelya fenyforras sıkja “ felett” van, ıgy az ablak felulete f elkockalesz (12.3. abra).

12.3.abra. A felkockaes a fenyforras mintapont elhelyezked´ese, valamint az 5 f´elkocka lapon kereszt¨ul lathato kepek

Osszefoglalva, a teruleti fenyforrasokra vegrehajtott elso-loves a kovetkezo lepesekbol all: eloszor fenyforrast harom-szog haloval kozelıtjuk, majd egy felkockat helyezunk el a halo minden egyes ~y i csucspontjara, es a feluletek lathatosagatmeghatarozzuk. A

rij =4Sti cos i3R2Aj

Xp2Pj

cos 3p

skalaris tenyezoket a feluletelemeken taroljuk.A globalis illuminacios szamıtas soran a visszavert radianciat a skaralis tenyezokbol kapjuk a kovetkezo modon:

hT Lepij(!) =Xi

Le(~yi; !0

i) rij fjr (!

0

i; !): (12.11)

12.4. Az elso-loves felhasznalasa a sugarkoteg modszerben

Egy iteracios lepesben nem csupan az elozo atvitel sugarsuruseget verjuk vissza az uj iranyba, hanem a feluletelembol lat-hato fenyforrasok bejovo sugarsuruseget is. A muvelet ara l db BRDF szamıtas feluletelemenkent, ahol l a feluletelemrollathato fenyforrasok szama.

Page 89: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

13. fejezet

Tobbmeneteses progresszıv kepszintezis

A kepszintezis feladat megoldasahoz igen sokfele megkozelıtest ad az irodalom, amelyek kozul sokat ebben a dolgozat-ban is targyaltunk. A kulonbozo megkozelıtesek kozott nem hirdethetunk egyertelmu gyoztest, mas-mas tulajdonsaguterekre mas algoritmusok bizonyulnak jobbnak. Erre a felismeresre epıt a tobbmenetes es a progresszıv kepszintezis. Azelobbi ugyanazt a szınteret tobb eljarassal is lefenykepezi, majd a keletkezo kepeket kombinalja, lehetoleg ugy, hogy akulonbozo eljarasok erossegei megmaradjanak. A progresszıv kepszintezis viszont a rendelkezesre allo ido alapjan va-laszt megoldast es a minoseg-ido kompromisszumot ennek megfeleloen allıtja be. Termeszetesen ennek akkor van igazanertelme, ha a gyengebb minosegu es ezaltal gyorsabb modszerekrol fokozatosan terhetunk at pontosabb eljarasokra, es azottani szamıtasokat at lehet menteni a finomabb algoritmusokba.

13.1. Tobbmenetes kepszintezis

A kepszintezis algoritmusokat altalaban ugy kepzelhetjuk el, hogy azok valamilyen strategia szerint megkeresik a fenyfor-rasokat a szemmel osszekoto, esetlegesen visszaverodeseket is tartalmazo fenyutakat, es azok hatasat osszegezik. Nyilvankulonbozo algoritmusok mas es mas fenyut tıpusok eloallıtasaban jok. Peldaul az inverz fenyut kovetes hatekonyan ke-zeli a kepen lathato idealisan toro vagy tukrozo feluleteket, de nagyon gyenge akkor, ha ezek a fenyforrasbol lathatoak.Ugyanakkor a fenykovetes eppen a fordıtott esetben jo, ıgy kausztikus jelenetek letrehozasara is alkalmas.

A tobbmenetes kepszintezis tobb algoritmust is bevet a vegso kep szamıtasahoz. A modszerek kombinalasa tobbmegkozelıtessel is lehetseges. A ketmenetes kepszintezisben az elso, un. globalis lepes nem teljes, a kameratol fuggetlenfenyutakat allıt elo. A nem teljes fenyutakat a masodik, un. lokalis lepes fejezi be a kamera hozzajarulas szamıtasaval.Ebbe a csaladba tartozik a klasszikus radiozitas es sugarkovetes egyesıtese, es a foton terkep modszer is.

A tobbmenetes kepszintezis masik csaladjat azok a modszerek kepviselik, amelyekben minden modszer teljes fenyu-takat allıt elo. Ezekben kulonos gondot kell fordıtani arra, hogy egyetlen fenyutat ne allıtsunk elo tobbszor, es a megismegtesszuk, akkor ennek megfeleloen sulyozva vegyuk oket figyelembe. Az elso megoldashoz olyan modszerek vezet-nek, ahol az egyes algoritmusok csak adott visszaverodes tıpusokat kezelnek. Szamunkra fontosabb a masodik csalad,ahol a sulyok szamıtasanak feladataval kell megbırkozni, lehetoleg ugy, hogy az egyes modszerek elonyos tulajdonsaga-it ne veszıtsuk el. Erre kınal megoldast a kovetkezo fejezet eljarasa, amely feltetelezi, hogy a kulonbozo Monte-Carlomodszerek mas mintaveteli strategiat alkalmaznak.

13.1.1. Tobbszoros fontossag szerinti mintavetelezes

Tetelezzuk fel, hogy n kulonbozo mintavetelezo technikat hasznalunk fel a veletlen utak generalasara, ahol a mintakeloszlasa a kulonbozo p1; :::; pn fontossag szerinti mintavetelezo eloszlasokbol all ossze. A p i eloszlasbol vett mintakszamat jeloljukMi-vel, es az osszes minta szama pedig legyenM =

PiMi. AzMi ertekek elore meg vannak hatarozva,

mielott meg barmilyen mintat is vennenk. A z minta valasztasanak “ atlagos valoszınusegi surusege” ekkor

p(z) =

nXi=1

Mi

M pi(z): (13.1)

Ezert az ezeket a mintakat hasznalo integralbecslo:

Z[0;1]s

f(z) dz =

Z[0;1]s

f(z)

p(z) p(z) dz

1

M

nXi=1

MiXj=1

f(zi;j)

p(zi;j)=

nXi=1

1

Mi

MiXj=1

wi(zi;j) f(zi;j)

pi(zi;j)(13.2)

87

Page 90: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

88 13. Tobbmeneteses progressz´ıv kepszintezis

ahol zi;j a j. minta az i. eloszlasbol, es a sulyok

wi(z) =Mi pi(z)Pnk=1Mk pk(z)

: (13.3)

Nezzuk meg ezt abban az esetben, ha az osszes modszer egyforma szamu mintapontot hasznal. A p i(z) annak a valoszı-nuseget jeloli, hogy a z mintat az i. modszerrel allıtjuk elo. A mintakat a sulyokkal kombinaljuk, amelyek garantaljak,hogy egyik mintat sem hasznalunk tobbszor. A torzıtatlan becsleshez minden z vektorra ervenyesnek kell lennie, hogyPi wi(z) = 1.

13.2. Progresszıv kepszintezis

A kepszintezis feladatot a kepminoseg-sebesseg kompromisszum szerint kulonbozo szinteken oldhatjuk meg:

Haromszogekkel kozelıtett feluletek lokalis illuminacios kepszintezissel arnyekok nelkul: Ez a megoldas az osszestobszoros visszaverodest elhanyagolja, amelynek megfelelo energiat egy ambiens taggal lehet visszacsempeszni. Asebesseg tovabb novelheto, ha csak pontszeru es iranyfenyforrasokat engedunk meg, amelyeket mindig lathatonaktekintunk. Sot, a fenyforrasoktol is megszabadulhatunk, es a feluleteket a nezeti iranytol fuggo albedojuknak meg-feleloen szınezhetjuk ki. Ezt az eljarast a grafikus hardver es az OpenGL konyvtar is tamogatja, ıgy alkalmazasavalvalosideju animaciok keszıthetok.

Globalis illuminacios kepszintezis sugarkoteg modszerrel.

A spekularis hatasok megjelenıtese eloszor rekurzıv sugarkovetessel, majd ketiranyu fenyutkovetessel vagy fotonterkepekkel.

A megvalosıtott rendszerben ezeket az algoritmusokat implementaljuk, amelyeket ugy kapcsolunk ossze, hogy min-dig a rendelkezesre allo idoben vegrehajthato legjobb minoseget ado algoritmus fusson. Amikor az egyik algoritmusrol amasikra terunk at, a korabbi eredmenyeket atmentjuk az uj, pontosabb kepbe.

Page 91: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Irodalomjegyzek

[Abr97] Gy. Abraham. Optika. Panem-McGraw-Hill, Budapest, 1997.

[AH93] L. Aupperle and P. Hanrahan. A hierarchical illumination algorithms for surfaces with glossy reflection. ComputerGraphics (SIGGRAPH ’93 Proceedings), pages 155–162, 1993.

[AK90] J. Arvo and D. Kirk. Particle transport and image synthesis. In Computer Graphics (SIGGRAPH ’90 Proceedings), pages63–66, 1990.

[BBS96] G. Baranoski, R. Bramley, and P Shirley. Fast radiosity solutions for environments with high average reflectance. InRendering Techniques ’96, pages 345–355, 1996.

[BF89] C. Buckalew and D. Fussell. Illumination networks: Fast realistic rendering with general reflectance functions. ComputerGraphics (SIGGRAPH ’89 Proceedings), 23(3):89–98, July 1989.

[Bli77] J. F. Blinn. Models of light reflection for computer synthesized pictures. In Computer Graphics (SIGGRAPH ’77 Pro-ceedings), pages 192–198, 1977.

[BNN+98] P. Bekaert, L. Neumann, A. Neumann, M. Sbert, and Y. Willems. Hierarchical Monte-Carlo radiosity. In RenderingTechniques ’98, pages 259–268, 1998.

[BS63] P. Beckmann and A. Spizzichino. The Scattering of Electromagnetic Waves from Rough Surfaces. MacMillan, 1963.

[BS95] P. Bodrogi and J. Schanda. Testing the calibration model of colour crt monitors. Displays, 16(3):123–133, 1995.

[CG85] M. Cohen and D. Greenberg. The hemi-cube, a radiosity solution for complex environments. In Computer Graphics(SIGGRAPH ’85 Proceedings), pages 31–40, 1985.

[CLSS97] P. H. Christensen, D. Lischinski, E. J. Stollnitz, and D. H. Salesin. Clustering for glossy global illumination. ACMTransactions on Graphics, 16(1):3–33, 1997.

[CPC84] R. Cook, T. Porter, and L. Carpenter. Distributed ray tracing. In Computer Graphics (SIGGRAPH ’84 Proceedings),pages 137–145, 1984.

[Cse97] B. Csebfalvi. A review of Monte-Carlo ray tracing algorithms. In CESCG ’97, Central European Seminar on ComputerGraphics, pages 87–103, 1997.

[CSSD96] P. H. Christensen, E. J. Stollnitz, D. H. Salesin, and T. D. DeRose. Global illumination of glossy environments usingwavelets and importance. ACM Transactions on Graphics, 15(1):37–71, 1996.

[Dav54] H. Davis. The reflection of electromagnetic waves from a rough surface. In Proceedings of the Institution of ElectricalEngineers, volume 101, pages 209–214, 1954.

[Dea89] I. Deak. Random Number Generators and Simulation. Akademia Kiado, Budapest, 1989.

[DLW93] Ph. Dutre, E. Lafortune, and Y. D. Willems. Monte Carlo light tracing with direct computation of pixel intensities. InCompugraphics ’93, pages 128–137, Alvor, 1993.

[FTK86] A. Fujimoto, T. Takayuki, and I. Kansei. Arts: Accelerated ray-tracing system. IEEE Computer Graphics and Applica-tions, 6(4):16–26, 1986.

[Gla95] A. Glassner. Principles of Digital Image Synthesis. Morgan Kaufmann Publishers, Inc., San Francisco, 1995.

[GS77] P. J. Green and R. Sibson. Computing dirichlet tessellations in the plane. Computer Journal, 21(2):168–173, 1977.

[GS85] L. Guibas and R. Stolfi. Primitives for the manipulations of general subdivisions and the computation of voronoi diagrams.ACM Transactions on Graphics, 4(2):74–123, 1985.

[Hav01] V. Havran. Heuristic Ray Shooting Algorithms. Czech Technical University, Ph.D. dissertation, 2001.

[HSA91] P. Hanrahan, D. Salzman, and L. Aupperle. Rapid hierachical radiosity algorithm. Computer Graphics (SIGGRAPH ’91Proceedings), 1991.

[ICG86] D. S. Immel, M. F. Cohen, and D. P. Greenberg. A radiosity method for non-diffuse environments. In Computer Graphics(SIGGRAPH ’86 Proceedings), pages 133–142, 1986.

[JC95] H. W. Jensen and N. J. Christensen. Photon maps in bidirectional Monte Carlo ray tracing of complex objects. Computersand Graphics, 19(2):215–224, 1995.

[JC98] H. W. Jensen and P. H. Christensen. Efficient simulation of light transport in scenes with participating media using photonmaps. Computers and Graphics (SIGGRAPH ’98 Proceedings), pages 311–320, 1998.

89

Page 92: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

90 Irodalomjegyzek

[Jen95] H. W. Jensen. Importance driven path tracing using the photon maps. In Rendering Techniques ’95, pages 326–335, 1995.

[Jen96] H. W. Jensen. Global illumination using photon maps. In Rendering Techniques ’96, pages 21–30, 1996.

[JGMHe88] K. I. Joy, C. W. Grant, N. L. Max, and Lansing Hatfield (editors). Computer Graphics: Image Synthesis. IEEE ComputerSociety Press, Los Alamitos, CA., 1988.

[Kaj85] J. T. Kajiya. Anisotropic reflection models. In Computer Graphics (SIGGRAPH ’85 Proceedings), pages 15–21, 1985.

[Kaj86] J. T. Kajiya. The rendering equation. In Computer Graphics (SIGGRAPH ’86 Proceedings), pages 143–150, 1986.

[Kel96] A. Keller. The fast Calculation of Form Factors using Low Discrepancy Sequences. In Proc. Spring Conference onComputer Graphics (SCCG ’96), pages 195–204, Bratislava, Slovakia, 1996. Comenius University Press.

[Kel97] A. Keller. Instant radiosity. Computer Graphics (SIGGRAPH ’97 Proceedings), pages 49–55, 1997.

[Knu81] D.E. Knuth. The art of computer programming. Volume 2 (Seminumerical algorithms). Addison-Wesley, Reading, Mass.USA, 1981.

[LB94] B. Lange and B. Beyer. Rayvolution: An evolutionary ray tracing algorithm. In Photorealistic Rendering Techniques,pages 136–144, 1994.

[Lep80] G. P. Lepage. An adaptive multidimensional integration program. Technical Report CLNS-80/447, Cornell University,1980.

[Lew93] R. Lewis. Making shaders more physically plausible. In Rendering Techniques ’93, pages 47–62, 1993.

[Lis94] D. Lischinski. Inkremental delaunay triangulation. In Paul Heckbert, editor, Graphics Gems IV, pages 47–59. AcademicPress, Boston, 1994.

[LW93] E. Lafortune and Y. D. Willems. Bi-directional path-tracing. In Compugraphics ’93, pages 145–153, Alvor, 1993.

[LW94] E. Lafortune and Y. D. Willems. Using the modified Phong reflectance model for physically based rendering. TechnicalReport RP-CW-197, Department of Computing Science, K.U. Leuven, 1994.

[LW96] E. Lafortune and Y. D. Willems. A 5D tree to reduce the variance of Monte Carlo ray tracing. In Rendering Techniques’96, pages 11–19, 1996.

[Min41] M. Minnaert. The reciprocity principle in lunar photometry. Astrophysical Journal, 93:403–410, 1941.

[MNP99] K. Matkovic, L. Neumann, and W. Purgathofer. A survey of tone mapping techniques. Technical report, SIGGRAPH’99,1999. TR-186-2-97-12.

[MRR+53] N. Metropolis, A. Rosenbluth, M. Rosenbluth, A. Teller, and E. Teller. Equations of state calculations by fast computingmachines. Journal of Chemical Physics, 21:1087–1091, 1953.

[Nem90] A. Nemcsics. Sz´ındinamika, sz´ınes kornyezet m´erese. BME, Budapest, 1990.

[Neu95] L. Neumann. Monte Carlo radiosity. Computing, 55:23–42, 1995.

[Nie92] H. Niederreiter. Random number generation and quasi-Monte Carlo methods. SIAM, Pennsilvania, 1992.

[NNB97] L. Neumann, A. Neumann, and P. Bekaert. Radiosity with well distributed ray sets. Computer Graphics Forum (Euro-graphics’97), 16(3):261–270, 1997.

[NNSK98a] L. Neumann, A. Neumann, and L. Szirmay-Kalos. Analysis and pumping up the albedo function. Technical ReportTR-186-2-98-20, Institute of Computer Graphics, Vienna University of Technology, 1998. www.cg.tuwien.ac.at/.

[NNSK98b] L. Neumann, A. Neumann, and L. Szirmay-Kalos. New simple reflectance models for metals and other specular ma-terials. Technical Report TR-186-2-98-17, Institute of Computer Graphics, Vienna University of Technology, 1998.www.cg.tuwien.ac.at/.

[NNSK99] L. Neumann, A. Neumann, and L. Szirmay-Kalos. Compact metallic reflectance models. Computer Graphics Forum(Eurographics’99), 18(3):161–172, 1999.

[PFTV92] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling. Numerical Recipes in C (Second Edition). CambridgeUniversity Press, Cambridge, USA, 1992.

[Pho75] B. T. Phong. Illumination for computer generated images. Communications of the ACM, 18:311–317, 1975.

[PM95] S. N. Pattanaik and S. P. Mudur. Adjoint equations and random walks for illumination computation. ACM Transactionson Graphics, 14(1):77–102, 1995.

[PP98] J. Prikryl and W. Purgathofer. Perceptually based radiosity. In Eurographics ’98, STAR — State of the Art Report, 1998.

[SAWG91] F. X. Sillion, J. R. Arvo, S. H. Westin, and D. P. Greenberg. A global illumination solution for general reflectancedistributions. Computer Graphics (SIGGRAPH ’91 Proceedings), 25(4):187–198, 1991.

[Sbe96] M. Sbert. The Use of Global Directions to Compute Radiosity. PhD thesis, Catalan Technical University, Barcelona,1996.

[Sbe97] M. Sbert. Error and complexity of random walk Monte-Carlo radiosity. IEEE Transactions on Visualization and ComputerGraphics, 3(1), 1997.

[SC94] F. Sillion and Puech C. Radiosity and Global Illumination. Morgan Kaufmann Publishers, Inc., San Francisco, 1994.

[Sch96] J. Schanda. CIE colorimetry and colour displays. In IS&T/SID Conf. Scottsdale, 1996.

Page 93: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Irodalomjegyzek 91

[SDS95] F. Sillion, G. Drettakis, and C. Soler. Clustering algorithm for radiance calculation in general environments. In RenderingTechniques ’95, pages 197–205, 1995.

[SGCH94] P. Schroder, S.J. Gortler, M.F. Cohen, and P. Hanrahan. Wavelet projections for radiosity. Computer Graphics Forum,13(2):141–151, 1994.

[SK98a] L. Szirmay-Kalos. Global ray-bundle tracing. Technical Report TR-186-2-98-18, Institute of Computer Graphics, ViennaUniversity of Technology, 1998. www.cg.tuwien.ac.at/.

[SK98b] L. Szirmay-Kalos. Stochastic methods in global illumination — state of the art report. Technical Report TR-186-2-98-23,Institute of Computer Graphics, Vienna University of Technology, 1998. www.cg.tuwien.ac.at/.

[SK99a] L. Szirmay-Kalos. Stochastic iteration for non-diffuse global illumination. Computer Graphics Forum (Eurographics’99),18(3):233–244, 1999.

[SK99b] L. Szirmay-Kalos. Szamıtogepes grafika. ComputerBooks, Budapest, 1999.

[SKCP99] L. Szirmay-Kalos, B. Csebfalvi, and W. Purgathofer. Importance driven quasi-random walk solution of the renderingequation. Computers and Graphics, 23(2):203–212, 1999.

[SKe95] L. Szirmay-Kalos (editor). Theory of Three Dimensional Computer Graphics. Akademia Kiado, Budapest, 1995.http://www.iit.bme.hu/˜szirmay.

[SKFNC97] L. Szirmay-Kalos, T. Foris, L. Neumann, and B. Csebfalvi. An analysis to quasi-Monte Carlo integration applied to thetransillumination radiosity method. Computer Graphics Forum (Eurographics’97), 16(3):271–281, 1997.

[SKFP98] L. Szirmay-Kalos, T. Foris, and W. Purgathofer. Non-diffuse, random-walk radiosity algorithm with linear basis functions.Machine Graphics and Vision, 7(1):475–484, 1998.

[SKM95] L. Szirmay-Kalos and G. Marton. On convergence and complexity of radiosity algorithms. In Winter School of ComputerGraphics ’95, pages 313–322, Plzen, Czech Republic, 14–18 February 1995. http//www.iit.bme.hu/˜szirmay.

[SKP98] L. Szirmay-Kalos and W. Purgathofer. Global ray-bundle tracing with hardware acceleration. In Rendering Techniques’98, pages 247–258, 1998.

[SKP99a] L. Szirmay-Kalos and W. Purgathofer. Analysis of the quasi-Monte Carlo integration of the rendering equation. In WinterSchool of Computer Graphics ’99, pages 281–288, Plzen, Czech Republic, 1999.

[SKP99b] L. Szirmay-Kalos and W. Purgathofer. Global ray-bundle tracing with infinite number of rays. Computers and Graphics,23(2):193–202, 1999.

[SMP98] M. Sbert, R. Martinez, and X. Pueyo. Gathering multi-path: a new Monte-Carlo algorithm for radiosity. In Winter Schoolof Computer Graphics ’98, pages 331–338, Plzen, Czech Republic, 1998.

[Sob91] I. Sobol. Die Monte-Carlo Methode. Deutscher Verlag der Wissenschaften, 1991.

[SPS98] M. Stamminger, Slussalek P., and H-P. Seidel. Three point clustering for radiance computations. In Rendering Techniques’98, pages 211–222, 1998.

[SWZ96] P. Shirley, C. Wang, and K. Zimmerman. Monte Carlo techniques for direct lighting calculations. ACM Transactions onGraphics, 15(1):1–36, 1996.

[Vea97] E. Veach. Robust Monte Carlo Methods for Light Transport Simulation. PhD thesis, Stanford University,http://graphics.stanford.edu/papers/veach thesis, 1997.

[VG95] E. Veach and L. Guibas. Bidirectional estimators for light transport. In Computer Graphics (SIGGRAPH ’95 Proceed-ings), pages 419–428, 1995.

[VG97] E. Veach and L. Guibas. Metropolis light transport. Computer Graphics (SIGGRAPH ’97 Proceedings), pages 65–76,1997.

[War92] G. Ward. Measuring and modeling anisotropic reflection. Computer Graphics, 26(2):265–272, 1992.

[War95] T. Warnock. Computational investigations of low-discrepancy point sets. In H. Niederreiter and P. Shiue, editors, Monte-Carlo and Quasi-Monte Carlo Methods in Scientific Computing, pages 354–361. Springer, 1995.

[WS82] G. Wyszecki and W. Stiles. Color Science: Concepts and Methods, Quantitative Data and Formulae. Wiley, New York,1982.

Page 94: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Targymutato

A

a test kozepvonal modszer 37adjungalt bazis 73adjungalt bazisfugvenyek 49, 71alacsony diszkrepanciaju sorozat 42, 43alap 74albedo 15, 53ambiens-fenyforras 20

A

arnyalasi egyenlet 6, 9arnyek sugarak 60arnyekolas 19

B

Beckmann eloszlas 19befoglalo keret 35

doboz 35gomb 35hierarchikus 35

bi-directional path-tracing 67Bi-directional Reflection Distribution Function 9binaris particionalo fa 36bounding volume 35BRDF 9BRDF mintavetelezesnek 53BSP-fa 36

C

CIE XYZ 23Cohen-Sutherland vagasi algoritmus 35CSG 34

D

Delaunay felbontas 14diagonal 14diffuz 15, 30dimenzionalis robbanas 51Dirac-delta 16direkt fenyforras szamolasnal 55distributed ray-tracing 62

E

egyenletes 42elosztott sugarkovetes 62elso lap 74elso-loves 83emberi szem 20energiamegmaradas 15expanzio 27

E

erzekenyseg fuggveny 10

F

feher pont 23felho 12felulet 13feluleti kamera parameter 22finite-element method 49fixpont 30fizikailag plauzibilis 15fluxus 7fontossag fuggveny 55fontossag szerinti mintavetel 42fontossag szerinti mintavetelezes 51fontosag szerinti mintavetelezes 83fotometria alaptorvenye 8foton kovetes 65foton terkep 70foton-terkep 52Fredholm-fele integralegyenlet 12Fresnel egyenletek 19Fresnel-egyenlet 16Fresnel-egyutthato 16ful 14fust 12felkocka 86feny 6, 22fenyelnyelo anyagok 12fenyforras 20fenyforras mintavetelezes 53fenyforrasok 5fenykovetes 66fokusztavolsag 21, 84foresz kiemelese 79

G

Galerkin modszer 50, 75gamma-korrekcionak 20Gauss-Seidel iteracio 71genetikus algoritmus 52geometria 5geometria matrix 74geometriai optika 16globalis 5globalis fontossag szerinti mintavetelezes 52globalis illuminacios algoritmus 12globalis lepes 6globalis modszer 51Gouraud arnyalas 77Grassmann torveny 22gyujti 28

92

Page 95: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

Targymutato 93

gyujtosetak 59gomb 33gombi iranyeloszlas 30

H

Halton-sorozat 43Helmholtz-torveny 15hierarchikus modszerek 30hierarchikus radiozitas 30hullam 30haromszog 33hatso lap 74

I

idealis tukor 16illuminacios gomb 7illuminacios halozatok 30inscattering 12integralformula 41intenzitas 8inverz fenyutkovetes 63inverzio 27irany-fenyforras 20iteracio 27, 30iteracios eljarasok 71

J

jol-elosztott sugar halmazok 30

K

kamera 5, 10kamera parameter 21kameramodell 20kausztikus 63KD-fa 36, 70klaszterezes 30kontrakcio 15kod 12koltseg modellt 37kozep ertek lekepzes 24kepszintezis 5kepszintezis feladat 11ketiranyu fenyutkovetes 67ketiranyu visszaverodes eloszlasi fuggveny 9ketiranyu atviteli matrix 74

L

light-tracing 66linearis skalazas 24lokalis 5lokalis fontossag szerinti mintavetelezes 53lokalis illuminacios algoritmus 12lokalis lepes 6lokalis modszer 51look-up tabla 20lovonek 30lovosetak 64lathatosag fuggveny 9lathatosagi terkep 74

M

maszkolas 18metamer 23Metropolis fenyterjedes 69Metropolis mintavetelezes 52minimalis informacio veszteseg modszer 25Monte-Carlo komponens 79Monte-Carlo modszer 42multiple scattering 13meroeszkozt 5

N

NTSC foszfor 23

O

oktalis fa 36optikai tulajdonsagok 5orosz rulett 55outscattering 12

P

particionalt felgomb 30participating media 12path tracing 63photon tracing 65photon-map 70pont-fenyforras 20pontsorozat diszkrepanciaja 42potencial 10potencial egyenlet 11potencial mero operator 11pupilla 20

R

radiancia 8rasztertar 20ray traversal algorithm with neighbour-links 37, 39ray-casting 60ray-span 34reciprocitas 15recursive ray traversal algorithm 37, 38rendering equation 9RGB 23

S

Schlick lekepzes 25sequential ray traversal algorithm 37Simpson-szabaly 41single scattering 13skalarszorzat 49skalafaktor 10Snellius-Descartes-torveny 8, 16solid angle 7Southwell-iteracio 71splitting 29sugar-koteg 73sugarbejarasi algoritmus a szomszed osszekapcsolasaval 39sugarkovetes 60sugarkovetes illuminacios algoritmusa 12sugarparameter 33sugarsuruseg 6, 8szabalyos racs 41

Page 96: GLOBALIS ILLUMIN´ ACI´ OS´ SZAM´ IT´ ASI M´ ODSZEREK´szirmay/ikta/Dokumentumok/szam.pdf · IKTA-KEPI 00101/2000 projekt´ Szerzod˝ es sz´ amok: OMFB-00179/2001, OMFB-00190/2001´

94 Targymutato

szekvencialis sugarbejarasi algoritmus 37szekvencialis sugarbejarasi algoritmust 37szem 5szomszed osszekapcsolasat hasznalo sugarbejarasi algoritmus

37sztochasztikus iteracio 72suruseg 52

T

tesszellacio 14, 34tone mapping 6, 22tranzilluminacios irany 74trapez szabaly 41tristimulus ertek 22toresmutato 16teglanyszabaly 41terbeli kozepvonal modszer 37terszog 7tul-relaxacio 71tuz 12

V

Van der Corput sorozat 43VEGAS modszer 52virtualis vilag 5visibility ray-tracing 61visszaverodesi torveny 8, 16Voronoi diagram 14veges-elem komponensre 79veges-elem modszer 27, 30, 49

W

Ward skalazo faktora 25wavelet reprezentacio 30

X

XYZ 23