Jak se algoritmy učí kreslit: Počítačový obraz reálného světa

Matematika |

Zdálo by se, že dokonale realistického obrazu lze nejsnáze a zároveň nejpřesněji dosáhnout prostou fyzikální simulací vyzařování fotonů ze zdrojů a jejich pohybu a rozptylování na scéně.




***pravidelné páteční přetištění staršího článku

Syntéza obrazu (v literatuře někdy označovaná anglismem renderování či rendering) představuje významné odvětví počítačové grafiky. Počítačová tvorba obrazu napodobujícího do určité míry reálný svět, kterou z širšího hlediska počítačové grafiky můžeme chápat jako speciální případ počítačové vizualizace dat, představuje jeden ze základních pilířů při tvorbě počítačových her, programů pro tvorbu grafiky i animací a CAD/CAM či GIS systémů.

Realistická počítačová kresba nachází uplatnění při výrobě filmových efektů, simulaci různých fyzikálních jevů, v architektuře či ve vojenství a samozřejmě ve všech formách projektů virtuální reality.
Nehledě na účel a kontext využití syntézy obrazu v různých druzích aplikací je počítači svěřený úkol vždy prakticky týž: na základě zadaného počítačového modelu vytvořit čistě počítačovými prostředky obraz pokud možno nerozeznatelný od fotografie téhož objektu nebo situace v reálném světě. V tomto textu se nebudeme zabývat jinými souvisejícími úlohami, jako je zpracování nebo úprava existujících obrazových záznamů, ale pouze jejich vytvářením pomocí počítače (i když i realistická tvorba obrazu se může pochopitelně opírat o data z reálného světa, například fotografie nebo filmy textur, nasnímaná vektorová data modelů či animací, případně změřené fyzikální parametry objektů).

Rychlost vs. věrnost

Vznik (výpočet) obrazu v počítači může probíhat řadou různých algoritmických postupů; zvolený způsob výpočtu má pak zásadní vliv na dobu běhu, grafickou kvalitu a věrnost vytvořeného obrazu.
Při praktickém použití jde většinou o to zvolit přijatelný kompromis mezi rychlostí na jedné straně a kvalitou grafického výstupu na straně druhé. Jako jednotící měřítko pro měření kvality jednotlivých metod lze pak využít srovnání s reálným světem – tedy zkoumat, nakolik určitá metoda respektuje zákony optiky a vlastnosti lidského zraku, které optické jevy a jak věrně je schopna vystihnout.
Práci počítačového programu při tvorbě obrazu lze srovnat s činností fotoaparátu při pořizování snímku. Hlavní rozdíl spočívá samozřejmě v tom, že zatímco osvit filmu je uskutečňován skutečným světlem dopadajícím skrz optickou soustavu objektivu, při počítačové syntéze obrazu mají všechny tyto složky (světlo, objektiv i cílové záznamové médium) charakter virtuální, existující jenom jako modely při běhu grafického programu.

Nutnost statistiky

Fotony dopadající v reálném světě do oka nebo do objektivu fotoaparátu přicházejí z vnějšího prostředí, ve kterém se odráží a rozptyluje světlo přírodních nebo umělých světelných zdrojů (např. slunce, hvězdy, oheň, svítidla).
Zdálo by se, že dokonale realistického obrazu lze nejsnáze a zároveň nejpřesněji dosáhnout prostou fyzikální simulací vyzařování fotonů ze zdrojů a jejich pohybu a rozptylování na scéně. V běžném prostředí je však obraz bohužel spoluvytvářen obrovským množstvím částic (řádově 10 exp 30 fotonů), což je stále zcela mimo možnosti současné výpočetní techniky. Je navíc zřejmé, že do drobného lidského oka dopadá pouze nepatrný zlomek fotonů pohybujících se scénou, takže taková simulace by byla nanejvýš neekonomická.
Dokonalá simulace pohybu fotonů by navíc vyžadovala mikroskopicky přesný popis struktury všech zúčastněných povrchů, případně dokonce prostředí, v němž se světlo pohybuje (obvykle vzduch). I to je pochopitelně mimo možnosti dnešních počítačů. Lidské oko ani film ovšem neregistrují každý dopadající foton zvlášť. Rozptylování světelného toku na površích scény lze díky velkému počtu procházejících fotonů dobře modelovat pomocí matematické statistiky a teorie pravděpodobnosti. Pro zvolené místo povrchu lze pak popsat charakter náhodného rozdělení, podle jehož zákonů se v daném bodě rozptýlí světlo dopadající z určitého směru.

Zobrazovaní rovnice

Charakter povrchu je v matematickém modelu zobrazované scény reprezentován určitým tvarem této tzv. rozptylovací funkce (v literatuře se označuje jako BRDF, binary reflection distribution function, obousměrná distribuční funkce odrazivosti). Pro lesklé povrchy má funkce výrazné maximum odpovídající zrcadlovému odrazu dopadajícího světla; naproti tomu povrchy matné světlo rozptylují rovnoměrněji, mikroskopická struktura takových povrchů způsobuje, že fotony se od nich odrážejí v libovolných směrech víceméně nezávisle na směru dopadajícího světla.
Matematicky lze tyto zákony shrnout do tzv. zobrazovací rovnice, což je integrální rovnice umožňující vypočítat energetické poměry toku světla ve scéně a tím zároveň i určit, co ze zvoleného místa uvidí pozorovatel.
Zobrazovací rovnice je ovšem stále příliš složitá na to, aby ji bylo možno přesně vyřešit; základním úkolem realistického zobrazování se pak vhodně zvolit, které její části je možno zanedbat a rovnici zjednodušit natolik, aby umožňovala výpočet v rozumném čase. V závislosti na dostupném výkonu výpočetní techniky lze pak podle požadavků na rychlost a věrnost zvolit některou ze zobrazovacích metod, která světelné poměry ve scéně vyřeší a tím umožní výpočet realistického obrazu.
Složitost výpočtu se dělí na dvě základní složky: výpočet geometrie (výpočty související s tvarem a umístěním objektů ve scéně) a výpočet osvětlení (určení osvětlení objektů scény na základě údajů o zdrojích světla a struktuře povrchů). Metody realistické syntézy obrazu lze pak rozdělit mj. na základě toho, v jaké míře a jakou metodou zjednodušují a provádějí tyto dva základní výpočty.

2. díl seriálu
http://www.scienceworld.cz/sw.nsf/ID/F5D83D770A4C4D53C1256EAE00476723?OpenDocument&cast=1

3. díl seriálu
http://www.scienceworld.cz/sw.nsf/ID/2E6F17AC649C298BC1256EAE0047A754?OpenDocument&cast=1








Související články




Komentáře

Napsat vlastní komentář

Pro přidání příspěvku do diskuze se prosím přihlašte v pravém horním rohu, nebo se prosím nejprve registrujte.