Hlavní navigace

Grafika v UNIXu - fraktály, animace, holografie, 3D galerie

2. 4. 2002
Doba čtení: 5 minut

Sdílet

V dnešním posledním dílu dokončíme téma 3D grafiky. Dozvíme se o použití fraktálů, o možnostech animace, o urychlujících metodách a o počítačové holografii. Seriál o grafice v UNIXu ukončíme malou otevřeně kódovou obrazovou přílohou.
Fraktály v grafice
Tabulka č. 266

Arches
Fraktály mimořádně zvyšují věrohodnost scény.
Obrázek byl vytvořen pomocí demonstranční scény Arches od Dana Farmera z programu Persistence of Vision™ Ray Tracer (PovRay)

Klasickým problémem, se kterým se potýká jednoduché fotorealistické zobrazení, je nevěrohodná dokonalost zobrazených objektů – nikde žádná šmouha, vše je dokonale pravidelné. Matematika si naštěstí ví rady i zde – objevila zvláštní funkce, které, ač jsou deterministické, vykazují známky nepředvídatelnosti. Těmto funkcím se říká fraktální a s nástupem počítačové grafiky se staly oblíbeným objektem zobrazení. Fraktály bývají většinou popsány jako oblast konvergence nějaké operace nebo rekurzivní definicí. Vlastnosti vzniklého objektu se mění od místa k místu, a proto vypadá fraktálová textura nepravidelně.

Použití fraktálů v počítačové grafice je velmi široké – některé fraktály mají zajímavý vzhled samy o sobě a stačí vybrat rozsah zobrazených hodnot. Další jsou dobrým námětem pro animace (změna parametrů fraktálu v čase dokáže vytvořit krásné animace). Největší uplatnění však mají ve 3D grafice – pomocí fraktálů lze generovat mraky, stromy i textury nepravidelných povrchů. Pro grafické zobrazení je zajímavý nejen vlastní fraktál, ale i rychlost konvergence funkce v okolí fraktálu.

Porozhlédnete-li se po možnostech GIMPu, zjistíte, že fraktály jsou základem mnoha modulů. Na ukázce vidíte Man'o'warův fraktál vytvořený pomocí Badatele fraktálů.

Man'o'warův fraktál

Ambientní osvětlení

U trasovacích programů se často definuje ambientní osvětlení. Jedná se o světlo, přicházející ze všech stran z okolí scény, není-li zastíněno. Většinou bývá stejnoměrné, ale lze jej i modulovat např. texturou.

Animacechodící robot

Základním typem animace je změna vzájemné polohy objektů v čase. Objekty se na scéně pohybují podél cesty. Cesta bývá většinou určena parametrickou Bézierovou křivkou, která udává polohu tělesa v čase. Další parametrická funkce může udávat rotaci tělesa v čase. Běžné je též určení rotace dvěma speciálními způsoby – konstantním natočením v prostoru nebo natočením po směru cesty.

Podobně, jako existuje vyhlazování (antialiasing) objektů v prostoru, či naopak rozostřování podle hloubky ostrosti, existuje takové rozšíření i v animacích – rozmáznutí pohybem (motion blur). To dává mnohem věrohodnější dojem rychlého pohybu než sled ostrých statických obrázků.

CAD aplikace používají pro animace speciální schémata, která popisují možnosti vzájemné polohy mezi jednotlivými objekty. Ta pak slouží nejen k animaci, ale též ke sledování funkčnosti modelovaného zařízení.

Ukázka z demonstrančního programu Walker od Kanishky Agarwala, Philipa Winstona a Rana Libeskind-Hadase z knihovny GLUT.

Dynamicky modelované objekty

U některých objektů prostá změna polohy nestačí. Zde se používá dynamické modelování. Existuje velké množství jednoúčelových algoritmů dynamicky modelujících různé objekty.animovaná tvář

Například u obličeje se používá modelování svalových úponů. Pohyb se v zadaném poměru přenáší z místa úponu podle na okolní body triangulace. Pokud jste pozorně prohlédli drátový model obličeje v devětadvacátém dílu, mohli jste si všimnout podivných černých čar – jednalo se právě o úpony – model obličeje z projektu Face je totiž pohyblivý. Program Face z knihovny GLUT. Š A. K. Peters, Mark Kilgard; David G. Yu. Ukázka změny napětí tří svalů.

Podobně se pro dynamické modelování těla používá simulace kostry. Různě náročné algoritmy pak převádějí dobře vypočítatelné pohyby kostry na mnohem hůř vypočítatelné pohyby povrchu těla.

Do jiné kategorie patří simulace pružných objektů (např. srážka dvou gumových koulí). Jejich simulace není již jen otázkou 3D algoritmů, ale i algoritmů pro dynamiku pružných těles. Naopak u nepružných těles a kapalin přijde ke slovu hydrodynamika.

