empirijski i prelazni modeli - Zemris - FER

empirijski i prelazni modeli - Zemris - FER empirijski i prelazni modeli - Zemris - FER

zemris.fer.hr
from zemris.fer.hr More from this publisher
05.01.2015 Views

8. Modeli i postupci osvjetljavanja, sjenčanje, sjene PODJELA MODELA OSVJETLJAVANJA I PRIPADNIH POSTUPAKA SJENČANJA EMPIRIJSKI MODELI • temelje se na iskustvu i estetskim aproksimacijama • npr. jednostavni model osvjetljavanja (lokalni) • u postupcima sjenčanja koji ga koriste Gouraud ‘71 i Phong ‘75. PRELAZNI MODELI • uključuju prozirnost, zrcaljenje i sjene, geometrijski egzaktan • npr. Whittedov model ‘80. • koristi se u postupku sjenčanja pretrage zrake (engl. ray tracing) ANALITIČKI MODELI • temelji se na energetskoj ravnoteži • npr. model Cook-Torrancea ‘ 82 i Goralov model ‘ 84. • koristi se u postupku isijavanja (engl. radiosity method) Ž. Mihajlović, ZEMRIS, FER 8-1

8. Modeli i postupci osvjetljavanja, sjenčanje, sjene<br />

PODJELA MODELA OSVJETLJAVANJA I<br />

PRIPADNIH POSTUPAKA SJENČANJA<br />

EMPIRIJSKI MODELI<br />

• temelje se na iskustvu i estetskim aproksimacijama<br />

• npr. jednostavni model osvjetljavanja (lokalni)<br />

• u postupcima sjenčanja koji ga koriste Gouraud ‘71 i Phong ‘75.<br />

PRELAZNI MODELI<br />

• uključuju prozirnost, zrcaljenje i sjene, geometrijski egzaktan<br />

• npr. Whittedov model ‘80.<br />

• koristi se u postupku sjenčanja pretrage zrake (engl. ray tracing)<br />

ANALITIČKI MODELI<br />

• temelji se na energetskoj ravnoteži<br />

• npr. model Cook-Torrancea ‘ 82 i Goralov model ‘ 84.<br />

• koristi se u postupku isijavanja (engl. radiosity method)<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-1


HIBRIDNI MODELI<br />

• integriraju postupak pretrage zrake i postupak isijavanja<br />

• npr. Wallace ‘ 87.<br />

Prema modelu osvjetljavanja u pojedinoj točki računa se osvjetljenje<br />

• interakcija svjetla i površine<br />

• složena priroda svjetlosti i površine (različito reflektiranje raznih valnih<br />

duljina, ista valna duljina različito reflektirana ovisno o kutu)<br />

Sjenčanje (engl. shading) dio je postupka izrade prikaza (engl. rendering).<br />

Izvori svjetla<br />

• točkasti, linijski, poligonalni, reflektori (usmjereni).<br />

Materijali - površine<br />

• hrapave (mat), glatke (sjajne), prozirne<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-2


Svjetlost<br />

• stvaranje modela kako bi mogli ostvariti simulaciju (propagacija svjetlosti i<br />

interakcija s površinom)<br />

– geometrijska optika – skup svjetlosnih zraka – bez mase i dimenzije<br />

refleksija, refrakcija (glatke plohe – zrcalna komp., hrapave - difuzna)<br />

odsjaj jednog objekta u drugom ili samo boje objekta<br />

– fizikalna optika – elektromagnetsko zračenje – širenje vala<br />

difrakcija (ogib svjetlosti), interferencija (npr. dugine boje na CD),<br />

polarizacija svjetlosti (transverzalni val)<br />

– kvantna fizika – skup čestica tj. fotona – ‘paketići’ energije<br />

sudar fotona s elektronom i prijelaz u višu energetsku razinu – boja,<br />

ispodpovršinsko raspršenje<br />

• različiti <strong>modeli</strong> koji aproksimiraju ponašanje svjetla<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-3


8.1. EMPIRIJSKI MODEL OSVIJETLJENJA<br />

( Phongov model)<br />

TRI KOMPONENTE<br />

• ambijentna<br />

• difuzna<br />

• zrcalna<br />

AMBIJENTNA KOMPONENTA<br />

I = k a<br />

I a<br />

• k a koeficijent reflektirane ambijentne svjetlosti (ovisi o materijalu)<br />

• I a intenzitet ambijentne svjetlosti<br />

