B. Výpočetní geometie a počítačová gafika 9. Pomítání., světlo. Pomítání Převedení 3D objektu do 2D podoby je ealizováno pomítáním, při kteém dochází ke ztátě infomace. Pomítání (nebo též pojekce) je tedy tansfomací z n-ozměného do m-ozměného postou po m < n. V počítačové gafice vystačíme s omezenou množinou pomítacích metod ovnoběžným a středovým pomítáním na jednu půmětnu, jak ukazuje obázek 9.. Základní pojmy: - pomítací papsek je přímka vedená pomítaným (postoovým) bodem, jejíž smě závisí na zvolené pomítací metodě, - půmětna je plocha v postou, na kteou dopadají pomítací papsky a v místě dopadu vytvářejí půmět (obaz v ovině). Ob. 9.: Objekt a jeho půmět vzniklý pomítáním ovnoběžným (vlevo) a středovým (vpavo). Při zobazování postoových objektů následuje po pomítání další zpacování dat nalezení zakytých a viditelných částí objektů, vyhodnocení jejich bavy, nanesení textuy. (Je zvykem používat jako půmětnu ovinu xy.) Rovnoběžné pomítání Při tomto způsobu pomítání jsou všechny pomítací 0 0 0 papsky ovnoběžné. Podle toho, jaký svíají úhel s půmětnou, dělíme ovnoběžné pomítání na pavoúhlé 0 0 0 P xy = (9.) (po úhel 90 ) a kosoúhlé (po ostatní úhly). 0 0 0 0 V počítačové gafice se téměř výhadně používá 0 0 0 pomítání pavoúhlé. Rovnoběžné pomítání je typické po technické aplikace, neboť zachovává ovnoběžnost (viz ob. 9. vlevo). Vzdálenost půmětny od pomítaných objektů neovlivňuje velikost půmětů. Rovnoběžné pomítání do oviny xy kolmými papsky popsanými vektoem ( 0,0, ) představuje jednoduše zanedbání souřadnic z pomítaných bodů. Takovou tansfomaci popíšeme maticí Takto získaný půmět představuje půdoys. Po získání pohledů z jiných směů nejpve nalezneme tansfomaci, kteá objekty posune a otočí do vhodné pomítací polohy nad půmětnu xy. Odpovídající tansfomační matici složíme s maticí ovnoběžného pomítání P xy a výslednou tansfomaci použijeme na všechny postoové objekty. Středové pomítání Při tomto způsobu pomítání vycházejí všechny pomítací papsky z jednoho bodu, kteý nazýváme střed pomítání (viz ob. 9.2). Ve výsledném obazu se sice postoové úsečky zobazí opět do úseček v ovině, obecně však není zachována ovnoběžnost. Vzdálenost objektů od středu B-9 / 8
B. Výpočetní geometie a počítačová gafika pomítání ovlivňuje velikost jejich půmětů, a poto mají vzdálenější objekty menší půměty (viz ob. 9. vpavo). Středové neboli pespektivní pomítání vytváří obazy podobné těm, kteé vidí lidské oko v eálném světě (vzdálenější objekty jsou menší). Vztah po výpočet matice středového pomítání se středem na ose z a půmětnou v ovině xy (viz ob. 9.2). Střed pomítání [ x c, yc, zc ] leží v takovém případě nad půmětnou ve vzdálenosti d = z c a jeho souřadnice zapíšeme zjednodušeně jako [ 0,0, d]. Po daný postoový bod P o Ob. 9.2: Středové pomítání úsečky. souřadnicích [ x, y, z] hledáme souřadnice jeho půmětny P = [ x, y, z ]. Pomítací papsek učený středem pomítání a x = x tx bodem P lze zapsat v paametickém tvau (viz 9.2). y = y ty (9.2) Bod P v půmětně má souřadnici z = 0, takže po paamet t půsečíku pomítacího papsku s půmětnou z = z t( z d ) platí t = z ( z d ). Po dosazení do ovnic (9.2) učíme zbylé dvě souřadnice půmětu d d [ x y, ] = x, y = x, y. (9.3) d z d z z d z d Tuto tansfomaci je možné zapsat v maticovém vyjádření pomocí homogenních souřadnic bodů jako 0 0 0.[ ] = [ ] 0 0 0 x y z w x y z (9.4) 0 0 0 d 0 0 0 z Váha w bodu P v půmětně není tentokát ovna jedné, ale nabývá hodnoty w =. d Chaakteistickým ysem středového pomítání je to, že nezachovává ovnoběžnost úseček. Půměty úseček, ovnoběžných v 3D postou, jsou obecně mimoběžné. Výjimkou jsou postoové úsečky, ležící v ovině ovnoběžné s půmětnou. Ačkoliv může mít půmětna libovolnou polohu, z paktického hlediska se ozlišují tři případy, odpovídající oientaci půmětny vůči osám souřadnicového systému:. jednoduchá pespektiva vzniká, když půmětna potíná jednu souřadnicovou osu. To je případ na ob. 9.2. Všechny úsečky kolmé na půmětnu míří do jediného bodu, kteý se nazývá hlavní úběžník. 2. dvoubodová pespektiva vznikne, pokud půmětna potíná dvě ze souřadnicových os. Hany osobě oientovaných kvádů směřují do dvou hlavních úběžníků, jak ukazuje ob. 9.3 upostřed. 3. tojbodová pespektiva je nejobecnější případ, kteý vzniká, pokud půmětna pomítá všechny tři souřadnicové osy (ob. 9.3 vpavo). Potažením han osově oientovaných kvádů můžeme vysledovat tři hlavní úběžníky. Ob. 9.3: Středové pomítání jednobodové, dvoubodové a tojbodové. B-9 2 / 8
B. Výpočetní geometie a počítačová gafika Pohledový objem Pohledový objem je oblast postou, ohaničující ty objekty, kteá mají být podobeny pomítání. Veškeé ostatní objekty musí být před dalším zpacováním odstaněny, esp. ořezány. Ořezání pohledovým objemem je znázoněno na ob. 9.4. U středového pomítání je objemem komolý jehlan, u ovnoběžného kvád. Úhly při vcholu jehlanu by měly odpovídat šíři záběu lidského oka. Dvě významné stěny pohledového objemu se nazývají přední a zadní omezující ovina. Při ořezání pohledovým objemem zajišťují tyto oviny odstanění příliš blízkých objektů bánicích ve výhledu a příliš vzdálených objektů, kteé jsou z hlediska pozoovatele nezajímavé a jejichž zpacování zpomaluje poces zobazování. Na obázku 9.4 je poloha přední ořezávací oviny shodná s polohou půmětny. Ob. 9.4: Ořezání podle pohledového objemu při pomítání ovnoběžném (vlevo) a středovém (vpavo). Pohledové tansfomace Postup zobazování objektů má několik fází:. tansfomace objektu z obecné polohy do pomítací polohy podle zadaných paametů pomítací metody, 2. ořezání pohledovým objemem, 3. pomítnutí do oviny a případná změna měřítka podle velikosti zobazovacího okna. Výše uvedené koky společně nazýváme pohledové tansfomace. V pvním koku je potřeba zvolit způsob pomítání a umístění půmětny. Z hlediska uživatele je zadávání polohy půmětny např. pomocí souřadnic tří bodů v půmětně obtížné. Vhodnější je zadat tzv. stanoviště pozoovatele a vekto kolmý na půmětnu (smě pohledu). Stanoviště pozoovatele V = x, y, z. Tento bod je při nazveme [ ] v v středovém pomítání totožný se středem pomítání. Abychom učili vekto kolmý k půmět-ně, použijeme příměu s fotoapaátem. Umístění fotoapaátu je dáno bodem V. Půmětna je ovnoběžná s exponovaným filmovým políčkem. Vekto kolmý na půmětnu lze zadat buď přímo vektoem nebo pomocí dvojice úhlů nazývaných azimut a zenit (jak naznačuje ob. 9.5). Azimut učuje odchylku směu pomítání od osy y měřenou v ovině xy, zenit učuje úhel od záponé poloosy z. Azimut se udává v ozsahu 0-360, zenit nabývá hodnot od 0 po pohled dolů, přes 90 po vodoovný pohled až po 80 po pohled vzhůu. B-9 3 / 8 v Ob. 9.5: Zadání stanoviště pozoovatele V a polohy půmětny pomocí azimutu a zenitu. Světlo Teoie světla Viditelným světlem nazýváme úzké fekvenční pásmo elektomagnetického spekta v oblasti 0 4 Hz. Každá fekvence uvnitř viditelného pásma odpovídá učité bavě. Na spodní hanici je čevená a přes oanžovou, žlutou, zelenou, modou až po fialovou na honí hanici. Světelný zdoj (slunce nebo žáovka) vysílá papsky všech fekvencí v daném pásmu, kteé se tak skládají ve výsledné bílé světlo. Toto světlo se nazývá achomatické.
B. Výpočetní geometie a počítačová gafika idské oko eaguje nejen na bavu, ale i na další podněty: jas, případně svítivost, odpovídá intenzitě světla; čím vyšší je intenzita světla, tím se jeví zdoj jasnější sytost udává čistotu bavy světla; je tím vyšší, čím užší je fekvenční spektum světla světlost učuje velikost achomatické složky ve světle s učitou dominantní fekvencí Osvětlovací model Dopadne-li světelný papsek do bodu na povchu tělesa, po odazu se ozptýlí obecně do všech směů. Matematická funkce vyjadřující intenzitu papsku ozptýleného světla v závislosti na jeho směu a na směu, intenzitě a vlnové délce dopadajícího papsku se nazývá odazová funkce a je základem osvětlovacího modelu. Pomocí osvětlovacího Ob. 0.:Odaz papsku na povchu tělesa. modelu můžeme postihnout vlastnosti jako bava, lesklost, apod. Uvažujme situaci na ob. 0.. Světelný papsek ze zdoje dopadá do bodu P a po odazu je část ozptýleného světla zachycena pozoovatelem. Směové jednotkové vektoy, V, N leží na přímkách dopadajícího papsku, směu pohledu a nomály povchu. Baevné složení dopadajícího světla, epezentované tojsložkovým vektoem (např. v postou RGB), označíme I (light), složení odaženého světla I V (viewe). Nomálou N budeme dále nazývat jednotkový vekto kolmý v daném bodě k povchu. Povch tělesa není nikdy dokonale hladký a při velkém zvětšení je vidět, že je tvořen dobnými ploškami, jejichž velikost a tva jsou dány složením konkétního mateiálu. Individuální papsek může po dopadu opustit povch dvěma způsoby. Buď se okamžitě zcadlově odazí od někteé z plošek nebo je podoben vícenásobnému odazu a lomu. Intenzita odaženého světla odpovídá vztahu I V = I S + I D, kde I V je intenzita odaženého světla, I S je zcadlová intenzita (základní chaakteistikou je směovost) a I D je difúzní intenzita (nezáleží na směu pohledu; po vícenásobném odazu bude smě papsku náhodný; závisí na úhlu dopadu). Pouze zcadlový odaz mají čistá zcadla, pouze difúzní odaz nastává u ideálně matných mateiálů, jakými jsou např. umělé hmoty. Fyzikálně založené osvětlovací modely Modely vycházejí z dvousměné distibuční funkce, kteá popisuje odaz světla od povchu těles. Funkce je definována pomocí fyzikální veličiny nazývané zářivost označované jako ( x,ω ). Zářivost je světelná enegie opouštějící bod X ve směu ω vztažená na jednotkovou plochu a jednotkový postoový úhel. Její hodnota je vždy kladná. x,ω x,ω a vlastní zářivost Dalšími veličinami jsou ozáření i ( ), odažená zářivost ( ) ( x,ω e ). Ozáření (někdy též vstupní zářivost) i je definováno jako zářivost dopadající ze směu ω do daného bodu x. Část vstupní zářivosti je odažena a vyzářena jako odažená zářivost Pokud je těleso zářičem (zdojem světla), je dále chaakteizováno nenulovou vlastní zářivostí (Dále se předpokládá odaz světla na objektech bez vlastní zářivosti =. Dvousměná distibuční funkce je definována jako i ( ) ( x, ωi ) f x, ωi, ω = (0.) ( x, ω ) cosθ idω i Jinak řečeno, dvousměná distibuční funkce je definována jako pomě zářivosti odažené od povchu tělesa v bodě x ve směu ω a difeenciálního ozáření ze směu ω i, jež tuto odezvu vyvolalo... e B-9 4 / 8
B. Výpočetní geometie a počítačová gafika Důležitou vlastností dvousměové distibuční funkce je to, že její hodnota se nezmění, zaměníme-li směy dopadajícího a odaženého záření. Platí poto f ( x, ω i, ω ) = f ( x, ω, ωi ). Tento vztah se nazývá Helmholzův pincip ecipocity. Empiické osvětlovací modely Nejčastěji používané empiické vztahy po výpočet odaženého světla navhl Phong, původně pouze po monochomatické světlo. Jeho vzoce se dají stejně dobře použít po světlo baevné. Zcadlová složka je vyjádřena jako I I V R, (0.2) S = S ( ) h kde I epezentuje baevné složení dopadajícího papsku, V je jednotkový vekto pohledu (ob. 0.). Vekto R je symetický k vektou podle nomály lze jej vypočítat ze vztahu R = 2 ( N ) N. Koeficient zcadlového odazu S učuje míu zastoupení zcadlové složky v celkově odaženém světle. Tento koeficient je tojsložkovým baevným vektoem. Koeficient h je skalání a vyjadřuje ostost zcadlového odazu. Udává se v ozmezí,. Pokud je V R < 0, je pozoovatel vzhledem k zcadlu ve stejné části postou jako zdoj světla, takže nemůže odaz vidět. Tehdy přiřadíme koeficientu I S nulový vekto vyjadřující čenou bavu. Množství zcadlově odaženého světla nabývá maxima tehdy, když smě dopadu a smě pohledu svíají s povchem totožné úhly. (dokonalé zcadlo má h =. Vztah po difúzní složku má tva I = ( N D I D ), (0.3) Kde D je koeficient difúzního odazu, tojsložkový baevný vekto. Vztah má smysl pouze po N > 0, neboť v opačném případě je povch odvácen od světla a koeficient I D je nulový. Celkově odažené množství světla se z paktických důvodů obohacuje ještě o třetí složku, kteá představuje odaz blíže nespecifikovaného, ze všech směů přicházející okolního světla. Tato složka se nazývá ambientní a značí se I A. Odaz ambientního světla vyjádříme vztahem I A = I a. A, kde I a vyjadřuje množství okolního světla. Tato veličina bývá v empiických osvětlovacích modelech konstantní po celou scénu, podílí se tedy stejným způsobem na osvětlení všech povchových bodů. Baevný koeficient A vyjadřuje schopnost povchu odážet okolní světlo a bývá pakticky totožný s koeficientem D z ovnice (0.3). Sečtením složky zcadlové, difúzní a ambientní získáme vztah po celkové světlo vnímané pozoovatelem na povchu objektu I V = I S + I D + I A. (0.4) Je-li dán bod na povchu, jehož osvětlení vyšetřujeme, přičteme po něj složku I A pouze jednou na ozdíl od I S, I D, kteé se přičtou po každý světlený zdoj. Dopadají-li tedy do bodu P papsky z M světelných zdojů, bude platit M h I = I + I V R + N (0.5) V a A k = k [ S ( k ) D ( k )] Tato ovnice se nazývá Phongův osvětlovací model. Jedná se o empiicky nalezený výaz, kteý nemá přímý vztah k fyzikální podstatě šíření a odážení světla. om světla V počítačové gafice je třeba umět zobazit i tělesa, kteými světlo pochází. Ta jsou buď zcela půhledná nebo polopůhledná, půsvitná. Při půchodu světla půhledným objektem, např. sklem, dochází k lomu světla, při půchodu polopůhledným postředím je světlo ozptylováno. Dopadne-li papsek na ozhaní dvou postředí, ozdělí se na odažený a lomený. Na ob. 0.2 je, esp. T, jednotkový vekto směu dopadajícího, esp. lomeného papsku, N je nomála a esp. Θ T je úhel dopadu, esp. lomu. Θ, B-9 5 / 8
B. Výpočetní geometie a počítačová gafika Papsky leží spolu s nomálou povchu v jedné ovině a splňují Snellův zákon lomu sin Θ nt =, (0.6) sin Θ n T kde n, esp. n T je absolutní index lomu postředí, ve kteém se šíří dopadající, esp. lomený papsek. Šíří-li se papsek z hustšího postředí do řidšího ( n > nt ) nabývá vztah (0.6) hodnoty menší než. K totálnímu odazu (situace, kdy žádné světlo ozhaním nepojde a všechno se odazí) dochází při kitickém úhlu dopadu, po něhož platí sin Θ = n n. T Ob. 0.2:Odaz papsku na povchu tělesa. Světelné zdoje Světelný zdoj je chaakteizován tím, že pouze emituje světelné záření. Další důležitou vlastností světelných zdojů je to, že v počítačové gafice jim nepřísluší žádný geometický tva jsou tedy nehmotné a samy o sobě nezobazitelné. U někteých světelných zdojů uvažujeme apoximaci útlumu intenzity světla pocházejícího homogenním postředím. Intenzita světla I klesá se vzdáleností od zdoje světla podle vztahu I =, 2 (0.7) k + k + k 2 k2, 3 kde k, k3 jsou koeficienty po konstantní, lineání a kvadatickou závislost útlumu na vzdálenosti.. Bodový zdoj Světlo se z něj šíří ovnoměně a se stejnou intenzitou do všech směů. Toto světlo podukuje pouze osté hanice stínů a nachází své uplatnění zejména v metodě sledování papsku a ve Phongově osvětlovacím modelu. Bodový světelný zdoj je jednoznačně učen svou intenzitou a polohou. Ob. 0.3:Zleva bodový zdoj světla, zdoj ovnoběžného světla a plošný zdoj světla. 2. Zdoj ovnoběžného světla Po tento zdoj světla je chaakteistické, že papsky z něj emitované jsou ovnoběžné. Je učen světelnou hustotou na povchu plochy, esp. intenzitou světelného zdoje v nekonečnu a směem. Intenzita tohoto zdoje obyčejně neklesá se vzdáleností, ale zůstává v celém postou konstantní. Příkladem ovnoběžného světla je sluneční záření dopadající na Zemi. Vzhledem ke vzdálenosti Země od Slunce můžeme dopadající papsky považovat za ovnoběžné. B-9 6 / 8
B. Výpočetní geometie a počítačová gafika 3. Plošný zdoj Tento typ světelného zdoje se nejvíce podobá eálným zdojům, jakými je např. zářivka či okno, kteým poudí světlo do místnosti. Je definován jako oientovaný polygon chaakteizovaný vlastní zářivostí e. Plošné zdoje se používají především v metodě adiozity a jejich zpacování je spojeno s vysokými výpočetními náoky. 4. Reflekto Reflekto je směově závislý zdoj světla, kteý je učen polohou a oientací, tj. směem, kteým září. Jeho světelná intenzita je maximální ve směu, kteým září, a kolmo k tomuto směu klesá exponenciálně. Geometicky lze chápat takovýto světelný zdoj jako kužel, v jehož vcholu je směový bodový světelný zdoj. Ob. 0.4:Jednoduchý eflekto (vlevo) a eflekto s jasným středovým svazkem (vpavo). Reflekto se středovým svazkem jsou v podstatě dva kužely se stejným vcholem. Vnitřní kužel o menším poloměu představuje svazek jasného světla, jehož intenzita klesá pouze se vzdáleností od vcholu, nikoliv se vzdáleností od osy kuželu. Vnější kužel učuje hanici, za kteou světlo z eflektou vůbec nedopadá. V oblasti mezi vnitřním a vnějším kuželem je světlo tlumeno s ohledem na vzdálenost od osy. 5. Tabulka Tímto způsobem lze definovat směový bodový zdoj. Zápis pomocí tabulky učuje množství světla v závislosti na úhlu a vzdálenosti od světelného zdoje. Světelný zdoj je tedy zadán polohou a oientací. 6. Obloha Nejkomplikovanější světelný zdoj používaný v počítačové gafice. Obloha je popsána jako zdoj ovnoběžného světla ve tvau polokoule s nekonečným poloměem. ibovolný bod oblohy září tedy jako zdoj ovnoběžného světla. Zářivost bodu P na zcela pokyté obloze (funkce zataženo ) se vypočítá podle vztahu + 2cos Θ ( Θ) = z, (0.8) 3 kde z je zářivost nejvyššího bodu oblohy (zenitu) a Θ je úhel mezi Ob. 0.5:geometie používaná při výpočtu zářivosti bodu na obloze. B-9 7 / 8
B. Výpočetní geometie a počítačová gafika hoizontem a bodem P. Je vidět, že intenzita je stejná na všech místech se stejnou úhlovou souřadnicí Θ, je tedy konstantní v kuzích ovnoběžných s obzoem. Bod P o souřadnicích [ Θ,γ ] na čisté obloze se sluncem (funkce jasno ) se vypočítá podle složitého vztahu 3γ 2 0,32sec Θ ( ) ( 0,9 + 0e + 0,45cos γ )( e ) Θ, γ = z, 3α 2 (0.9) 0,274( 0,9 + 0e + 0,45cos z0 ) V tomto vztahu je z zářivost zenitu, γ je úhel mezi sluncem a vyšetřovaným bodem P, Θ je úhel mezi zenitem a bodem P, z 0 je úhel mezi zenitem a sluncem a α je úhel γ pomítnutý do oviny hoizontu. Úhel γ může být vypočítán ze z 0, Θ a α podle γ = accos( cos z 0 cos Θ + sin z0 sin Θsinα ). (0.0) Stínování Pomocí stínování lze odlišit případné křivosti a zaoblení ploch, a docílit tak přiozeného vzhledu postoových objektů přesto. Někteé duhy stínování dokonce umožňují opticky vyhladit povchy, kteé jsou modelovány sítí ovinných plošek, takže přestanou být znatelné dobné haniční zlomy. Konstantní stínování Tato metoda je velmi ychlá a jednoduchá. Používá se po zobazování ovinných ploch nebo obecných ploch apoximovaných ovinnými záplatami. Předpokládá, že každá plocha má jen jedinou nomálu. Není-li nomála implicitně obsažena v datech postoového modelu, lze ji u konvexních ovinných plošek učit jako výsledek znomovaného vektoového součinu dvou sousedních han (oientovaných poti smyslu pohybu hodinových učiček). Podle nomály je vypočítán jeden baevný odstín, kteý je po asteizaci plochy přiřazen všem jejím pixelům. Konstantní stínování je používáno tam, kde je třeba docílit vysoké ychlosti zobazení. Z tohoto důvodu se často při vyhodnocení osvětlovacího modelu vynechává složka zcadlového odazu. Po kesby mnohostěnu je tento způsob stínování postačující a úspěšně znázoňuje umístění a natočení těles v postou. U obecnějších těles je konstantní odstín plošek negativním jevem, potože místo zkvalitnění obázku zdůazňuje, že oblý povch je ve skutečnosti jen apoximován skupinou plošek. Gouaudovo stínování Je vhodná po stínování těles, jejichž povch je tvořen množinou ovinných plošek. Po činnost algoitmu je důležitá znalost bavy všech vcholů zpacovávané plochy. K ozhodnutí, kteé nomály ploch zařadíme do výpočtu, nám pomůže znalost typů han obsažená v modelu tělesa. Haniční epezentace by měla u každé hany udžovat infomaci o tom, zda je hana ostá (tedy skutečná) nebo pouze pomocná (tedy spojující dvě záplaty). Při výpočtu nomály pomocí součtu vektoů budeme zpacovávat jen ty plochy, kteé jsou spolu spojeny pomocnými hanami. Bavu v podobě tojsložkového vektou (, g, b) můžeme intepolovat po jednotlivých složkách. Phongovo stínování Tato metoda je učena k plynulému stínování těles, jejichž povch je tvořen množinou ovinných ploch. Metoda vychází ze znalosti nomálových vektoů ve vcholech stínované plochy. Z nich však nejsou pouze vypočítány baevné odstíny ve vcholech, ale jsou použity k učení nomálových vektoů ve vnitřních bodech plochy bilineání intepolací. Phongovo stínování je tedy založeno na intepolaci nomálových vektoů. Metoda má velké časové náoky neboť osvětlovací model je vyhodnocován v každém bodě plochy. B-9 8 / 8