+ All Categories
Home > Documents > Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika...

Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika...

Date post: 19-Oct-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
23
Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry matematiky FEL ČVUT v Praze Abstrakt: Přednáška obsahuje stručný úvod do jedné oblasti počítačové grafiky: do problematiky výpočtů šíření světla v 3D scéně. Formulace matematického modelu a metody řešení: konečné prvky, Monte Carlo metody. 1
Transcript
Page 1: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Petr Olšák: Matematika aplikovaná v počítačové grafice

15. května 2009

Matematická kolokvia katedry matematiky FEL ČVUT v Praze

Abstrakt: Přednáška obsahuje stručný úvod do jedné oblasti počítačovégrafiky: do problematiky výpočtů šíření světla v 3D scéně. Formulacematematického modelu a metody řešení: konečné prvky, Monte Carlometody.

1

Page 2: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Formulace problému: fotit bez foťáku, filmovat bez kamery

↓Kompromisy, zjednodušení: paprsek v celé své délce svítí stejně, . . .

↓Matematický model: diferenciální, resp. integrální rovnice

↓Kompromisy, zjednodušení: diskretizace, aproximace plochy, linearizace

↓Soustava lin. rovnic: obří matice soustavy, nepřesné hodnoty

↓Kompromisy, zjednodušení: iterační numerické metody

↓Výsledek (Je ještě k něčemu? Dočkáme se výsledku? poznáme, že byiterační metoda mohla skončit?)

2

Page 3: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Veličiny používané v matematickém modelu

Φin(S, U) . . . světelný tok (flux) [W] . . . světelná energie dopadajícína plochu S ze směru U za jednotku času (resp. v okamžiku t)

Φout(S, U) . . . světelný tok (flux) [W] . . . světelná energie opouštějícíplochu S do směru U za jednotku času (resp. v okamžiku t)

E(x,U) = lim|S|→0,x∈S

Φin(S, U)|S|

. . . irradiance

. . . ozáření bodu na ploše ze směru U , tj. hustota toku Φin na ploše.

Analogicky: B(x,U) = lim|S|→0,x∈S

Φout(S, U)|S|

. . . radiozita

. . . vyzařování bodu do směru U , tj. hustota toku Φout na ploše.

častěji: E(x) = E(x,Ω), B(x) = B(x,Ω).

3

Page 4: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Abstrakce paprsku (radiance)

Lout(x, ω) = lim|S|→0,x∈S

1cos θ · |S|

(lim

|U |→0,ω∈U

Φout(S, U)|U |

)Analogicky Lin(x, ω).

cos θ zaručuje nezávislost radiance L na normále plochy S.

Radiance [Wm−2 st−1] se dá měřit expozimetrem, je úměrná reakci fo-tocitlivého materiálu (filmu), respektive čidla v digitálním fotoaparátu.

Na celé délce paprsku změříme stejné L.

Integrální formulace předchozího:

Φin/out(S, U) =∫

S

∫U

Lin/out(x, ω) cos θ dω ds

4

Page 5: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Odrazivost materiálu

Uvažujme x ∈ S.∫O

p(ω′, x, ω) dω . . . pravděpodobost, že foton, který dopadl ze směru ω′

na bod x se odrazí do směru O, tj. p(ω′, x, ·) je hustota náhodné veličinypopisující tuto prvděpodobnost.

E(x,O′) =∫

O′Lin(x, ω′) cos θ′ dω′ . . . irradiance bodu x ze směru O′.

Jak se tato energie odrazí?∫O

∫O′

Lin(x, ω′) cos θ′p(ω′, x, ω) dω′ dω

. . . množství E(x,O′), která se odrazila do směru O.

5

Page 6: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Odrazivost materiálu

Φout(S, O) obsahující odraženou energii ze všech směrů je rovna dvěmavýrazům:

Φout(S, O) =∫

S

∫O

∫Ω′

Lin(x, ω′) cos θ′p(ω′, x, ω) dω′ dω ds,

Φout(S, O) =∫

S

∫O

Lout(x, ω) cos θ dω ds

Po „zderivováníÿ Φout(S, O) podle S a podle O dostáváme