Reflektiranje svih poligona okolnog prostora. Aproksimacija globalnog osvjetljenja.<br />

Ukoliko ova komponenta nije prisutna stražnji poligoni obzirom na izvor svjetla<br />

bit će crni.<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-4


DIFUZNA KOMPONENTA (engl. diffuse reflection)<br />

LAMBERT-OV ZAKON<br />

Djelić površine dS rasvijetljen je proporcionalno kosinusu kuta pod<br />

kojim snop svjetlosti upada na površinu.<br />

Količina svjetlosti koju vidi promatrač neovisna o položaju promatrača<br />

i proporcionalna je kosinusu kuta između normale na površinu i vektora<br />

prema izvoru.<br />

LIGHTPOSITION<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-5


I<br />

d<br />

= k I cos θ, 0 ≤ k ≤1,<br />

0 ≤θ<br />

≤90<br />

d<br />

p<br />

d<br />

o<br />

• k d<br />

koeficijent difuzne refleksije<br />

• I p<br />

intenzitet točkastog izvora<br />

• θ kut izmeñu normale na površinu i vektora prema izvoru<br />

izvor<br />

l r<br />

θ<br />

n r<br />

I<br />

d<br />

r r<br />

= kd<br />

I<br />

p max ( l ⋅ n ,0)<br />

r<br />

• l normirani vektor prema izvoru svjetlosti<br />

•<br />

r<br />

n normirani vektor normale na površinu<br />

• http://www.cs.brown.edu/exploratories/freeSoftware/repository/edu/brown/cs/exploratories/applets/dotPr<br />

oduct/dot_product_java_browser.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-6


I<br />

=<br />

U praksi moramo uzeti u obzir i udaljenost izvora do površine d L<br />

.<br />

r r<br />

l ⋅ n<br />

kaI<br />

a<br />

+ kd<br />

I<br />

p 2<br />

d<br />

L<br />

I<br />

= k<br />

Bolje rezultate dobit ćemo formulom<br />

a<br />

I<br />

a<br />

+ k<br />

d<br />

I<br />

p<br />

r r<br />

l ⋅ n<br />

d + k<br />

L<br />

• k iskustvena konstanta<br />

I<br />

R<br />

U slučaju potpunog modela boja, komponente se posebno računaju:<br />

r r<br />

l ⋅ n<br />

= kaOdRI<br />

aR<br />

+ kdOdR<br />

I<br />

pR<br />

d + k<br />

L<br />

• O dR<br />

definira komponentu boje objekta<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-7


ZRCALNA KOMPONENTA (engl. specular reflection)<br />

Zrcalna refleksija nastaje na blještavoj površini.<br />

Blještavilo (engl. highlight) obojeno je bojom upadne svjetlosti.<br />

l r n r r θ α<br />

v r<br />

I<br />

s<br />

n r r n<br />

cos α ( ⋅v<br />

)<br />

= ksI<br />

p<br />

= ksI<br />

p<br />

d<br />

L<br />

+ k d<br />

L<br />

+ k<br />

• r<br />

vektor usmjeren u pravcu reflektirane zrake r - reflektirana zraka<br />

• r<br />

v<br />

vektor prema očištu<br />

• α kut između reflektirane zrake i zrake prema očištu<br />

• k s<br />

koeficijent zrcalne refleksije<br />

• n određuje prostornu razdiobu i vezan je uz materijal<br />

•http://micro.magnet.fsu.edu/primer/java/reflection/reflectionangles/index.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-8


u praksi se često koristi vektor h, odnosno produkt hn umjesto<br />

vektora r, odnosno produkta rv<br />

r<br />

v<br />

r<br />

l + v<br />

h =<br />

2<br />

l r n r h r v r<br />

• jednostavno se računa<br />

• ukoliko pretpostavimo da su promatrač i izvor vrlo daleko tj.<br />

vektore možemo smatrati konstantnima, konačna jednadžba ovisit će<br />

samo o normali na površinu<br />

I<br />

s<br />

= k<br />

s<br />

I<br />

p<br />

r<br />

( h ⋅n<br />

)<br />

d<br />

L<br />

r<br />

n<br />

+ k<br />

http://www.cs.princeton.edu/~min/cs426/jar/light.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-9


Za realne blještave površine imamo nepotpunu zrcalnu refleksiju.<br />

(Phong, 1975)<br />

I<br />

s<br />

= k<br />

s<br />

I<br />

p<br />

n<br />

cos α<br />