Poslední skupinou, o které se zde zmíníme, jsou chlupy a vlasy. Pro 3D algoritmy jsou opravdovým oříškem. Jednoduché modely simulují vlasy a chlupy pomocí textur. Takové simulace se používají hlavně v interaktivních hrách. Na druhé straně škály jsou algoritmy, které počítají pohyb každého chlupu zvlášť – nejdříve spočítají pohyby chlupu v srsti a poté podle jeho optických vlastností provedou trasování paprsku. Každému chlupu je tedy možné přiřadit jinou barvu, texturu i pružnost. Tato metoda se používá ve filmech, scény počítají superpočítače s mnohaterabajtovým diskovým prostorem…

Urychlující metody

Důležitou součástí každého grafického programu však nejsou jen implementace vlastních grafických algoritmů, ale i jejich optimalizace, které mohou zajistit řádové urychlení výpočtu.

Buňková metoda rozdělí prostor na buňky, do nichž se zapíše, která tělesa se v nich nacházejí. Při trasování paprsků se tak vynechá testování objektů, se kterými se paprsek nepotká. Buňky o shodné nebo odlišné velikosti obsahují záznam s označením tělesa nebo seznamem plošek, které se v dané oblasti nacházejí. Metoda je poměrně citlivá na správnou velikost scény.

Metrické omezení naproti tomu přidává ke každému objektu informaci o jednoduše otestovatelné obálce objektu. Pokud paprsek neprotne obálku, je jasné, že neprotne ani těleso. Metoda je výhodná pro scény s velkým množstvím komplikovaných malých těles.

Omezení rekurze je nutné pro všechny trasovací programy, aby nedošlo k zacyklení. Většinou se omezuje maximálním počtem odrazů a nejmenším uvažovaným světelným příspěvkem.

Existuje ještě množství dalších zrychlujících postupů. Některé jsou publikované, jiné tvůrci programů tají.

Holografie

Holografie je speciální způsob zobrazení, při kterém lze obraz na hologramu pozorovat z různých úhlů. Využívá vlnových vlastností světla, konkrétně interference. Při expozici laserem nebo jiným zdrojem koherentního světla (pro první hologramy se používala rtuťová výbojka), které zčásti dopadá přímo a zčásti se odráží od scény, vznikají v emulzi filmu submikroskopické interferenční linie. Po ozáření koherentním světlem stejné vlnové délky uvidíme prostorový obraz původní scény. Dnes jsou známy techniky, které dokáží hologram zobrazit i při běžném světle.

Představa, že hologram v každém bodě obsahuje celek, je poněkud zjednodušená. Skutečnost je taková, že jsou v něm zaznamenány pouze interferenční linky, a ty určují, do kterých směrů se bude v daném bodě ohýbat světlo. Teprve ohyb světla vytvoří z celé plochy dojem prostorového tělesa.

Dnešní technologie umožňuje vytvořit hologram virtuálně – v počítači. Z rozdílů ve světle dopadajím do jednotlivých bodů lze vypočítat interferenční linie a poté je přenést na hologram (nemusí se jednat o emulzi, hologramy lze i lisovat, podobně jako CD).

Důležitou vlastností takto vytvořených hologramů je praktická nemožnost kopírování – interferenční linie totiž mohou být od sebe vzdáleny pouze stovky nanometrů, a to je zatím pro jakýkoliv kopírovací stroj příliš málo.

V budoucnosti se možná dočkáme i holografických obrazovek a podobných vynálezů. Na světě zatím existuje jen několik holografických kin s poměrně malou promítací plochou. Filmů je vzhledem k výrobním nákladům také málo a nepřesahují délku několika minut.

Máte-li výkonný počítač, můžete si však třírozměrný správce oken vyzkoušet už nyní – je jím projekt 3DWM, založený na spolupráci s běžným VNC serverem.

 

Náš seriál o grafice uzavřeme několika obrázky ze skvělého programu Persistence of Vision™ Ray Tracer (PovRay).

ict ve školství 24

Tabulka č. 267

Crack (sledování paprsku)

Crack (radiační metoda)

Dvě ukázky značného rozdílu mezi prostým sledováním paprsku a radiační metodou (scéna Crackle pattern example a scéna Laser od Dana Farmera).

Laser (sledování paprsku)

Laser (radiační metoda)

 

Tabulka č. 268

světla v mlze

skleněné objekty

Problémem nemusí být ani světlo v mlze ani rozklad světla na duhové barvy (scény Media 2 a Diffract).

 

Tabulka č. 269

tvar čajové konvičky

dřevěná krabička

Tyto obrázky snad nepotřebují komentář (scéna Teapot 2 a scéna Woodbox od Dana Farmera).

Seriál: Grafika v UNIXu

Autor článku