Lout(x, ω) cos θ =∫Ω′

Lin(x, ω′) cos θ′p(ω′, x, ω) dω′

6

Page 7: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Odrazivost materiálu

Lokální odrazová rovnice:

Lout(x, ω) =∫Ω′

p(ω′, x, ω)cos θ

Lin(x, ω′) cos θ′ dω′

Funkce fr(ω′, x, ω) =

p(ω′, x, ω)cos θ

se nazývá BRDF (Bidirectional re-

flection distribution function), popisuje odrazové vlastnosti materiálu.

Helmholtz reciprocity: fr(ω′, x, ω) = fr(ω, x, ω′)

Zákon zachování energie:

a(x, ω′) =∫Ω

p(ω′, x, ω) dω =∫Ω

fr(ω′, x, ω) cos θ dω ≤ 1

. . . Funkce a se nazývá odrazivost (albedo) materiálu.

7

Page 8: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Zobrazovací rovnice [J. T. Kajiya, 1986]

K odraženému světlu přičteme vlastní vyzářené světlo a dostaneme lo-kální zobrazovací rovnici:

Lout(x, ω) = Le(x, ω) +∫Ω′

fr(ω′, x, ω)Lin(x, ω′) cos θ′ dω′

Substitucí ω′ → y = ray(x, ω′), dω′ → cos θ′′

‖x− y‖2ds a s využitím toho,

že Lin(x, ω′) = Lout(y,−ω′), dostáváme:

Lout(x, ω) = Le(x, ω)+∫

y∈S

fr(ω′, x, ω)Lout(y,−ω′)V (x, y)

cos θ′ cos θ′′

‖x− y‖2ds,

kde ω′ =y − x

‖x− y‖, V (x, y) =

1 když x vidí y0 jindy

Toto je globální zobrazovací rovnice s neznámou Lout, Fredholmova in-tegrální rovnice, matematický model šíření světla ve scéně.

8

Page 9: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Integrál jako lineární operátor

Při značení TL =∫

S

fr(ω′, ·, ·)L(y,−ω′)V (·, y)cos θ

′ cos θ′′

‖· − y‖2ds,

kde Lout = L, přechází zobrazovací rovnice na

L = Le + TL, tj. (I − T )L = Le

Inverzi operátoru (I − T ) lze zapsat jako Neumannovu řadu:

(I − T )−1 =∞∑

k=0

T k, takže L =∞∑

k=0

T kLe.

Život ale není takto jednoduchý. . .

9

Page 10: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Zjednodušení: difúzní povrch

Předpoklad: povrch a zdroje jsou pouze difúzní, tj. Lout(x, ω) = Lout(x)a fr = %(x)/π, nezávisí na směrech ω, ω′. Zobrazovací rovnice přecházína tvar:

Lout(x) = Le(x) +%(x)π

∫S

Lout(y)V (x, y)cos θ′ cos θ′′

‖x− y‖2ds,

Radiozita B(x) =∫ΩLout(x) cos θ dω = Lout(x)

∫Ωcos θ dω = Lout(x)π

B(x) = Be(x) +%(x)π

∫S

B(y)V (x, y)cos θ′ cos θ′′

‖x− y‖2ds,

B(x) = Be(x) + %(x)∫

S

B(y)G(x, y) ds,

když G(x, y) = V (x, y)cos θ′ cos θ′′

π ‖x− y‖2

10

Page 11: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Diskretizace: radiozitní metoda [C. M. Goral & all, 1984]

Hledá se B po částech konstantní na ploškách Ai (⋃

Ai = S). Funkce B

aproximuje řešení rovnice:

B(x) = Be(x) + %(x)∫

S

B(y)G(x, y) dsy

Uvažuji skalární součin 〈f, g〉 =∫

S

f(x)g(x) ds.

Množina M = ci; ci(x) = 1/|Ai| na Ai, jinde nula tvoří ortonormálníbázi. Bi = 〈B, ci〉 jsou souřadnice B. Aplikuji skalární součin 〈., ci〉 napravou stranu rovnice (kde jsem funkci B(y) nahradil B =

∑j Bjcj a

souřadnice Be značím Ei) a dostávám

