Vegetace v trojrozměrné scéně
|
|
- Simona Němcová
- před 8 lety
- Počet zobrazení:
Transkript
1 Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informatiky a kvantitativních metod Vegetace v trojrozměrné scéně (Interaktivní zobrazení trojrozměrné scény s vegetací) Bakalářská práce Autor : Jan Vašíček Aplikovaná informatika Vedoucí práce : Odborný konzultant: Mgr. Jan Vaněk Ing. Bruno Ježek, Ph.D. Hradec Králové duben 2005
2 Prohlášení: Prohlašuji, že jsem bakalářskou práci zpracoval samostatně a s použitím uvedené literatury. V Kolíně dne 9.dubna 2005 Jan Vašíček
3 Poděkování: Děkuji vedoucímu bakalářské práce Mgr. Janu Vaňkovi a odbornému konzultantovi Ing. Brunovi Ježkovi, Ph.D. za veškerou pomoc při vypracování bakalářské práce.
4 Anotace Bakalářská práce se zabývá trojrozměrným zobrazováním rozsáhlé vegetace. Cílem práce je popsat dostupné algoritmy a zvolit nebo navrhnout nový přístup pro zobrazení vegetace na rozloze tisíců až desetitisíců kilometrů čtverečných. V práci je navrženo řešení na vykreslování rozsáhlé vegetace v reálném čase. Annotation This bachelor thesis deals with the three-dimensional visualization of a large-scale vegetation cover. The main aim of the thesis is to describe existing algorithms and to choose or to design a new approach that in real-time renders the vegetation covering a terrain of thousands square kilometers in size. A solution to the problem of a large-scale vegetation cover rendering in real-time is proposed in the thesis.
5 Obsah Seznam obrázků Seznam zkratek 1 Úvod Existující metody Billboardy Objemové textury Sprity a impostory Listové zjednodušování Plátkování a prolínáním Posouzení nalezených řešení Navrhované řešení Tvorba vrcholů Tvorba indexů Textury Textury jednotlivých stromů Dlouhá textura Neuspořádaná textura lesa Úrovně detailu Ořezávání Implementace Použité technologie Výsledky Závěr Odkazy... 32
6 Seznam obrázků Obr. 1: Povrch bez vegetace... 2 Obr. 2: Povrch s vegetací... 2 Obr. 3: Klasický billboard (vlevo) a křížený billboard (vpravo) převzato z [Szijártó03 ]... 3 Obr. 4: Buňky převzato z [Decaudin04 ]... 4 Obr. 5: Aperiodické pokrytí převzato z [Decaudin04 ]... 5 Obr. 6: Výsledky použití objemové textury převzato z [Decaudin04 ]... 6 Obr. 7: Sprite (vlevo) a rozmístění spritů ve stromu (vpravo) převzato z [Szijártó03]... 7 Obr. 8: Množství listí vykreslovaných do textury převzato z [Szijártó03]... 7 Obr. 9: Koruna stromu (vlevo) a 200 stromů tvořících les (vpravo) převzato z [Szijártó03 ]... 8 Obr. 10: Zjednodušování stromu převzato z [Inmacul02 ]... 9 Obr. 11: Výsledky použití listového zjednodušení - převzato z [Inmacul02 ] Obr. 12: Slicing box (vlevo) a primární a sekundární sada plátků (vpravo) převzato z [Jakulin2000] Obr. 13: Popis jednoho plátu buňky Obr. 14: Popis půdorysu buňky Obr. 15: Tvorba vrcholů Obr. 16: Typy vykreslování trojúhelníků Obr. 17: Textury jednotlivých stromů Obr. 18: Jedna buňka s texturou jednotlivých stromů Obr. 19: Dlouhá textura Obr. 20: Jedna buňka s dlouhou texturou Obr. 21: Neuspořádaná textura lesa Obr. 22: Jedna buňka s neuspořádanou texturou Obr. 23: Pomocný ořezávací objem Obr. 24: Vegetace s prvním nastavením Obr. 25: Vegetace s druhým nastavením... 30
7 Seznam zkratek CPU GIS GPU LOD UHK central procesor unit geografický informační systém graphics procesor unit level of detail Univerzita Hradec Králové
8 1 Úvod S nárůstem výkonu a rozšířením výpočetní techniky se stále více uplatňují i aplikace trojrozměrné počítačové vizualizace. Jednou z nejvýznamnějších oblastí nasazení výpočetní techniky jsou geografické informační systémy (dále jen GIS). GIS v současné době využívají trojrozměrné zobrazování geografických dat. Nedílnou součástí každého zemského povrchu je i vegetace, bez ní je vykreslený terén neúplný a působí nepřirozeně (viz Obr. 1 a 2). Proto je nezbytné vykreslovat povrch i s vegetací, aby byla krajina kompletní, měla přirozený vzhled a poskytovala co nejvíce informací. Pojem vegetace je velice široký, tento termín zahrnuje stromy, keře, trávu, mechy a další. Z tohoto důvodu jsou používána data vztahující se pouze ke stromům, protože zobrazování menších objektů na rozlehlém území by bylo výpočetně velice náročné. Tato práce si klade za cíl nalézt nebo vytvořit přístup pro zobrazování vegetace, kterým ji bude možné zobrazovat v reálném čase na území o rozloze tisíců až desetitisíců km 2. Vegetace by měla být pozorována z ptačí perspektivy, neboť je kladen důraz na její celkové zachycení, více než na reálný vzhled jednotlivých stromů. Přesto by měly stromy vypadat co nejvěrohodněji a výsledná vegetace tvořená těmito stromy by měla mít reálnou hustou zalesnění. Konečný vybraný nebo navržený přístup bude testován na prototypu implementovaném jako aplikace, která bude interaktivně komunikovat s uživatelem. V následujících kapitolách se budeme zabývat přístupy pro řešení, některými problémy spojenými s implementací a testováním vytvořené aplikace. 1
9 Obr. 1: Povrch bez vegetace Obr. 2: Povrch s vegetací 2
10 2 Existující metody Kapitola se zabývá nalezenými existujícími přístupy řešení problematiky zobrazování vegetace v reálném čase. Na konci kapitoly je provedeno posouzení nalezených přístupů. 2.1 Billboardy Jedna z nejstarších, nejjednodušších a nejrozšířenějších technik real-time zobrazování vegetace využívá k reprezentaci stromů billboardy. Je popsána například v [Decaudin04], [Szijártó03] nebo [Inmacul02]. Díky tomu, že billboardy jsou velmi nenáročné na výkon počítače, jsou stále považovány za jednu z nejlepších technik pro současné průmyslové simulátory. Metoda má dva odlišné směry. První z nich je klasický billboard, což je čtyřúhelník potažený kvalitní texturou. Při zobrazování je vždy plochou otočen ke kameře a většinou se otáčí kolem vertikální osy, která prochází jeho středem (viz Obr. 3 vlevo). Druhý směr se nazývá křížený billboard. Skládá se ze dvou až čtyř čtvercových nebo obdélníkových ploch křížících se navzájem (viz Obr. 3 vpravo). Obr. 3: Klasický billboard (vlevo) a křížený billboard (vpravo) převzato z [Szijártó03 ] V první metodě se neprojevuje žádná paralaxa při pohybu kamery a nehodí se tedy příliš pro objekty, které nejsou osově souměrné. Vykreslovaný les musí být řídký, protože strom, který je těsně za jiným, by mohl při změně úhlu pohledu přejít náhle do popředí. Obě metody mají společný nedostatek v mizení stromů při pohledu shora. Při pohybu kamery nad takto vykresleným lesem se stromy pod pozorovatelem zobrazují jako roviny 3
11 kolmé k průmětně. U křížených billboardů se tento problém řeší přidáním dalšího čtyřúhelníku, na němž je nanesena textura koruny stromu. Tento čtyřúhelník bývá rovnoběžný se zemí. Ani jedna metoda nezahrnuje schéma úrovně detailu (dále jen LOD) pro jednotlivé stromy, protože se vytvořené stromy nedají více zjednodušit. Velmi hustý les vykreslovaný za pomoci této techniky by se skládal z miliónů otexturovaných čtyřúhelníků, což by bylo náročné i s moderním grafickým hardwarem. 2.2 Objemové textury Přístupem založeným na využití objemových textur se zabývá Decaudin a kol. v [Decaudin04]. Metoda kombinuje objemové textury a aperiodické pokrytí. Reprezentace lesa poskytuje kvalitní vykreslování díky vhodně zvolenému 3D nelineárnímu filtrování a spoléhá se na LOD a strukturu k udržení real-time výkonu, která je přátelská ke grafickému procesoru (dále jen GPU). Objemová textura reprezentuje pokrytí povrchu porostem. Použití objemové textury se skládá z nanášení 3D vrstev na povrch užívající 3D data k nastavení textury. Pro účely hardwarového urychlení je objem vykreslován pomocí sady plátků, která je autorem označována jako texcell a zde jako buňka. Nakonec jsou plátky v každé buňce otexturovány. Mezi výhody patří perfektní paralaxa, protože vytvářené plátky mají vlastní hloubku, a filtrování, jež je hladce řízeno texturovacím hardwarem. Obr. 4: Buňky převzato z [Decaudin04 ] 4
12 V přístupu jsou vytvářeny dva odlišné druhy buněk. Jednoduché pravidelné buňky (regular texcell), které mají dobrý výkon a kvalitu, ale nejsou vhodné pro zobrazování lesů blízko obrysu povrchu, a obrysové buňky (silhouette texcell). Pravidelné buňky (viz Obr. 4) jsou adaptovány pro většinu scény a tvoří je plátky rovnoběžné s povrchem. Lze je jednoduše vytvořit z povrchu a zároveň jsou efektivní, protože se jejich geometrie nemusí obnovovat a transformovat z CPU v každém snímku. Tento model je věrný až do doby, kdy se začíná projevovat a zvětšovat chyba paralaxy. V důsledku této chyby jsou jednotlivé plátky rozeznatelné, a proto se přechází k obrysovým buňkám (viz Obr. 4), které se spoléhají na orientované vytváření plátků. Tyto plátky jsou natočeny směrem k pozorovateli. Otáčení jednotlivých plátků je jednoduše prováděno vertikálním posunem jejich vrcholů. To dovoluje transformovat polygony předtím uchované v GPU místo jejich opětovného vytváření v CPU a tímto se samozřejmě omezuje provoz na sběrnici. V reprezentaci pravidelných buněk se místo 3D textury vytváří sada 2D textur, která koresponduje s plátky. Každá textura v 2D sadě má připojenou MIP-MAP pyramidu a zároveň se vytváří LOD pyramida sady. Pro reprezentaci obrysových buněk je použita 3D textura. LOD použité v tomto řešení závisí na vzdálenosti pozorovatele od slices a úhlu mezi směrovým vektorem pozorovatele a normálovým vektorem plátků. Obr. 5: Aperiodické pokrytí převzato z [Decaudin04 ] 5
13 Pokrytí terénu buňkami je prováděno pomocí aperiodického schématu. V tomto schématu mají buňky tvar trojúhelníků, které jsou mezi sebou různě hranově kompatibilní (viz Obr. 5). Je vyrobeno 16 možných trojúhelníků směřujících na sever a na jih, pro úsporu paměti z nich bylo však vybráno pouze 8 (4 směřují na jih a 4 na sever). Použitím výše popsaného řešení byl pokryt povrch lesem skládajícím se z stromů a obnovovací frekvence se pohybovala mezi 25 a 40 snímky za vteřinu. Bylo použito 576 buněk a každá obsahovala 4 stromy. Také byl implementován rozlehlejší les skládající se z stromů a z buněk. Při těchto parametrech dosahovala obnovovací frekvence 20 až 30 snímků za vteřinu. Výsledky byly měřeny na osobním počítači s procesorem Pentium 4 o frekvenci 1.7 GHz a grafickou kartou GeForceFX Výstupní rozlišení bylo 640 x 480. Velikost objemových dat byla 128 plátků o rozměrech 256x256 s 32bitovou hloubkou barev. Výsledky implementace jsou zobrazeny také na Obr. 6. Obr. 6: Výsledky použití objemové textury převzato z [Decaudin04 ] Tato metoda je schopná zobrazovat velmi rozsáhlé terény pokryté vegetací a to i s vysokým stupněm detailu. Ale na druhou stranu se při zvyšování množství stromů ve scéně zvyšuje náročnost aplikace. 2.3 Sprity a impostory Tento algoritmus je popsán v [Szijártó03] a představuje zlepšené vykreslování pomocí impostorů, které má dvě hlavní části. První se skládá z pohledově závislé operace vykreslující do textury. Toto vykreslování je vlastní tvoření impostoru. V druhé části je vytvořená textura nanesena na sprite nebo billboard. 6
14 Sprity jsou plochy obdélníkového nebo čtvercového tvaru, které jsou vždy orientovány na pozorovatele (viz Obr. 7 vlevo). Algoritmus vytváří výsledný obraz koruny stromu z více než jednoho spritu. Kdyby však byly použity pouze sprity, vznikl by velmi nerealistický obraz. Algoritmus proto používá pohledově závislých impostorů, aby eliminoval tento problém. Hloubka je zavedena do procedury vykreslování do textury. Při vykreslování je informace o hloubce uložena v texturách s alpha kanálem. Výsledkem je poté 2,5D impostor. Obr. 7: Sprite (vlevo) a rozmístění spritů ve stromu (vpravo) převzato z [Szijártó03] Impostory jsou tvořené texturami, do kterých jsou vykresleny libovolné skupiny náhodně uspořádaného listí. Tato textura je poté implementována na více spritů, aby se vytvořila požadovaná koruna stromu. Kvalita vytvořeného obrazu a pocit realismu se dramaticky zvyšuje, i když je stejný impostor použit pro celý strom. Obr. 8: Množství listí vykreslovaných do textury převzato z [Szijártó03] Výsledek implementace byl testován na osobním počítači s procesorem Athlon o frekvenci 1,2 GHz a grafickou kartou GeForce4. Výsledky implementace jsou velice závislé na třech parametrech. První je množství vykreslovaných stromů, další je počet 7
15 spritů tvořících korunu stromu a poslední je množství listí vykreslovaných do textury (viz Obr. 8). Samotné výsledky představuje Tabulka 1. Výsledky implementace jsou ukázány na Obr. 9. počet stromů spritů s 512 listy ,1 6,7 64 spritů s 256 listy spritů s 128 listy Tabulka 1: Počet snímků za vteřinu převzato z [Szijártó03 ] Obr. 9: Koruna stromu (vlevo) a 200 stromů tvořících les (vpravo) převzato z [Szijártó03 ] 2.4 Listové zjednodušování Přístup popsaný v [Inmacul02] spojuje dvě real-time metody vykreslování: dynamické generování impostoru a multiresolution modelovací techniku. Multiresolution modelování se dělí do dvou skupin: diskrétní a spojité. Diskrétní modely mají konečné množství LOD a vlastní řídící mechanismus. Tyto modely mají řadu nevýhod. Mezi uchovávanými LOD nejsou žádné vztahy, tudíž rychle stoupá velikost těchto modelů při zařazení nové úrovně detailu. Na druhou stranu spojité modely obsahují veliké množství aproximací povrchu objektu. Modely tedy nabízejí adaptivní LOD v real-time, což zrychluje vizualizaci. V [Inmacul02] byl navržen speciální spojitý multiresolution model pro strom. Listy jsou vymodelovány jako množství nezávislých polygonů. Díky užití speciálního modelu pro stromy můžeme adaptovat různé množství polygonů v závislosti na důležitosti stromu ve scéně. Je-li pozorovatel tak blízko, že může vidět detaily objektu, bude impostor kombinovaný s geometrií. Zadní část stromu bude reprezentována s méně detaily a impostorem. Přední část stromu bude naopak vykreslena jen s vlastní geometrií. Stromy 8
16 tak vypadají opravdu 3D, což u klasických obrazově založených metod neexistuje. V tomto přístupu jsou stromy rozděleny do dvou hlavních částí: pevné části stromu (kmen stromu a větve) a na korunu stromu (listy a větévky). Pevné části stromu jsou tvořeny trojúhelníkovou sítí a koruna stromu je tvořena množstvím nezávislých polygonů. V modelu je pro korunu vytvořen zjednodušující algoritmus. Ten při přechodu z jedné úrovně detailu do další spojuje polygony nebo listy do jednoho polygonu. Zjednodušování stromu je vidět na Obr. 10. Obr. 10: Zjednodušování stromu převzato z [Inmacul02 ] Při implementaci byly použity stromy, které byly vymodelovány pomocí komerční aplikace Xfrog. Stromy se skládaly z listů tedy z trojúhelníků. Počítač, na kterém byla implementace testována, obsahoval dva procesory Pentium III Xeon na 1.5GHz a grafickou kartu NVIDIA Quatro2 Pro s pamětí o velikosti 64MB. Při testu se pozorovatel ve scéně pohyboval a zároveň se v ní zvyšovalo množství stromů. Výsledky jsou vidět v Grafu 1. 9
17 Graf 1: Závislost frekvence vykreslování na počtu stromů převzato z [Inmacul02 ] Výsledky jsou vidět na Obr. 11. Obr. 11: Výsledky použití listového zjednodušení - převzato z [Inmacul02 ] 2.5 Plátkování a prolínáním Přístup uvedený v [Jakulin2000] je založený na plátkování a prolínání. Přístup vychází z obrazově založeného vykreslování, které se dále spojuje pouze s mícháním textur polygonů. Tento přístup rozděluje strom na dvě hlavní části: pevné a rozptýlené. Pevné části jsou tvořeny kmenem stromů a hlavními větvemi, druhou část stromu tvoří větvičky a listy. Rozptýlené části obsahují většinu geometrické složitosti modelu, a proto je tato část stromu zobrazována menším množstvím paralaxových vrstev, které poskytují plný vjem hloubky při pozorování stromu z přibližně stejného směru. Každá taková vrstva leží na pevném místě ve scéně. Všechny vrstvy jsou rovnoběžné a stejně vzdálené. Sada takových vrstev je v tomto přístupu nazývána slicing. 10
18 Slicing je zobrazován vykreslením všech vrstev, z nichž je složen. Orientace sady vrstev je stále stejná a nemění se vůči orientaci pozorovatele. Všechny vrstvy v sadě mají stejný normálový vektor a vzdálenost mezi vrstvami se rovná velikosti normálového vektoru. Slicing je obklopován slicing boxem (viz Obr. 12 vlevo) definovaným středem c s, výškou h s a šířkou w s. Každá vrstva v sadě je tvořena otexturovaným čtyřúhelníkem. Vrcholy vrstev leží na průsečících hran slicing boxu a jednotlivých ploch tvořících vrstvy. Množství vrstev tvořící slicing závisí na požadované kvalitě vykreslení, ale 3 až 7 vrstev je pro strom optimální. LOD jsou tvořeny používáním různého počtu vrstev ve slicing. Nejvíce vrstev je použito, je-li pozorovatel nejblíže stromu a při vzdálenosti, kdy není možné rozeznat paralaxu, je použita pouze jedna vrstva. Obr. 12: Slicing box (vlevo) a primární a sekundární sada plátků (vpravo) převzato z [Jakulin2000] Jednotlivé sady plátků ale neobsahují dost informací pro pozorování stromu ze všech možných úhlů, proto musí být vypočítáno větší množství sad, jenž budou vytvořeny z různých úhlů, které jsou okolo modelu rovnoměrně rozloženy. Přepínání mezi jednotlivými sadami závisí na úhlu, který se vypočítává ze směrového vektoru sady a směrového vektoru ze středu sady k pozorovateli. To by vedlo k náhlým přepínáním mezi jednotlivými sadami, proto se zobrazují dvě sady stromu: první nejbližší, označována jako primární sada plátků, a druhá nejbližší, nazývaná sekundární sada plátků (viz Obr. 12 vpravo). Zároveň se rozlišuje jejich úroveň průhlednosti. Průhlednost sady je úměrná rozdílu úhlu mezi primární a sekundární sadou. Je-li úhel primární sady roven 0, pak je sekundární sada úplně průhledná. Jestliže jsou úhly primární a sekundární sady stejné, měly by být koeficienty neprůhlednosti obou sad 11
19 shodné. Koeficient neprůhlednosti primární sady, označován jako α p, se pohybuje mezi 1 a 0,5. U sekundární sady je koeficient označený α s a je roven 1- α p. Výše popsaná metoda byla implementována s využitím rozhraní OpenGL. Model stromu byl automaticky vygenerován a pak manuálně rozdělen na pevné a rozptýlené části. Trojúhelníková síť pevné části stromu byla manuálně zjednodušena, zatímco rozptýlené části stromu byly použity pro vytvoření textur. Jako software pro tvorbu textur byl využit nemodifikovaný POVRay ray tracing. Každá sada obsahovala 5 vrstev a pro jednotlivý strom bylo vytvořeno 6 sad po 60. Koruna stromu byla tedy vykreslena ze 40 vrcholů, což znamená 10 trojúhelníků. Kmen a hlavní větve byly vykresleny přibližně z 200 trojúhelníků. Osobní počítač, na kterém byla tato metoda implementována, byl sestaven z procesoru Pentium II na 350 MHz a grafické karty NVIDIA GeForce256 DDR. Rozlišení aplikace bylo 640x480. Výsledky implementace jsou uvedeny v Tabulce 2. množství stromů rychlost vykreslení [ms] Tabulka 2: Výsledky v tabulce převzaty z [Jakulin2000 ] 12
20 2.6 Posouzení nalezených řešení Aby bylo možné posoudit nalezené přístupy, je nutné definovat pojem vegetace na rozsáhlém území. Vzhledem k současným schopnostem hardwaru a požadavkům trojrozměrných GIS. Jako vhodný příklad pro další úvahy poslouží terén s rozlohou 50x50 km (2 500 km 2 ). Hustota průměrného vzrostlého lesa mírného pásu je kolem 175 stromů na hektar 1, tedy stromů na 1 km 2, což na uvažovaném terénu představuje pokrytí skládající se z stromů. U algoritmů budeme sledovat počet trojúhelníků na jeden strom. Počet závisí na LOD každého přístupu a není možné ho zjistit bez implementace všech algoritmů, která však přesahuje rozsah této práce. Protože ve všech popsaných metodách jsou pro zobrazování předpokládány stromy různých úrovní detailu, postačuje pro posouzení použitelnosti metod pro vykreslování na rozsáhlém území odhad minimálního počtu trojúhelníků na jeden strom při nejnižší úrovni detailu všech stromů. Pro porovnání metod slouží Tabulka 3, která obsahuje pro každý přístup odhadované minimální množství trojúhelníků na jeden strom při nejnižší LOD a zároveň množství trojúhelníků potřebných na vykreslení dané vegetace při použití nejnižší LOD pro všechny stromy. Přístup Počet trojúhelníků na jeden strom při nejnižší LOD Počet trojúhelníků pro stromů Billboardy Objemové textury Sprity a impostory Listové zjednodušení Plátkování a prolínání 2 0, Tabulka 3: Počty trojúhelníků 1 Dle údajů Správy Krkonošského národního parku 13
21 Z Tabulky 3 vyplývá, že by každý přístup, až na Objemové textury, měl při nejnižší LOD nejméně dva trojúhelníky na jeden strom, protože by byl reprezentován např. pouze impostorem nebo billboardem. Objemové textury mají nižší množství trojúhelníků na jeden strom, bylo by je ale možné použít jen pro vegetaci, která by byla tvořena pouze poslední úrovní detailu tohoto přístupu. Kvalita takto vytvořené vegetace by byla nevyhovující a nepůsobila by realisticky. Běžně dostupné grafické akcelerátory střední třídy, jako jsou ATI Radeon 9800XT nebo nvidia GeForceFX 5950 Ultra, zobrazují teoretické maximum kolem 400 miliónů trojúhelníků za vteřinu. Pro udržení frekvence vykreslování alespoň 25 snímků za vteřinu by tedy složitost scény nesměla překročit 15 miliónů trojúhelníků. Z toho vyplývá, že žádný z nalezených přístupů není vhodný a je potřeba navrhnout nový. V následujících kapitolách bude popsáno autorem navržené a implementované řešení. 14
22 3 Navrhované řešení V předchozí kapitole bylo ukázáno, že pro zobrazení více jak jednoho miliónu stromů vytvářejících vegetaci je potřeba zredukovat množství trojúhelníků tvořících strom ve scéně na méně než jeden trojúhelník. Toho lze dosáhnout použitím plátů. Plát je reprezentován čtyřmi koplanárními body ležící v rovině, která svírá pravý úhel s povrchem, na němž by měla být vegetace vykreslena. Z bodů se vytvoří dva trojúhelníky pomocí nichž je plát vykreslen (viz Obr. 13). Na tyto trojúhelníky je nakonec nanesena textura obsahující několik desítek až stovek stromů. Na tvorbu vegetace by bylo použito více plátů, které by byly rovnoběžné a uspořádané v řadě za sebou. To by ovšem bylo možné použít pouze tehdy, jestliže by se pozorovatel ve scéně nepohyboval a jeho směrový vektor pohledu by byl rovnoběžný s normálovým vektorem plátu. Jinak by při pohybu pozorovatele okolo stromů docházelo k jejich mizení (např. kdyby se úhel mezi směrovým vektorem pozorovatele a normálovým vektorem plátu pohyboval blízko pravému úhlu). Řešením tohoto problému je vytvořit stejné množství dalších plátů upevněných ve scéně tak, aby byly na předešlé pláty kolmé a navzájem se křížily v předem stanovených bodech. Tyto pláty budeme nazývat sekundární pláty a předešlé pláty primární. Počet primárních a sekundárních plátů je stejný a musí být zajištěno, aby se každý primární plát křížil se všemi sekundárními (viz Obr. 14). vrcholy plátu trojúhelníky Obr. 13: Popis jednoho plátu buňky Na jednu stranu ve vytvořené vegetaci zaniká problém s mizením stromu při pohybu pozorovatele okolo vegetace a množství trojúhelníků tvořící strom se pohybuje pod hranicí jednoho trojúhelníku (např. vegetace skládající se z jednoho miliónu stromů bude tvořena jedním tisícem primárních a stejným množstvím sekundárních plátů, na kterých bude textura obsahující tisíc stromů, a množství trojúhelníků na jeden stromu tedy 15
23 bude 0,004). Ale na druhou stranu je tu problém s povrchem, na němž se vegetace rozkládá. Tento povrch by musel být dokonale rovný, což v reálném světě neexistuje. rohy buňky sekundární pláty střed buňky primární pláty Obr. 14: Popis půdorysu buňky Kvůli tomuto problému byla vegetace rozdělena na jednotlivé buňky, které mají tvar čtverce. Buňky aproximují povrch, na němž se vegetace rozkládá. Každá buňka je charakterizována svým středem, výškou, šířkou, hloubkou, počtem plátů a čtyřmi vrcholy reprezentujícími rohy buňky. Výška buňky určuje výšku primárních a sekundárních plátů a zároveň velikost lesa v této buňce. Délka primárních plátů se rovná hodnotě šířky buňky a hloubka buňky udává délku sekundárních plátů. Další vlastností buňky je počet primárních respektive sekundárních plátů určující hustotu vegetace v dané buňce. Posledním parametrem jsou rohy buňky, ze kterých se vypočítávají vrcholy jednotlivých primárních a sekundárních plátů vytvářejících vegetaci v buňce. Při rozdělení vegetace na buňky se změní i počet trojúhelníků na jeden strom např. při zobrazení jednoho miliónu stromů by se vegetace rozdělila na 400 buněk a každá z nich by obsahovala stromů, 50 primárních a 50 sekundárních plátů, poté by se počet trojúhelníků na jeden strom rovnal 0,08. Za předpokladu, že by všechny buňky měly shodné vlastnosti, by vytvořená vegetace nebyla dostatečně realistická, vypadala by příliš vyrovnaně. Pro vytvoření většího realistického vzhledu vegetace by bylo vhodné zavést variabilitu u vlastností výška buňky a počet primárních a sekundárních plátů. Tím bude dosaženo rozdílů ve 16
24 výšce a hustotě lesa mezi jednotlivými buňkami a vytvořená vegetace by již neměla tak nerealistický vzhled. 3.1 Tvorba vrcholů Vypočítávání vrcholů, ze kterých se vytvářejí pláty reprezentující vegetaci, je jednou z nejdůležitějších částí algoritmu. Tvorba vrcholů je velice jednoduchá a používají se pro ní rohy buňky a lineární interpolace. Spodní vrcholy plátů leží na úsečce spojující každé dva sousední rohy buňky, takže pro výpočet jejich souřadnic bude použita lineární interpolace. Nejprve se spočítá vzdálenost mezi dvěma primárními nebo sekundárními pláty, kterou označíme jako d. Tato vzdálenost je mezi pláty všude stejná. Vypočteme ji jako poměr délky buňky a počtu jednoho druhu plátů (d = délka buňky/počet plátů). Pro další krok je důležité označit si rohy buňky. Spodnímu levému rohu přiřadíme číslovku jedna a následujícím rohům ve směru proti hodinovým ručičkám přiřazujeme číslovku o jednu vyšší (Obr. 15 šedá šipka). Po označení rohů můžeme přejít k vytváření vrcholů. Vybereme si první dvojici rohů buňky (jedna a dva), poté mezi nimi vypočítáme, pomocí lineární interpolace, první bod, který by měl ležet v polovině vzdálenosti d od rohu buňky číslo jedna směrem k číslu dvě. Další bod bude ležet ve stejném směru, ale ve vzdálenosti, která je o d větší. Postup se opakuje pro ostatní body mezi vybranými rohy buňky. Vzdálenost d/2 pro výpočet prvního vrcholu mezi rohy buňky byla použita, aby nevznikaly pláty na hranách buňky. Takovéto pláty by se s pláty sousedních buněk, ležících na hraně, spojovaly a ve výsledku by vypadaly jako jeden plát. Použitím této vzdálenosti se splynutí plátů eliminuje a využijí se všechny pláty pro reprezentaci vegetace. Celý postup se zopakuje pro další hranu buňky, ale pro poslední dvě hrany buňky se obrátí pořadí rohů pro snadnější generování indexů. Oranžová šipka na Obr. 15 ukazuje směr vytváření vrcholů na jednotlivých hranách buňky. Takto by se vypočítaly pouze dolní vrcholy plátů. Horní vrcholy plátů vzniknou připočtením hodnoty výšky vegetace v dané buňce k jedné ze souřadnic vrcholu, která udává vertikální polohu bodu ve scéně. 17
25 4 d/2 3 d d d/2 1 2 Obr. 15: Tvorba vrcholů Vypočtené vrcholy by se měly ukládat do jednoho vertex bufferu tak, aby za každým dolním vrcholem byl uložen vrchol ležící nad ním. Celý postup vytváření vrcholů je také ukázán v pseudo jazyku v následujícím odstavci. vzdálenost = 1 / početplátů; pro i od 0 až do 4 začátek h = 0; pro j od 0 do početplátů začátek když j = 0 pak h = h + (vzdálenost/2); jinak h = h + vzdálenost; konec když když i < 1 pak spodnívrchol=lininter(h,prvníroh,druhýroh); jinak spodnívrchol=lininter(h,druhýroh,prvníroh); konec když hornívrchol = spodnívrchol + výškavegetace; konec pro j konec pro i Funkce lininter(h,prvníroh,druhýroh) představuje funkci lineární interpolace mezi rohy buňky a vrací vypočtený spodní vrchol. Parametr h udává vzdálenost v procentech od rohu buňky, který je na dané hraně buňky první v pořadí. Na postup vytváření vrcholů plátů těsně navazuje algoritmus pro vytváření indexů k jednotlivým vrcholům. 18
26 3.2 Tvorba indexů Další důležitou částí celého algoritmu je vytváření indexů k jednotlivým vrcholům plátů. K vykreslování plátů v jedné buňce je použito dvou bufferů. Vertex buffer uchovává vrcholy všech plátů v buňce a index buffer uchovává indexy pro jednotlivé vrcholy. Indexy představují pozici vrcholu ve vertex bufferu. Aby bylo dosaženo maximálního využití grafického akcelerátoru, měly by být trojúhelníky vykresleny pomocí obou bufferů jedním voláním bez přerušení. Proto byla zvolena metoda jejich vykreslování nazvaná Triangle list, kde je každý trojúhelník tvořen třemi samostatnými body a do index bufferu se tedy zapisují tři indexy na každý trojúhelník (viz Obr. 16). Existují ještě další dvě metody Triangle strip a Triangle fan. Triangle strip je určen pro vykreslování pásů trojúhelníků, kdy je první trojúhelník pásu tvořen třemi vrcholy a další trojúhelníky se vytvoří pomocí jednoho nového bodu a dvou posledních bodů předchozího trojúhelníku (viz Obr. 16). Tato metoda není vhodná, protože by bylo nezbytné přerušit proces vykreslování po každém vykreslení dvou trojúhelníků tvořících jeden plát. Druhá nepoužitá metoda, Triangle fan, se používá pro popis vějíře složeného z trojúhelníků, kde je první trojúhelník vytvořen třemi body a další trojúhelníky jedním novým bodem, bodem ve středu vějíře a posledním bodem předchozího trojúhelníku (viz Obr. 16). Důvod nepoužití této metody pro vykreslování plátů je shodný jako u předchozí metody. 19
27 Triangle Strip Index Buffer Triangle Fan Index Buffer Triangle List Index Buffer Obr. 16: Typy vykreslování trojúhelníků Pro každý plát je podle vybrané metody potřeba uložit do index bufferu šest indexů. Postup pro výběr indexů je svázán s algoritmem pro generování vrcholů. Do index bufferu se pro první trojúhelník libovolného plátu v buňce uloží pořadí spodních vrcholů ve vertex bufferu a přidá se index jednoho horního vrcholu. Pro druhý trojúhelník plátu se za uložené indexy prvního trojúhelníku umístí pořadí horních vrcholů a jako poslední index plátu se přidá pořadí vrcholu jehož horní vrchol netvoří první trojúhelník. Pomocí tohoto postupu naplníme celý index buffer všemi pláty buňky. 3.3 Textury Textura je popisem vlastností povrchu objektu a je důležitá pro vnímání jeho barvy a struktury. Nanášení textury na objekt vede ke zvýšení jeho vizuální kvality a zároveň je to výpočetně nenáročný proces. Z tohoto důvodu je intenzivně používána zejména v časově náročných aplikacích. Důležitým krokem pro používání textur je jejich nanesení na objekt. Tento postup se nazývá mapování textury a je popsán například v [Žára2004]. O tento proces se v současné době starají grafické karty, kterým stačí pouze zadat požadovanou texturu 20
28 a body plochy, na níž má být textura nanesena. U bodů je navíc nutné určit jejich umístění v textuře. Toto umístění je v literatuře označováno jako u a v pro dvourozměrné a u,v a w pro trojrozměrné textury. Pro určení průhlednosti povrchu na otexturovaných objektech používáme alpha test. Test stanovuje část nebo části textury, které budou na základě hodnoty alpha průhledné. Alpha test je popsán v [DX9SDK]. Ve výsledku, při použití tohoto testu, jsou na obrazovce zobrazeny pouze stromy. Pro kvalitní vykreslení vegetace je potřeba vytvořit texturu, případně více textur, které nejvěrněji reprezentují vegetaci. Proto bylo vytvořeno a odzkoušeno několik druhů textur, které jsou popsány níže Textury jednotlivých stromů Grafické karty mají integrovanou funkci míchání textur. Tato funkce vytvoří z několika různých textur jednu výslednou texturu, která je použita pro zobrazení vegetace. Prvním krokem je vytvoření obrázků jednotlivých stromů, které jsou rozděleny na dvě poloviny, přičemž každá z nich je umístěna do jiné textury. Výchozí textury Výsledné textury s neodfiltrovaným pozadím Obr. 17: Textury jednotlivých stromů Poté jsou pro každý plát náhodně vybrány dvě textury. První představuje levou a druhá pravou půlku stromu. Tyto textury jsou pak grafickou kartou smíchány a pomocí funkce kopírování textury, jež je také integrovaná v grafické kartě, nakopírovány do jedné výsledné textury vegetace pro daný plát. Při použití této textury a další, níže popsané, je 21
29 nutné, aby bylo zajištěno křížení primárních a sekundárních plátů ve středu každého stromu v textuře. Ukázky výchozích a výsledných textur pro jednotlivé pláty jsou na Obr. 17. Obr. 18: Jedna buňka s texturou jednotlivých stromů Dlouhá textura Pojem dlouhá textura představuje jednu texturu skládající se z mnoha různých stromů, které jsou symetrické. Stromy jsou v textuře rozmístěny, tak aby byly od sebe stejně vzdáleny. Abychom zajistili různorodost v otexturovaných plátech, musíme náhodně vygenerovat umístění textury na plátu tak, aby otexturovaný plát začínal a končil celým stromem. Ukázka textury je na Obr. 19. Na Obr. 20 je ukázka použití textury v buňce. Obr. 19: Dlouhá textura 22
30 Obr. 20: Jedna buňka s dlouhou texturou Neuspořádaná textura lesa Tento druh textury obsahuje veliké množství stromů umístěných neuspořádaně, které se dokonce mohou libovolně překrývat. Z toho vyplývá, že se nemusí zajišťovat křížení plátů ve středech stromů. Stejně jako v předchozí textuře i zde je nezbytné zabezpečit různorodost otexturovaných plátů pomocí náhodně vygenerovaného umístění textury na plátu. Na druhou stranu však není zapotřebí, aby otexturovaný plát začínal a končil celým stromem. Ukázka textury je na Obr. 21 a na Obr. 22 je opět ukázáno použití textury v buňce. Obr. 21: Neuspořádaná textura lesa 23
31 Obr. 22: Jedna buňka s neuspořádanou texturou Všechny výše popsané druhy textur byly implementovány. Na základě toho bylo zjištěno, že pro zobrazení vegetace pomocí našeho řešení je nejvhodnější použít poslední dva druhy textur. Při použití prvního druhu textury bylo docíleno variability v otexturovaných plátech, ale tato variabilita nebyla dostatečná. Proto je velice pravděpodobné, že by pozorovatel zanedlouho zaznamenal opakující se části textur. V otexturovaných plátech se totiž opakují vybrané půlky stromů, což vypadá velice nerealisticky. Používáním dalších druhů textur vzniká vysoká rozmanitost ve vytvořených stromech, která působí realisticky. 3.4 Úrovně detailu Zjednodušení scény je další nezbytnou součástí zobrazovacího procesu. Není totiž nutné zobrazovat objekty situované ve velké vzdálenosti od pozorovatele s úplnými detaily, protože s rostoucí vzdáleností mezi pozorovatelem a objektem se pro daný objekt zmenšuje množství pixelů, které na obrazovce zabírá. Po zmenšení množství pixelů pak nelze rozeznat všechny detaily objektu. Navíc toto zjednodušení pomáhá urychlit proces vykreslování. 24
32 V našem řešení je zjednodušování scény prováděno pomocí diskrétních úrovní detailu, které jsou popsány v [Žára2004]. Nejvyšší úroveň vždy reprezentuje objekt s maximálními detaily a nejnižší představuje co nejvíce zjednodušenou reprezentaci objektu, která je ovšem akceptovatelná jako náhrada původního objektu. Pláty v buňce nelze víc zjednodušit, a proto se při různých úrovních detailu mění počet zobrazovaných primárních a sekundárních plátů. Kritéria, podle kterých stanovujeme úrovně detailu, jsou dvě: vzdálenost mezi pozorovatelem a buňkou a dále úhel mezi směrovým vektorem pozorovatele a normálovým vektorem plátů buňky. První kritérium se vypočítává jako vzdálenost mezi pozorovatelem a středem buňky. V závislosti na ní se mění počet primárních a sekundárních plátů, které mají být vykresleny. Druhé kritérium udává jaký druh plátů se má být zobrazen. Je totiž zbytečné zobrazovat oba druhy plátů u nižších stupňů detailu, protože jeden typ plátů při pohybu pozorovatele okolo buňky většinou mizí. Úhel pro přepínání mezi jednotlivými druhy plátů byl stanoven na 45 stupňů. Kdybychom ale toto přepínání použili, docházelo by k náhlému přepínání mezi jednotlivými druhy plátů, což by ve výsledku vypadalo velice nerealisticky. Proto je nutné zavést pro přepínání třetí stav, kdy se zobrazují oba druhy plátů. Pro tento stav je dobré stanovit rozmezí dvou úhlů ( např. 40 až 50 stupňů). Přidáním toho stavu se zamezí nerealistickému přepínání mezi jednotlivými druhy plátů. V našem řešení vytváříme n úrovní detailu. Při nejvyšším stupni detailu se vykreslují všechny pláty tvořící buňku. Při přechodu na nižší úroveň se ubírá 1/n celkového počtu jednoho druhu plátů z primárních a sekundárních plátů. Nejnižší úroveň je tedy tvořena 1/n množství obou druhů plátů. 3.5 Ořezávání Pro potřebu rychlého vykreslování scény s velikým množstvím objektů s ohledem na viditelnost je potřeba stanovit, které objekty můžeme z dalšího zpracování v zobrazovacím řetězci vyloučit a které naopak podrobit důkladnému vyhodnocení viditelnosti. Dnes jsou již tyto postupy, jako např. odstranění odvrácených stěn a odstranění grafických primitiv pohledovým objemem (obě metody jsou vysvětleny v [Žára2004]), implementovány v grafickém procesoru, ale ten jejich vyhodnocení provádí poměrně pozdě v zobrazovacím řetězci. Většina moderních zobrazovacích systémů proto provádí odstranění grafických primitiv pohledovým objemem ještě před jejich posíláním do grafického procesoru. 25
33 Pro vyhodnocování viditelnosti jednotlivých buněk ve scéně byl nasazen pomocný pohledový objem. Jeho použití je velice jednoduché a výpočetně nenáročné. Nejprve se musí buňky umístit do obálky, která má tvar kulové plochy. Vytvoření obálky má v našem řešení dvě části: výpočet středu buňky a stanovení poloměru kulové obálky. Střed buňky je vypočítáván jako aritmetický průměr rohů buňky a poloměr kulové obálky je nejdelší vzdálenost od středu buňky k jejím rohům. Takto by ale vznikla kulová obálka pro každou buňku a pomocný pohledový objem by poté musel být vypočítáván a použit pro každou buňku. Proto jsme se rozhodli vybrat největší kulovou obálku a přiřadit její poloměr všem buňkám. Toto ovšem přináší jednu nevýhodu. Grafickému procesoru se posílají polygony buněk, které uživatel nemusí ve scéně vidět. Tyto polygony grafický procesor zbytečně zatěžují, ale není jich tolik, aby výrazně zpomalily vykreslování celé vegetace. Dalším důležitým krokem je sestavení pomocného pohledového objemu v závislosti na promítání. Pro středové promítání jej získáme posunutím pozice pozorovatele v pohledovém objemu středového promítání scény ve směru opačném k vektoru pohledu pozorovatele a posunutím bližší a vzdálenější ořezávací roviny. Velikost posunutí je závislá na kulové obálce buněk ve scéně a úhlu pohledu pozorovatele, označovaném jako α. Velikost posunutí, označovanou c, vypočteme pomocí vzorce uvedeného níže. r c = r sin (α /2) r α / 2 c α / 2 obálka buňky střed buňky α buňka bližší ořezávací rovina r pohledový objem c α pomocný pohledový objem Obr. 23: Pomocný ořezávací objem Takto získáme pomocný pohledový objem, v němž by se měly nacházet všechny středy buněk, které jsou pro pozorovatele viditelné. 26
34 4 Implementace 4.1 Použité technologie Pro implementaci je v první řadě nutné vybrat vhodný programovací prostředek, tedy vybrat programovací jazyk a vývojový nástroj. Zvolil jsem programovací jazyk C++, neboť se v současné době volí mezi objektovými programovacími jazyky. Tento jazyk má vytvořenou normu, což znamená, že lze zdrojový kód z velké části snadno přenést mezi vývojovými nástroji. Jako vývojový nástroj jsem zvolil Microsoft Visual Studio.NET 2003, protože je dostupný na UHK. V aplikaci je kladen důraz na interaktivitu s uživatelem, tedy na vykreslování vegetace s vysokou obnovovací frekvencí scény, pomocí které může aplikace okamžitě reagovat na pokyny uživatele a zároveň je uživatel schopen vnímat změny ve scéně. Z tohoto důvodu bylo zvoleno využití současných grafických akcelerátorů, neboť téměř všechny obsahují programovatelné procesory. Operace prováděné na vrcholech a pixelech nejsou vybírány z těch, které jsou pevně definovány v procesoru, ale jsou tvořeny jednoduchým programem kompilovaným za běhu aplikace. Programovatelné procesory tedy nabízí mnohem více možností a aplikaci lze jednoduše přizpůsobit pro potřeby uživatele. Aplikace vyžaduje grafický akcelerátor podporující vertexové a pixelové programy verze 2.0 a vyšší. Jestliže takovýto hardware daný osobní počítač neobsahuje, potom aplikace nic nevykreslí. V současné době existují pouze dvě rozhraní OpenGL a Direct3D, která poskytují přístup ke grafickému akcelerátoru. Otevřené rozhraní OpenGL dovoluje výrobcům grafických karet rozšiřovat standard o schopnosti akcelerátoru. Pokud se ale výrobci grafických karet nedohodnou na označení totožných funkcí, vede to k nepřehlednosti mezi rozšířeními jednotlivých verzí, k čemuž již došlo při značení vertexových a pixelových programů. Navíc toto rozhraní není objektově navrženo narozdíl od rozhraní Direct3D. Rozhraní Direct3D je částí multimediálního rozhraní DirectX společnosti Microsoft. Vždy je pevně definováno již při svém vzniku a obsahuje do jisté míry zpětnou kompatibilitu, ale pro využití jeho nových funkcí, které přicházejí vždy s novou verzí, je nutné přepsat některé části zdrojového kódu. 27
35 Rozhodl jsem tedy se použít rozhraní Direct3D 9.0, kvůli jednotnosti přístupu k funkcím grafického akcelerátoru a jeho objektové struktuře. Pokud není na osobním počítači nainstalován DirectX verze 9.0 nebo vyšší, aplikaci nebude možné spustit. 28
36 5 Výsledky Navržený algoritmus byl implementován do aplikace, která byla testována na dvou osobních počítačích. První sestava obsahovala procesor Intel Pentium 4 na 2,8GHz, operační paměť o velikosti 1,5GB a grafickou kartu ATI Radeon 9800 Pro s velikostí paměti 256MB. Druhá počítačová sestava obsahovala procesor Intel Pentium 4 na 3,2GHz, operační paměť o velikosti 2GB a grafickou kartu nvidia GeForce 6800 Ultra s velikostí paměti 256MB. Pro testy byla vytvořena vegetace skládající se z buněk (126x126 buněk), navíc měla vegetace stanovenou konstantní hustotu na stromů na 1 km 2. Testována byla dvě nastavení aplikace. V prvním nastavení byla délka buňky ve vegetaci stanovena na 400 m a v druhém na 800m. Tomuto nastavení odpovídalo i množství stromů na jeden plát. V prvním nastavení byla na plát nanesena textura skládající se z 50 stromů a ve druhém byla nanesena textura obsahující 100 stromů. V obou případech byla upravena výška stromů tak, aby odpovídala realitě. Při použití prvního nastavení aplikace byl rozsah vegetace km 2 (50,4x50,4 km) a celková vegetace byla tvořena 39,624 milióny stromů. V druhém nastavení aplikace se vegetace rozkládala na území o rozloze km 2 (100,8x100,8 km) a vegetaci tvořilo 158,5 miliónů stromů. Výsledky popisovaných nastavení aplikace jsou ukázány na Obr. 24 a 25. Při testování byla měřena obnovovací frekvence zobrazované scény a to ve dvou fázích: v klidu a při pohybu nad vegetací. Výsledky měření jsou uvedeny v Tabulce 4. Systém 1 Systém 2 při pohybu v klidu při pohybu v klidu 1. Nastavení Nastavení Tabulka 4: Výsledky měření obrázky za sekundu Z naměřených hodnot v Tabulce 4 vyplývá, že navrhovaný přístup je schopný zobrazovat vegetaci na rozloze tisíců a desetitisíců km 2 s obnovovací frekvencí větší než 25 snímků za vteřinu. Zobrazovaná vegetace působí realisticky a je vykreslována s dostatečnými detaily(viz Obr. 24 a 25). 29
37 Obr. 24: Vegetace s prvním nastavením Obr. 25: Vegetace s druhým nastavením 30
38 6 Závěr Stanoveným cílem práce bylo najít nebo navrhnout vhodný algoritmus pro zobrazování rozsáhlé vegetace, ve které není kladen důraz na detailní vykreslení jednotlivých stromů, ale na vykreslení vegetace jako celku. Nalezený nebo navržený přístup byl implementován do prototypu aplikace, ve které probíhalo vykreslování vegetace v reálném čase, aby mohl uživatel interaktivně komunikovat s aplikací. Žádný z nalezených existujících algoritmů nebyl pro vykreslování vegetace vhodným řešením, proto bylo navrženo nové. Toto řešení rozděluje vegetaci na jednotlivé buňky, které jsou odvozeny z povrchu, na němž se vegetace rozkládá. V buňkách je vegetace vykreslována pomocí určitého množství plátů, jež se navzájem kříží v předem stanovených bodech a na které je nanesena textura vegetace. Pomocí tohoto přístupu se podařilo snížit množství trojúhelníků potřebných na vykreslení jednoho stromu ve scéně hluboko pod hranici jednoho trojúhelníku na jeden strom. Díky takové redukci trojúhelníků je přístup schopen vykreslovat rozsáhlou vegetaci v reálném čase a s dostatečnými detaily. Pro další urychlení vykreslování vegetace ve scéně bylo zvoleno a v aplikaci implementováno ořezávání pomocným pohledovým objemem. Toto ořezávání představuje velice jednoduchou a snadno implementovatelnou metodu, která ochrání grafickou kartu od zpracovávání informací o buňkách, jež uživatel ve svém pohledu nemůže vidět. Aby docházelo k rychlejší interakci mezi vytvořenou aplikací a uživatelem, byla v implementaci použita technologie programovatelných procesorů grafických akcelerátorů urychlujících vykreslování trojrozměrné scény. Vytvořený software byl testován na dvou osobních počítačích s grafickými čipy různých výrobců a na dvou vegetacích s odlišnou velikostí. Na testovaných vegetacích bylo pro oba počítačové systémy docíleno dostatečné obnovovací frekvence scény pro rychlou interakci mezi uživatelem a aplikací. V další práci by bylo vhodné zaměřit se na zlepšení aproximace povrchu vegetací. Nejvhodnější by bylo rozdělit vegetaci v buňce do dvou částí, které by měly půdorys ve tvaru trojúhelníku, neboť právě toto rozdělení bude nejlépe aproximovat povrch, na němž se vegetace rozkládá. 31
39 7 Odkazy [Ati] [Decaudin04] [DX9SDK] ATI Technologies Inc. [online]. Dostupný z WWW: < > DECAUDIN, P., NEYRET, F. Rendering Forest Scene in Real- Time [online]. In Rendering Techniques 04, Eurographics Symphosium on Rendering, page , květen, 2004 [citace říjen, ]. Dostupný z WWW: < DirectX Documentation in C++. DirectX 9 Software Development Kit [online]. Microsoft, 2, 2005 [citace březen, 7., 2004]. Dostupný z WWW: < [Inmacul02] INMACULADA, R., CHOVER, M., BELMONTE, Ó., RIBELLES, REBOLLO, C. Real Time Tree Rendering [online]. Technical Report DLSI 01/03/2002, Departamento de Lenguajes y Sistemas Informaticos, Universitat Jaume I, Castellón, Spain, březen, 2002 [citace listopad, 20., 2004]. Dostupný z WWW: < dlsi_ pdf> [Jakulin2000] [nvidia] [Szijártó03] [Žára2004] JAKULIN, A. Interactive Vegetation Rendering with Slicing and Blending [online]. Eurographics Conference short paper, 2000 [citace listopad, 15., 2004 ]. Dostupný z WWW: < NVIDIA Home [online]. Dostupný z WWW: < SZIJÁRTÓ, G., KOLOSZÁR, J. Hardware Accelerated Rendering of Foliage for Real-Time Application [databáze online]. In International Conference on Computer Graphics and Interactive Techniques, Session: Rendering, page , Budmerice, Slovenia, 2003, [citace listopad, 13., 2004]. ISBN: X. Dostupný z WWW: < htttp://portal.acm.org> ŽARA, J., BENEŠ, B., FELKEL, P., SOCHOR, J. Moderní počítačová grafika. Computer Press, ISBN:
Zobrazování terénu. Abstrakt. 1. Úvod. 2. Vykreslování terénu
Zobrazování terénu Jan Vaněk, Bruno Ježek Universita Obrany, Fakulta vojenského zdravotnictví, Katedra všeobecně vzdělávacích oborů e-mail: vanek@pmfhk.cz; jezek@pmfhk.cz Abstrakt Vizualizace terénu je
Více11 Zobrazování objektů 3D grafiky
11 Zobrazování objektů 3D grafiky Studijní cíl Tento blok je věnován základním algoritmům zobrazení 3D grafiky. Postupně budou probrány základní metody projekce kolmé promítání, rovnoběžné promítání a
Více13 Barvy a úpravy rastrového
13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody
VíceStudentská tvůrčí a odborná činnost STOČ 2013 3D MODELY STROMŮ PRO VYUŽITÍ V REAL-TIME APLIKACI. Michaela Brázdilová
Studentská tvůrčí a odborná činnost STOČ 2013 3D MODELY STROMŮ PRO VYUŽITÍ V REAL-TIME APLIKACI Michaela Brázdilová STOČ 25. dubna 2013 UTB ve Zlíně, Fakulta aplikované informatiky, 2013 2 OBSAH ANOTACE...
VíceProgramátorská dokumentace
Programátorská dokumentace Požadavky Cílem tohoto programu bylo představit barevné systémy, zejména převody mezi nejpoužívanějšími z nich. Zároveň bylo úkolem naprogramovat jejich demonstraci. Pro realizaci
VíceJana Dannhoferová Ústav informatiky, PEF MZLU
Počítačová grafika 1. Definice oblasti souvisí: a) s definováním množiny všech bodů, které náleží do hranice a zároveň do jejího vnitřku b) s popisem její hranice c) s definováním množiny všech bodů, které
VíceSouřadnicové prostory
Prostor objektu Tr. objektu Tr. modelu Prostor scény Souřadnicové prostory V V x, y z x, y z z -z x, y Tr. objektu V =V T 1 T n M Tr. modelu Tr. scény x, y Tr. pohledu Tr. scény Tr. pohledu Prostor pozorovatele
Více7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem
7 Transformace 2D Studijní cíl Tento blok je věnován základním principům transformací v rovinné grafice. V následujícím textu bude vysvětlen rozdíl v přístupu k transformacím u vektorového a rastrového
VíceZobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování
problematika geometrického modelování manifold, Eulerova rovnost základní typy modelů hranový model stěnový model objemový model datové reprezentace modelů základní metody geometrického modelování těleso
Více9 Prostorová grafika a modelování těles
9 Prostorová grafika a modelování těles Studijní cíl Tento blok je věnován základům 3D grafiky. Jedná se především o vysvětlení principů vytváření modelů 3D objektů, jejich reprezentace v paměti počítače.
VíceArchitektura počítačů
Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem
Více2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín
Více12 Metody snižování barevného prostoru
12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů
VíceNávod k použití softwaru Solar Viewer 3D
Návod k použití softwaru Solar Viewer 3D Software byl vyvinut v rámci grantového projektu Technologie a systém určující fyzikální a prostorové charakteristiky pro ochranu a tvorbu životního prostředí a
VíceGymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto
Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT
VíceGIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
Vícemonitor a grafická karta
monitor a grafická karta monitor a grafická karta monitor slouží ke sdělování výsledků či průběhu řešených úloh a komunikaci operačního systému nebo programu s uživatelem. vše co má být zobrazeno na obrazovce,
VíceTypy geometrie v. Rhinu. Body
Typy geometrie v 16 Rhinu Rhino rozeznává pět základních typů geometrie: body (points), křivky (curves), plochy (surfaces) a spojené plochy (polysurfaces). Navíc jsou plochy nebo spojené plochy, které
VíceRasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1
Kapitola 4 Rasterizace objektů Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na rastrově definované obrazy. Při zobrazení reálného modelu ve světových souřadnicích na výstupní
VíceINFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_13_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077
VíceVyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)
Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného) 1 Obecný popis metody Particle Image Velocimetry, nebo-li zkráceně PIV, je měřící
VíceÚvod Typy promítání Matematický popis promítání Implementace promítání Literatura. Promítání. Pavel Strachota. FJFI ČVUT v Praze
Promítání Pavel Strachota FJFI ČVUT v Praze 30. března 2011 Obsah 1 Úvod 2 Typy promítání 3 Matematický popis promítání 4 Implementace promítání Obsah 1 Úvod 2 Typy promítání 3 Matematický popis promítání
VícePočítačová grafika RHINOCEROS
Počítačová grafika RHINOCEROS Ing. Zuzana Benáková Základní otázkou grafických programů je způsob zobrazení určitého tvaru. Existují dva základní způsoby prezentace 3D modelů v počítači. První využívá
VíceVýpočet vržených stínů
Výpočet vržených stínů 1996-2016 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Shadows 2016 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 18 Metody vícenásobný
VíceGIS Geografické informační systémy
GIS Geografické informační systémy Obsah přednášky Prostorové vektorové modely Špagetový model Topologický model Převody geometrií Vektorový model Reprezentuje reálný svět po jednotlivých složkách popisu
VíceMRBT M8. VIDITELNOST OBJEKTŮ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Bc. MARTIN MAŠTERA
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY MRBT M8. VIDITELNOST OBJEKTŮ AUTOŘI PRÁCE Bc. JAKUB BERÁNEK Bc. MARTIN MAŠTERA VEDOUCÍ
VíceGRAFICKÉ KARTY. Pracovní režimy grafické karty. Základní blokové schéma grafické karty
GRAFICKÉ KARTY Grafická karta (též videokarta, grafický adaptér) je zařízení, které zabezpečuje výstup dat z počítače na obrazovku monitoru, tj. přebírá data od procesoru a převádí je na videosignál, který
Více1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.
Kapitola 5 Řešení viditelnosti Řešit viditelnost ve scéně umí většina grafických programů. Cílem je určit ty objekty, resp. jejich části, které jsou viditelné z určitého místa. Tyto algoritmy jsou vždy
VíceHierarchický model. 1995-2013 Josef Pelikán CGG MFF UK Praha. pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16
Hierarchický model 1995-2013 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ 1 / 16 Hierarchie v 3D modelování kompozice zdola-nahoru složitější objekty se sestavují
VícePROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač
PROGRAMY PRO GIS Formovat/formulovat problém pro aplikaci v počítači Fungování GIS programů na základní úrovni - "uvažovat" jako počítač Jak počítače řeší problémy procesor central processing unit - CPU
VíceInteraktivní modely pro Konstruktivní geometrii
Interaktivní modely pro Konstruktivní geometrii Jakub Makarovský Abstrakt V příspěvku jsou prezentovány interaktivní modely základních úloh z Konstruktivní geometrie (1. ročník, zimní semestr) zaměřující
VíceLekce 4 - Vektorové a rastrové systémy
Lekce 4 - Vektorové a rastrové systémy 1. Cíle lekce... 1 2. Vlastnosti rastrových systémů... 1 2.1 Zobrazování vrstev... 1 2.1.1 Základní zobrazování... 1 2.1.2 Další typy zobrazení... 2 2.2 Lokální operace...
VíceZobrazování bannerů podporují pouze nově vytvořené šablony motivů vzhledu.
Bannerový systém ProEshop od verze 1.13 umožňuje zobrazování bannerů na popředí e-shopu. Bannerový systém je přístupný v administraci e-shopu v nabídce Vzhled, texty Bannerový systém v případě, že aktivní
VíceZáklady 3D modelování a animace v CGI systémech Cinema 4D C4D
EVROPSKÝ SOCIÁLNÍ FOND Základy 3D modelování a animace v CGI systémech Cinema 4D C4D PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Mgr. David Frýbert 2013 CGI systémy Computer - generated imagery - aplikace
Více2. přednáška z předmětu GIS1 Data a datové modely
2. přednáška z předmětu GIS1 Data a datové modely Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Pro přednášku byly použity texty a obrázky z www.gis.zcu.cz Předmět KMA/UGI, autor Ing. K.
VíceLingebraické kapitolky - Analytická geometrie
Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V
VíceStředové promítání. Středové promítání E ~ ~ 3. dané průmětnou r a bodem S (S r) je zobrazení prostoru...
Středové promítání Středové promítání dané průmětnou r a bodem S (S r) je zobrazení prostoru... E ~ 3 (bez S) na r takové, že obrazem bodu A je bod A =SA r. rozšířená euklidovská přímka E ~ 1 E1 U E ~
VíceCo je grafický akcelerátor
Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven
VíceVektorové grafické formáty
Vektorové grafické formáty Semestrální práce na předmět KAPR Fakulta stavební ČVUT 28.5.2009 Vypracovali: Petr Vejvoda, Ivan Pleskač Obsah Co je to vektorová grafika Typy vektorových formátů Souborový
Více9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy. Vyučující: Ing. Jan Pacina, Ph.D.
9. přednáška z předmětu GIS1 Digitální model reliéfu a odvozené povrchy Vyučující: Ing. Jan Pacina, Ph.D. e-mail: jan.pacina@ujep.cz Lehký úvod Digitální modely terénu jsou dnes v geoinformačních systémech
VíceVoronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta
12 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info Definice V( P) nad množinou bodů P { p v rovině 1,
VícePŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII V úvodu analytické geometrie jsme vysvětlili, že její hlavní snahou je popsat geometrické útvary (body, vektory, přímky, kružnice,...) pomocí čísel nebo proměnných.
VíceMezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty
Kontaktní prvky Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty Základní myšlenka Modelování posunu po smykové ploše, diskontinuitě či na rozhraní konstrukce a okolního
VíceRastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1
GIS 1 153GS01 / 153GIS1 Martin Landa Katedra geomatiky ČVUT v Praze, Fakulta stavební 14.11.2013 Copyright c 2013 Martin Landa Permission is granted to copy, distribute and/or modify this document under
VíceKapitola 2. o a paprsek sil lze ztotožnit s osou x (obr.2.1). sil a velikost rovnou algebraickému součtu sil podle vztahu R = F i, (2.
Kapitola 2 Přímková a rovinná soustava sil 2.1 Přímková soustava sil Soustava sil ležící ve společném paprsku se nazývá přímková soustava sil [2]. Působiště všech sil m i lze posunout do společného bodu
VíceAutodesk AutoCAD 2018
Novinky Autodesk AutoCAD 2018 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk AutoCAD 2018 PDF dokument obsahuje přehled novinek produktu AutoCAD 2018. AutoCAD 2018
VíceKatedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013
Katedra informatiky, Univerzita Palackého v Olomouci 27. listopadu 2013 Rekonstrukce 3D těles Reprezentace trojrozměrných dat. Hledání povrchu tělesa v těchto datech. Představení několika algoritmů. Reprezentace
VíceRastrová reprezentace
Rastrová reprezentace Zaměřuje se na lokalitu jako na celek Používá se pro reprezentaci jevů, které plošně pokrývají celou oblast, případně se i spojitě mění. Používá se i pro rasterizované vektorové vrstvy,
VíceÚvod do GIS. Prostorová data II. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.
Úvod do GIS Prostorová data II. část Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium. Karel Jedlička Prostorová data Analogová prostorová data Digitální
VíceKreslení obrazů součástí Zobrazování geometrických těles. Zobrazení kvádru
Kreslení obrazů součástí Zobrazování geometrických těles Zobrazení kvádru Kreslení obrazů součástí Zobrazování geometrických těles Zobrazení jehlanu s čtvercovou podstavou Kreslení obrazů součástí Zobrazování
VíceTéma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."
Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech." Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Na
VíceMatematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32
Matematika 1 12. přednáška MA1 1 Analytická geometrie v prostoru - základní pojmy 2 Skalární, vektorový a smíšený součin, projekce vektoru 3 Přímky a roviny 4 Vzdálenosti 5 Příčky mimoběžek 6 Zkouška;
VícePohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
Víceb) Po etní ešení Všechny síly soustavy tedy p eložíme do po átku a p ipojíme p íslušné dvojice sil Všechny síly soustavy nahradíme složkami ve sm
b) Početní řešení Na rozdíl od grafického řešení určíme při početním řešení bod, kterým nositelka výslednice bude procházet. Mějme soustavu sil, která obsahuje n - sil a i - silových dvojic obr.36. Obr.36.
VícePopis funkcí tlačítek jednotlivých modulů programu OGAMA
Nevázaná příloha bakalářské práce VYUŽITÍ OPEN-SOURCE NÁSTROJŮ PRO PŘÍPRAVU, PRŮBĚH A VYHODNOCENÍ EYE-TRACKING EXPERIMENTŮ Popis funkcí tlačítek jednotlivých modulů programu OGAMA Michal KUČERA, 2014 Replay
VíceG R A F I C K É K A R T Y
G R A F I C K É K A R T Y Grafická karta nebo také videoadaptér je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku. Režimy grafických karet TEXTOVÝ
VíceHVrchlík DVrchlík. Anuloid Hrana 3D síť
TVORBA PLOCH Plochy mají oproti 3D drátovým modelům velkou výhodu, pro snadnější vizualizaci modelů můžeme skrýt zadní plochy a vytvořit stínované obrázky. Plochy dále umožňují vytvoření neobvyklých tvarů.
VíceProhledávání do šířky = algoritmus vlny
Prohledávání do šířky = algoritmus vlny - souběžně zkoušet všechny možné varianty pokračování výpočtu, dokud nenajdeme řešení úlohy průchod stromem všech možných cest výpočtu do šířky, po vrstvách (v každé
VíceInterakce prostorů IIIv 7
Převod bodů diskrétního prostoru do perspektivního zrakového - stručně Interakce prostorů IIIv 7 Bohumír Tichánek Když uděláte ze čtverce kruh, pak naleznete vše tajné * * * George Ripley (1415-1490) Převod
Více2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2
Výpočet transformačních koeficinetů vybraných 2D transformací Jan Ježek červen 2008 Obsah Odvození transformačního klíče vybraných 2D transformací 2 Meto vyrovnání 2 2 Obecné vyjádření lineárních 2D transformací
VíceTechnické zobrazování
Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Technické zobrazování V technické praxi se setkáváme s potřebou zobrazení prostorových útvarů pomocí náčrtu
VíceGrafická karta nebo také videoadaptér je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku.
Grafická karta nebo také videoadaptér je součást počítače, která se stará o grafický výstup na monitor, TV obrazovku či jinou zobrazovací jednotku. Grafická karta je zařízení, které převádí signál z počítače,nuly
VíceAGP - Accelerated Graphics Port
AGP - Accelerated Graphics Port Grafiku 3D a video bylo možné v jisté vývojové etapě techniky pracovních stanic provozovat pouze na kvalitních pracovních stanicích (cena 20 000 USD a více) - AGP představuje
VíceDigitální model reliéfu (terénu) a analýzy modelů terénu
Digitální model reliéfu (terénu) a analýzy modelů terénu Digitální modely terénu jsou dnes v geoinformačních systémech hojně využívány pro různé účely. Naměřená terénní data jsou často zpracována do podoby
VíceVývoj počítačové grafiky. Tomáš Pastuch Pavel Skrbek 15.3. 2010
Vývoj počítačové grafiky Tomáš Pastuch Pavel Skrbek 15.3. 2010 Počítačová grafika obor informatiky, který používá počítače k tvorbě umělých grafických objektů nebo pro úpravu již nasnímaných grafických
VíceÚLOHY S POLYGONEM. Polygon řetězec úseček, poslední bod je totožný s prvním. 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU
ÚLOHY S POLYGONEM Polygon řetězec úseček, poslední bod je totožný s prvním 6 bodů: X1, Y1 až X6,Y6 Y1=X6, Y1=Y6 STANOVENÍ PLOCHY JEDNOHO POLYGONU 3 úsečky (segmenty) v horní části 2 úsečky ve spodní části
VíceSurfels: Surface Elements as Rendering Primitives
Surfels: Surface Elements as Rendering Primitives Výzkum v počítačové grafice Martin Herodes Nevýhody plošných primitiv Reprezentace složitých objektů pomocí plošných primitiv (trojúhelníků, čtyřúhelníků
VíceZavádění inovativních metod a výukových materiálů do přírodovědných předmětů na Gymnáziu v Krnově 07_10_Zobrazování optickými soustavami 1
Zavádění inovativních metod a výukových materiálů do přírodovědných předmětů na Gymnáziu v Krnově 07_10_Zobrazování optickými soustavami 1 Ing. Jakub Ulmann Zobrazování optickými soustavami 1. Optické
VíceANALYTICKÁ GEOMETRIE V ROVINĚ
ANALYTICKÁ GEOMETRIE V ROVINĚ Analytická geometrie vyšetřuje geometrické objekty (body, přímky, kuželosečky apod.) analytickými metodami. Podle prostoru, ve kterém pracujeme, můžeme analytickou geometrii
VíceRastrové digitální modely terénu
Rastrové digitální modely terénu Rastr je tvořen maticí buněk (pixelů), které obsahují určitou informaci. Stejně, jako mohou touto informací být typ vegetace, poloha sídel nebo kvalita ovzduší, může každá
Více3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem
ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte
VícePočítačová grafika 2 (POGR2)
Počítačová grafika 2 (POGR2) Pavel Strachota FJFI ČVUT v Praze 19. února 2015 Kontakt Ing. Pavel Strachota, Ph.D. Katedra matematiky Trojanova 13, místnost 033a E-mail: pavel.strachota@fjfi.cvut.cz WWW:
VíceAplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jan Boháček [ÚLOHA 27 NÁSTROJE KRESLENÍ]
Aplikované úlohy Solid Edge SPŠSE a VOŠ Liberec Ing. Jan Boháček [ÚLOHA 27 NÁSTROJE KRESLENÍ] 1 CÍL KAPITOLY V této kapitole si představíme Nástroje kreslení pro tvorbu 2D skic v modulu Objemová součást
VíceANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ
ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,
VíceTECHNICKÁ DOKUMENTACE
VŠB-TU Ostrava, Fakulta elektrotechniky a informatiky Katedra elektrických strojů a přístrojů KAT 453 TECHNICKÁ DOKUMENTACE (přednášky pro hodiny cvičení) Zobrazování Petr Šňupárek, Martin Marek 1 Co je
VíceLekce 10 Analýzy prostorových dat
Lekce 10 Analýzy prostorových dat 1. Cíle lekce... 1 2. Základní funkce analýza prostorových dat... 1 3. Organizace geografických dat pro analýzy... 2 4. Údržba a analýza prostorových dat... 2 5. Údržba
Více7. Geografické informační systémy.
7. Geografické informační systémy. 154GEY2 Geodézie 2 7.1 Definice 7.2 Komponenty GIS 7.3 Možnosti GIS 7.4 Datové modely GIS 7.5 Přístup k prostorovým datům 7.6 Topologie 7.7 Vektorové datové modely 7.8
VíceDUM č. 14 v sadě. 31. Inf-7 Technické vybavení počítačů
projekt GML Brno Docens DUM č. 14 v sadě 31. Inf-7 Technické vybavení počítačů Autor: Roman Hrdlička Datum: 24.02.2014 Ročník: 1A, 1B, 1C Anotace DUMu: Grafické karty: zapojení, součásti, napájení, chlazení.
VíceReflections, refractions, interreflections
:: gs Reflections, refractions, interreflections Odrazy a lomy světla Grafické systémy David Sedláček 2004 :: fyzika Zákon odrazu Lom světla Snellův zákon Fresnelova rovnice poměr prošlého a odraženého
VíceAlgoritmizace prostorových úloh
Algoritmizace prostorových úloh Vektorová data Daniela Szturcová Prostorová data Geoobjekt entita definovaná v prostoru. Znalost jeho identifikace, lokalizace umístění v prostoru, vlastností vlastních
VíceVytvoření a úpravy geologického modelu
Inženýrský manuál č. 39 Aktualizace 11/2018 Vytvoření a úpravy geologického modelu Program: Stratigrafie Soubor: Demo_manual_39.gsg Úvod Cílem tohoto inženýrského manuálu je vysvětlit základní práci s
VíceMgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 1 bod 1 Určete průsečík P[x, y] grafů funkcí f: y = x + 2 a g: y = x 1 2, které jsou definovány na množině reálných
VíceTECHNICKÁ DOKUMENTACE
TECHNICKÁ DOKUMENTACE Jan Petřík 2013 Projekt ESF CZ.1.07/2.2.00/28.0050 Modernizace didaktických metod a inovace výuky technických předmětů. Obsah přednášek 1. Úvod do problematiky tvorby technické dokumentace
VíceAlgoritmy pro shlukování prostorových dat
Algoritmy pro shlukování prostorových dat Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 21. 26. leden 2018 Rybník - Hostouň
VíceCVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 36 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Určete iracionální číslo, které je vyjádřeno číselným výrazem (6 2 π 4
VíceReprezentace 3D modelu
Ing. Jan Buriánek (ČVUT FIT) Reprezentace 3D modelu BI-MGA, 2010, Přednáška 8 1/25 Reprezentace 3D modelu Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké
VíceVyplňování souvislé oblasti
Počítačová grafika Vyplňování souvislé oblasti Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU. Které z následujících tvrzení není pravdivé: a) Princip interpolace je určení
VíceVzorce počítačové grafiky
Vektorové operace součet vektorů rozdíl vektorů opačný vektor násobení vektoru skalárem úhel dvou vektorů velikost vektoru a vzdálenost dvojice bodů v rovině (v prostoru analogicky) u = B A= b a b a u
VíceSatori. Uživatelský manuál
Satori Uživatelský manuál Obsah Satori...1 1. Program... 3 1.1 Cíle hry... 3 1.2 Požadavky...3 1.3 Instalace... 4 1.4 Ovládání... 4 1.5 Grafika...4 1.6 Zvuky...4 1.7 Soubory...4 1.8 Menu...5 1.9 Nastavení...
VíceShodná zobrazení v rovině
Shodná zobrazení v rovině Zobrazení Z v rovině je předpis, který každému bodu X roviny přiřazuje právě jeden bod X roviny. Bod X se nazývá vzor, bod X jeho obraz. Zapisujeme Z: X X. Množinu obrazů všech
VíceAlgoritmy výpočetní geometrie
Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
VíceIng. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010
Ing. Jan Buriánek (ČVUT FIT) Reprezentace bodu a zobrazení BI-MGA, 2010, Přednáška 2 1/33 Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické
VíceTopografické plochy KG - L MENDELU. KG - L (MENDELU) Topografické plochy 1 / 56
Topografické plochy KG - L MENDELU KG - L (MENDELU) Topografické plochy 1 / 56 Obsah 1 Úvod 2 Křivky a body na topografické ploše 3 Řez topografické plochy rovinou 4 Příčný a podélný profil KG - L (MENDELU)
VíceJana Dannhoferová Ústav informatiky, PEF MZLU
Počítačová grafika Křivky Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU Základní vlastnosti křivek křivka soustava parametrů nějaké rovnice, která je posléze generativně
VíceStaré mapy TEMAP - elearning
Staré mapy TEMAP - elearning Modul 5 Digitalizace glóbů Ing. Markéta Potůčková, Ph.D. 2015 Přírodovědecká fakulta UK v Praze Katedra aplikované geoinformatiky a kartografie Motivace Glóby vždy byly a jsou
VíceAlgoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Úlohy nad rastrovými daty Daniela
VíceNovinky. Autodesk Vault helpdesk.graitec.cz,
Novinky Autodesk Vault 2018 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk Vault 2018 PDF dokument obsahuje přehled novinek produktu Autodesk Vault 2018. Obsah: Úvod...
VíceGrafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.
Grafy doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Grafy 104 / 309 Osnova přednášky Grafy
VíceObsah Přehled existujících a evidence nových klientů... 3 Přehled foto-záznamů... 4 Nahrávání foto-záznamů... 6 Analýza foto-záznamů...
1 Obsah 1. Přehled existujících a evidence nových klientů... 3 1.1. Filtrování, vyhledávání údajů... 4 2. Přehled foto-záznamů... 4 3. Nahrávání foto-záznamů... 6 3.1. Změna velikosti foto-záznamu... 7
Více