d + k<br />

L<br />

= k<br />

s<br />

I<br />

p<br />

r<br />

( r ⋅v<br />

)<br />

d<br />

L<br />

r<br />

n<br />

+ k<br />

Funkcija cos n α:<br />

LIGHTMATERIAL<br />

n = 1 n = 15 n = 30 n = 45 n = 60<br />

PLASTIKA ⇔ METAL<br />

http://micro.magnet.fsu.edu/primer/java/reflection/specular/index.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-10


I<br />

Opća jednadžba proračuna osvjetljenja za slučaj m izvora:<br />

r r<br />

r r<br />

( l ⋅ n) I<br />

m<br />

( ⋅v<br />

)<br />

⎡ m<br />

j p,<br />

j<br />

= kaIa<br />

+ ⎢kd∑ + ks∑<br />

⎢⎣<br />

j= d<br />

L,<br />

j<br />

+ k j=<br />

1 1 L,<br />

j<br />

d<br />

j<br />

n<br />

I<br />

+ k<br />

p,<br />

j<br />

⎤<br />

⎥<br />

⎥⎦<br />

I<br />

R<br />

Sjenčanje u boji (primjer komponente crvene boje):<br />

r r<br />

r r<br />

( l ⋅ n) I<br />

m<br />

( ⋅v<br />

)<br />

⎡ m<br />

j p,<br />

j<br />

= kaOdRI<br />

aR<br />

+ ⎢kdOdR∑ + ksOsR∑<br />

⎢⎣<br />

j= d<br />

L,<br />

j<br />

+ k<br />

j=<br />

1 1 L,<br />

j<br />

d<br />

j<br />

n<br />

I<br />

p,<br />

j<br />

+ k<br />

⎤<br />

⎥<br />

⎥⎦<br />

ambijentna difuzna zrcalna ukupno<br />

http://www.cs.technion.ac.il/~cs234325/Applets/applets/shadingmodel/html/index.html<br />

http://wwwcg.in.tum.de/common/applets/Systementwicklungsprojekt.html/phong/Neuer%20Ordner/phong2.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-11


POSTUPCI SJENČANJA<br />

Konstantno sjenčanje<br />

Sve točke površine unutar jednog poligona imaju isti intenzitet.<br />

To znači da je za neki poligon<br />

r r r r<br />

l ⋅ n = konst. ⋅v<br />

= konst.<br />

l r<br />

θ<br />

n r<br />

r r v r α<br />

http://www.neilwallis.com/projects/java/early3d<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-12


određivanje normala u vrhovima:<br />

• odreñivanje normala svih poligonskih površina<br />

• aritmetička sredina normala poligona incidentnih s vrhom<br />

n r 1<br />

2<br />

n r A<br />

n r 3<br />

n r<br />

4<br />

n r<br />

r r v v<br />

v n + n2<br />

+ n3<br />

+<br />

n A<br />

=<br />

4<br />

1<br />

n4<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-13


Gouraud-ovo sjenčanje (interpolacija intenziteta):<br />

• u svakom vrhu poligona računa se intenzitet<br />

I C<br />

n r C<br />

I B<br />

n r<br />

B<br />

n r<br />

D<br />

I D<br />

I<br />

A<br />

n r<br />

A<br />

• dobivene intenzitete linearno interpoliramo<br />

Sjecišta ispitne linije s bridovima neka su Q, R<br />

interpoliranje duž bridova<br />

I<br />

I<br />

Q<br />

R<br />

AQ<br />

= ( 1−<br />

u)<br />

I<br />

A<br />

+ u I<br />

B,<br />

u =<br />

AB<br />

DR<br />

= ( 1−<br />

v)<br />

I<br />

D<br />

+ v IC<br />

, v =<br />

DC<br />

interpoliranje unutar poligona<br />

I R<br />

I C<br />

I B<br />

( 1−<br />

t)<br />

I<br />

P<br />

= I<br />

R<br />

+ t IQ,<br />

t =<br />

RP<br />

RQ<br />

v<br />

I D<br />

t<br />

I<br />

P<br />

I A<br />

u<br />

I Q<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-14


I<br />

I<br />

P1<br />

I<br />

P2<br />

P2<br />

• inkrementalni oblik<br />

=<br />

=<br />

=<br />

( 1−<br />

t1<br />

) I<br />

R<br />

+ t1<br />

IQ,<br />

(1)<br />

( 1−<br />

t2<br />

) I<br />

R<br />