Bi = Ei + %i1|Ai|

∫Ai

∑j

Bj

∫Aj

G(x, y) dsy dsx = Ei + %i

∑j

BjFi,j ,

při značení Fi,j =1|Ai|

∫Ai

∫Aj

G(x, y) dsx dsy

11

Page 12: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Radiozitní metoda, form faktory

Fi,j =1|Ai|

∫Ai

∫Aj

G(x, y) dsx dsy je tzv. form factor.

Platí:

Fi,j · energie vyzářená z Ai = energie z Ai, která dopadla na Aj , nebo:

Provedeme půmět Aj na hemisféru kolem Ai a tento průmět promítnemena základnu hemisféry. Pak Fi,j je obsah tohoto dvojího průmětu dělenýobsahem základny hemisféry.

Zřejmě: Fi,j ≥ 0,n∑

j=0

Fi,j ≤ 1.

12

Page 13: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Radiozitní metoda, soustava lineárních rovnic

Bi = Ei + %i

∑j

Fi,jBj .

při značení B = (B1, . . . , Bn)T , E = (E1, . . . , En)

T , lze zapsat problémmaticově jako:

KB = E, kde K = I − diag(%)F =

1− %1F1,1 . . . −%1F1,n−%2F2,1 . . . −%2F2,n−%2F2,1 . . . −%2F2,n

. . . . . . . . .−%nFn,1 . . . 1− %nFn,n

Je dáno E (radiozity zdrojů) a K (obludná matice form faktorů), hledáse B (radiozity všech plošek).

13

Page 14: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Radiozitní metoda, numerické metody

Gaussova eliminace nepoužitelná

Iterativní metody: Jacobiho metoda, Gauss-Seidel, Southwell, . . .

Další možnosti vylepšení (progresivní radiozita, hiearchická radiosita)[M. F. Cohen, 1993]

Problémy:

Dělení na plošky je někde zbytečně jemné, jinde hrubé, způsobuje ne-žádoucí artefakty. Metody: za chodu provádět zjemňování dělení podlepotřeby.

Singularita v geometrickém členu.

Náročnost výpočtu form faktorů.

Velikost matice K.

14

Page 15: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Monte Carlo, Integral estimator [J. von Neumann, S. Ulam, 1944]

Nechť X je náhodná veličina s rovnoměrným rozdělením na V ⊂ Rs. Pak

E(f(X)) =∫

V

f(x)p(x) dx =∫

V

f(x)1|V |dx = I · 1

|V |

Podle zákona velkých čísel, jsou-li x1, x2, . . . , xN vzorky náhodné veličinyX a N je dostatečně velké, pak

E(f(X)).=1N

N∑i=1

f(xi)

Takže I =V

N

N∑i=1

f(xi) odhaduje integrál∫

V

f(x) dx.

15

Page 16: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Monte Carlo, odhad chyby

Hledanou hodnotu integrálu∫

V

f(x) dx označím C. Náhodné veličiny

f(X1), f(X2), . . . , f(XN ) budiž nezávislé. Mají stejnou střední hodnotuE(f(Xi)) = C/|V |. Označím σ2 jejich společný rozptyl. Pak podle cent-rální limitní věty je

1N

∑Ni=1 f(Xi)− C

|V |

σ/√

N→ N(0, 1).

Z tabulky kvantilů N(0, 1) plyne například, že pro velká N je číslo 0,997přibližně rovno pravděpodobnosti:

P

(∣∣∣∣∣1N

∑Ni=1 f(Xi)− C

|V |

σ/√

N

∣∣∣∣∣ < 3)= P

(∣∣∣∣∣ |V |N

N∑i=1

f(Xi)− C

∣∣∣∣∣ < 3σ|V |√N

)

takže na hladině významnosti 0,997 je odhad chyby uvedený v kulaté zá-vorce výše zaručen. Odhad chyby obsahuje

√N ve jmenovateli nezávisle

na dimenzi V .

16

Page 17: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Kasické integrační metody, dimensional explosion

Uvažuji f(x) = kx1 a jmu se to integrovati na 〈0, 1〉S obdélníkovou me-todou pomocí N vzorků. V jednom směru potřebuji n = S

