Vegetace v trojrozměrné scéně

Rozměr: px
Začít zobrazení ze stránky:

Download "Vegetace v trojrozměrné scéně"

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. 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íce

11 Zobrazování objektů 3D grafiky

11 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íce

13 Barvy a úpravy rastrového

13 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íce

Studentská 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á 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íce

Programátorská dokumentace

Programá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íce

Jana Dannhoferová Ústav informatiky, PEF MZLU

Jana 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íce

Souřadnicové prostory

Souř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íce

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

7 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íce

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Zobrazová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íce

9 Prostorová grafika a modelování těles

9 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íce

Architektura počítačů

Architektura 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íce

2.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

2.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íce

12 Metody snižování barevného prostoru

12 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íce

Návod k použití softwaru Solar Viewer 3D

Ná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íce

Gymná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 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íce

GIS Geografické informační systémy

GIS 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íce

monitor a grafická karta

monitor 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íce

Typy geometrie v. Rhinu. Body

Typy 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íce

Rasterizace je proces při kterém se vektorově definovaná grafika konvertuje na. x 2 x 1

Rasterizace 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íce

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČ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íce

Vyhodnocení 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) 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

Ú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íce

Počítačová grafika RHINOCEROS

Počí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íce

Výpočet vržených stínů

Vý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íce

GIS Geografické informační systémy

GIS 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íce

MRBT M8. VIDITELNOST OBJEKTŮ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Bc. MARTIN MAŠTERA

MRBT 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íce

GRAFICKÉ KARTY. Pracovní režimy grafické karty. Základní blokové schéma grafické karty

GRAFICKÉ 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íce

1. Vektorové algoritmy jejich výstupem je soubor geometrických prvků, např.

1. 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íce

Hierarchický 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 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íce

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č

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č 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íce

Interaktivní modely pro Konstruktivní geometrii

Interaktivní 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íce

Lekce 4 - Vektorové a rastrové systémy

Lekce 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íce

Zobrazování bannerů podporují pouze nově vytvořené šablony motivů vzhledu.

Zobrazová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íce

Základy 3D modelování a animace v CGI systémech Cinema 4D C4D

Zá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íce

2. 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 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íce

Lingebraické kapitolky - Analytická geometrie

Lingebraické 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íce

Stř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í 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íce

Co je grafický akcelerátor

Co 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íce

Vektorové grafické formáty

Vektorové 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íce

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.

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. 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íce

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Voronoiů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íce

PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII

PŘÍ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íce

Mezi jednotlivými rozhraními resp. na nosníkových prvcích lze definovat kontakty

Mezi 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íce

Rastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1

Rastrová 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íce

Kapitola 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. 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íce

Autodesk AutoCAD 2018

Autodesk 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íce

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

Katedra 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íce

Rastrová reprezentace

Rastrová 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. Ú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íce

Kreslení 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í kvádru Kreslení obrazů součástí Zobrazování geometrických těles Zobrazení jehlanu s čtvercovou podstavou Kreslení obrazů součástí Zobrazování

Více

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í: 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íce

Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32

Matematika 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íce

Pohled do nitra mikroprocesoru Josef Horálek

Pohled 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íce

b) 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í 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íce

Popis funkcí tlačítek jednotlivých modulů programu OGAMA

Popis 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íce

G R A F I C K É K A R T Y

G 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íce

HVrchlík DVrchlík. Anuloid Hrana 3D síť

HVrchlí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íce

Prohledávání do šířky = algoritmus vlny

Prohledá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íce

Interakce prostorů IIIv 7

Interakce 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íce

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

2D 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íce

Technické zobrazování

Technické 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íce

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 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íce

AGP - Accelerated Graphics Port

AGP - 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íce

Digitá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í 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íce

Vý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 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 Ú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íce

Surfels: Surface Elements as Rendering Primitives

Surfels: 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íce

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

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 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íce

ANALYTICKÁ GEOMETRIE V ROVINĚ

ANALYTICKÁ 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íce

Rastrové digitální modely terénu

Rastrové 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íce

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

3. ú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íce

Počítačová grafika 2 (POGR2)

Počí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íce

Aplikované ú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Í] 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íce

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

ANALYTICKÁ 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íce

TECHNICKÁ DOKUMENTACE

TECHNICKÁ 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íce

Lekce 10 Analýzy prostorových dat

Lekce 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íce

7. Geografické informační systémy.

7. 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íce

DUM č. 14 v sadě. 31. Inf-7 Technické vybavení počítačů

DUM č. 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íce

Reflections, refractions, interreflections

Reflections, 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íce

Algoritmizace prostorových úloh

Algoritmizace 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íce

Vytvoření a úpravy geologického modelu

Vytvoř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íce

Mgr. 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 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íce

TECHNICKÁ DOKUMENTACE

TECHNICKÁ 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íce

Algoritmy pro shlukování prostorových dat

Algoritmy 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íce

CVIČ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. 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íce

Reprezentace 3D modelu

Reprezentace 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íce

Vyplňování souvislé oblasti

Vyplň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íce

Vzorce počítačové grafiky

Vzorce 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íce

Satori. Uživatelský manuál

Satori. 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íce

Shodná zobrazení v rovině

Shodná 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íce

Algoritmy výpočetní geometrie

Algoritmy 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íce

Ing. 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. 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íce

Topografické plochy KG - L MENDELU. KG - L (MENDELU) Topografické plochy 1 / 56

Topografické 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íce

Jana Dannhoferová Ústav informatiky, PEF MZLU

Jana 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íce

Staré mapy TEMAP - elearning

Staré 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íce

Algoritmizace prostorových úloh

Algoritmizace 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íce

Novinky. Autodesk Vault helpdesk.graitec.cz,

Novinky. 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íce

Grafy. 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. 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íce

Obsah 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ů...

Obsah 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