+ t2<br />

IQ,<br />

(2)<br />

I + ( I − I )( t − t ) = I + ∆I<br />

∆t<br />

(2) − (1)<br />

P1<br />

Q<br />

R<br />

2<br />

P1<br />

• nedostatak postupka je Machov vizualni učinak (svijetle i tamne pruge)<br />

•http://www.sandlotscience.com/Guided_Tours/Tour2/Tour2_4.htm<br />

1<br />

http://www.nbb.cornell.edu/neurobio/land/OldStudentProjects/cs490-96to97/anson/MachBandingApplet/<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-15


Phong-ovo sjenčanje (interpolacija normala):<br />

• izračunamo normale u vrhovima<br />

• interpoliramo normale duž bridova<br />

• interpolirmo dobivene normale duž ispitne linije<br />

• intenzitet izračunamo na kraju<br />

n r C<br />

v<br />

n r<br />

D<br />

n r<br />

R<br />

t<br />

n r P<br />

I P<br />

n r<br />

A<br />

n r<br />

Q<br />

u<br />

I Q<br />

n r<br />

B<br />

r r r AQ<br />

n<br />

n ( u)<br />

( 1−<br />

t)<br />

= 1−<br />

n + u n , u =<br />

r<br />

n<br />

Q<br />

R<br />

=<br />

( 1−<br />

v)<br />

r<br />

n<br />

A<br />

D<br />

r<br />

+ v n<br />

B<br />

C<br />

, v =<br />

AB<br />

DR<br />

DC<br />

r r r<br />

P<br />

= nR<br />

+ t nQ<br />

, t =<br />

inkrementalnioblik :<br />

r r<br />

n = n +<br />

P2<br />

P1<br />

RP<br />

RQ<br />

r r<br />

( n − n )( t − t )<br />

Q<br />

R<br />

2<br />

1<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-16


• Phong-ovo sjenčanje je bolje od sjenčanja Gouraud<br />

• sporije je (za svaki slikovni element treba odrediti v, l, r, I )<br />

• umanjuje Mach-ov vizualni učinak<br />

http://olli.informatik.uni-oldenburg.de/Grafiti3/grafiti/flow12/page12.html<br />

http://www.anlonchen.com/cs/CS263Applet/Renderer.html<br />

anizotropni učinak<br />

Složeniji <strong>modeli</strong>:<br />

http://www.graphics.cornell.edu/~westin/multimedia-paper/node9.html#SECTION0006<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-17


Problemi u postupku sjenčanja<br />

• silueta objekta - broj poligona<br />

• rotaciona ovisnost<br />

100<br />

0<br />

0 0<br />

100 100<br />

• normale u vrhovima<br />

100<br />

0<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-18


8.2. PRELAZNI MODELI<br />

WHITTEDOV MODEL OSVJETLJAVANJA<br />

I = k<br />

Intenzitet koji dolazi do promatrača iz točke na površini funkcija je intenziteta<br />

• ambijentne svjetlosti<br />

• difuzno odbijene svjetlosti<br />

• zrcalno odbijene svjetlosti (intenzitet sa susjednih površina kao posebnih izvora)<br />

• lomljena svjetlost<br />

a<br />

I<br />

a<br />

+ k<br />

d<br />

m<br />

∑<br />

i=<br />

1<br />

I<br />

pi<br />

r<br />

( l ⋅ n)<br />

i<br />

r<br />

+ k<br />

+ k<br />

• I pi<br />

intenzitet i-tog točkastog izvora<br />

• k s<br />

koeficijent zrcalnog odbijanja<br />

• I s<br />

intenzitet zrcalno odbijene svjetlosti<br />

• k t<br />

koeficijent lomljene svjetlosti<br />

• I t<br />

intenzitet lomljene svjetlosti<br />

• http://micro.magnet.fsu.edu/primer/java/scienceopticsu/polarizedlight/brewster/index.html<br />

s<br />

I<br />

s<br />

t<br />

I<br />

t<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-19


doprinosi zrcaljenja i loma svjetlosti<br />

v r α<br />

l r n r<br />

i<br />

r α<br />

I s<br />

− n r<br />

I t<br />

I<br />

=<br />

k<br />

I<br />

+ k<br />

m<br />

∑<br />

I<br />

( l ⋅ n)<br />

+ k<br />

+ k<br />

a a d pi i s s t<br />

i=<br />

1<br />

http://www.phy.ntnu.edu.tw/ntnujava/index.phptopic=49.0<br />