√N vzorků.

Odhad chyby:

12

k

n

1nS

nS =k/2S√

N

Odhad chyby ve jmenovateli obsahuje S√

N , což je pro s > 2 horší nežodhad chyby Monte Carlo metody.

Pro jiné metody (lichoběžníková atd.) stačí volit jinak funkci f (stáles variací k) a odhad dopadne stejně.

17

Page 18: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Integrační metody obecně, Quasi Monte Carlo

Integral estimator I =N∑

i=1

f(xi)w(xi)

Odhad chyby (Koksma-Hlawka Inequality):∣∣∣∣∫V

f(x) dx− I

∣∣∣∣ ≤ |V | · v(f) ·D, kde

v(f) je variace f

D je diskrepance bodů xi v objemu V .

To vede k nápadu dělat pseudonáhodný výběr xi: částečně náhodný a čás-tečně řízený k vylepšení diskrepance. To je podstata metod quasi MonteCarlo.

18

Page 19: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Modifikace Monte Carlo: Importance sampling

Nechť náhodná veličina X má rozdělení s hustotou p na V . Pak středníhodnota náhodné veličiny f(X)/p(X) je:

E

(f(X)p(X)

)=∫

V

f(x)p(x)

p(x) dx =∫

V

f(x) dx = C (hledaná hodnota)

E

(f(X)p(X)

).=1N

N∑i=1

f(xi)p(xi)

(estimátor)

Rozptyl estimátoru je E

((f(X)p(X)

− C

)2)=∫

V

(f(x)p(x)

− C

)2p(x) dx

Kdyby p = f/C, máme nulový rozptyl. Když se p bude funkci f/C„podobatÿ, budeme mít „malýÿ rozptyl a tím i odhad chyby bude lepší.Samozřejmý problém: neznáme C. Stačí ale najít funkci q, kterou umímeintegrovat přes V (integrál označím Cq). Dále chceme, aby q se až nanásobek podobala f a volíme p = q/Cq.

19

Page 20: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Metody sledování paprsku

Scénou se vede paprsek od kamery nebo od zdroje světla a nechá se (vzávislosti na variantě metody) náhodně odrazit od překážky a trasuje sedál. Vyhodnocuje se sbíraná/vysílaná energie podél paprsku. Náhodnépokračování paprsku v místě odrazu odpovídá výpočtu integrálu v od-razové rovnici metodou Monte Carlo.

20

Page 21: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Metody sledování paprsku, výhody, nevýhody

Výhody:

Popis povrchu možný různými grafickými primitivy

Není nutné dodatečné zjemňování

Je možné pracovat s libovolnou BRDF

Malé požadavky na paměť

Řešení není vychýleno (unbiased)

Nevýhody:

Pomalá konvergence

Šum

Pohledově závislý výpočet

21

Page 22: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Metody sledování paprsku, varianty

Od kamery (gathering methods):

Ray tracing: klasická metoda, rekurze s odrazem/lomem jen na zrca-dlech/místech lomu, počítá jen přímé osvětlení. [T. Whitted, 1980]

Path tracing: rekurze do stanovené hloubky, resp. ukončení paprsku me-todou „ruská ruletaÿ. [J. T. Kajiya, 1986]

Od světla (shooting metods):

Photon tracing: rekurze odrazem/lomem jen na zrcadlech/místech lomu.(nepoužívá se)

Light tracing: rekurze do stanovené hloubky, resp. ukončení paprskupodle zbytkové energie.

22

Page 23: Petr Olšák: Matematika aplikovaná v počítačové grafice€¦ · Petr Olšák: Matematika aplikovaná v počítačové grafice 15. května 2009 Matematická kolokvia katedry

Kombinace předchozích metod

Bidirectional path tracing [E. P. Lafortune, I. D. Willems, 1993]

Multiple importance path tracing [E. Veach, 1995]

Photon mapping [H. W. Jensen, 1996]

Další metody:

Precomputed radiance transfer [P. P. Sloan, 2002]

Direct-to-indirect transfer [M. Hašan, 2006]

. . .

23


Recommended