r<br />

r<br />

I<br />

I<br />

t<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-20


• postupak se sastoji od određivanja slikovnog elementa pogođenog<br />

zrakom od promatrača (kroz ravninu projekcije) i praćenja zrake dalje u<br />

scenu<br />

• kod svakog pogotka objekta u sceni postupak se rekurzivno nastavlja za<br />

reflektiranu I s<br />

(primarnu zraku) i lomljenu I t<br />

(sekundarnu) zraku<br />

• postupak se završava kada zraka izađe iz scene bez pogotka ili na<br />

unaprijed zadanoj dubini rekurzije (3-10)<br />

• ukoliko postoji prepreka između izvora i točke u kojoj računamo<br />

osvjetljenje tada neki drugi objekt baca sjenu na promatranu točku<br />

I s<br />

l r n r r r v r slikovni el.<br />

u ravnini projekcije<br />

http://www.siggraph.org/education/materials/HyperGraph/raytrace/rt_java/raytrace.html I t<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-21


Određivanje reflektirane i lomljene zrake<br />

• određivanje reflektirane zrake – slično kao kod zrcalne komponente<br />

normiramo vektore (duljina je jedan)<br />

projekcija vektora l na n je vektor p<br />

r<br />

r r r<br />

p ( l n) n<br />

r r r r<br />

( p − l ) + l = p − l<br />

r = θ θ<br />

l r<br />

p r<br />

r<br />

= 2 2<br />

• određivanje lomljene zrake<br />

– Snell-ov zakon loma<br />

n r<br />

r r<br />

sin<br />

sinθ<br />

θ 1 2<br />

n 1<br />

2<br />

n<br />

=<br />

n<br />

1<br />

θ 1<br />

n r<br />

θ 2<br />

n 2<br />

http://micro.magnet.fsu.edu/primer/java/refraction/criticalangle/index.html<br />

http://www.phy.ntnu.edu.tw/ntnujava/viewtopic.phpt=218<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-22


• STABLO ZRAKE<br />

N normala na površinu<br />

R reflektirana zraka<br />

L zraka sjene<br />

T lomljena zraka<br />

• http://www.cs.technion.ac.il/~cs234325/Applets/doc/html/etc/AppletIndex.html (http://www.cs.technion.ac.il/~cs234325/)<br />

• http://www.gris.uni-tuebingen.de/edu/projects/grdev/doc/html/Overview.html<br />

• http://www.cs.technion.ac.il/~cs234325/Applets/NewApplets/experiments/raycasting.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-23


ekurzivna formula za računanje intenziteta<br />

• koeficijenti s oznakom k+1 koeficijenti su konkretne površine<br />

na dubini k+1<br />

I<br />

( k ) ( k + ) ( k + 1) ( k + 1) ( k + 1) ( k + 1)<br />

=<br />

k<br />

a<br />

m<br />

1 r<br />

I<br />

a<br />

+ kd<br />

∑ I<br />

pi i<br />

i=<br />

1<br />

nedostaci postupka<br />

r<br />

( )<br />

( k + 1) ( k + 1) ( k + 1) ( k + 1)<br />

l ⋅ n + k I + k I<br />

• 75-95 % vremena troši se na određivanje sjecišta zrake i poligona<br />

⇒ koriste se minimaks provjere s kvadrima ili kuglama, oktalna stabla,<br />

BSP stabla kako bi se smanjio utrošak vremena na računanje sjecišta<br />

• postupak svejedno ostaje vremenski zahtjevan<br />

s<br />

s<br />

t<br />

t<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-24


nedostaci<br />

• pojava aliasa<br />

⇒ povećano uzorkovanje – 4, 9, po razdiobi, adaptivno)<br />

http://www.povray.org/<br />

http://wwwcg.in.tum.de/fileadmin/user_upload/Lehrstuehle/Lehrstuhl_XV/Teaching/Applets/<br />

applets/raytrace/Tracer.html<br />

http://www.pixellove.eu/wega/<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-25


nema difuzne komp.<br />

difuzna komponenta<br />

zrcaljenje okoliša<br />

proziran objekt<br />

bačene sjene, reflektor<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-26


Kaustika http://graphics.ucsd.edu/~henrik/images/cbox.html<br />

http://www.math.harvard.edu/archive/21a_spring_06/exhibits/coffeecup/index.html<br />

Ž. Mihajlović, ZEMRIS, <strong>FER</strong> 8-27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!