České vysoké učení technické v Praze Fakulta elektrotechnická. Autorský nástroj pro projektivní zobrazování na fasády budov
|
|
- Libuše Květa Marková
- před 9 lety
- Počet zobrazení:
Transkript
1 České vysoké učení technické v Praze Fakulta elektrotechnická Autorský nástroj pro projektivní zobrazování na fasády budov Bakalářská práce Autor práce: Martin Kolací Vedoucí práce: Ing. Roman Berka, Ph.D. Studijní program: Softwarové technologie a management Obor: Web a multimedia Praha 211
2
3 Čestné prohlášení Prohlašuji, že jsem zadanou diplomovou práci zpracoval sám s přispěním vedoucího práce a konzultanta a používal jsem pouze literaturu v práci uvedenou. Dále prohlašuji, že nemám námitek proti půjčování nebo zveřejňování mé diplomové práce nebo její části se souhlasem katedry. Datum: podpis autora
4
5 Anotace Práce se zaměřuje na problematiku počítačové grafiky a její projekce na nejrůznější druhy podkladu (tzv. mapping ). Součástí práce je pojednání o vhodnosti a omezeních různých druhů projekčního zařízení v předem určených podmínkách. Čtenář se seznámí s problematikou transformací, transformačních matic a texturování v počítačové grafice a OpenGL. V rámci bakalářské práce jsem navrhl a implementoval aplikaci v jazyce C++, která popisuje základní postupy a techniky při vytváření projekce. Pro implementaci aplikace je využita knihovna OpenGL a její nadstavba GLUT (OpenGL Utility Toolkit), která je v této práci také popsána. Summary This work focuses on the problems of computer graphics and its projection on various types of surface (the so-called mapping ). It includes important facts about different projection devices and their usage in specific conditions. A reader will get to know to the problems of transformation, transformation matrixes and texturing in computer graphics and in OpenGL. Within this bachelor thesis I have designed and implemented an application in C++, which describes the basic processes and techniques when projecting. Library OpenGL and its interface GLUT have been used for the implementation of the application.
6
7 Obsah 1 Úvod do mappingu Co je to mapping Výrobní postup Výrobní postup Měření, fotodokumentace a příprava D model Projekce Projekční zařízení Základní dělení projektorů Filmový projektor Diaprojektor Dataprojektor Zobrazovací technologie dataprojektorů DLP (Digital Light Processing) LED (Light-Emitting Diode) LCD (Liquid Crystal Display) LCoS (Liquid Crystal on Semiconductor) CRT (Cathod Ray Tube) D-ILA (Direct-Drive Image Light Amplification) Parametry dataprojektorů Světelný výkon Ohnisko objektivu Rozlišení Kontrast Rozhraní Počítačová grafika a OpenGL... 23
8 4.1 OpenGL Transformace obecně Posunutí Otočení Změna měřítka Zkosení Skládání transformací Transformace v OpenGL Nastavení aktuální transformační matice Změna obsahu aktuálně nastavené transformační matice Získání hodnot prvků jednotlivých transformačních matic Použití transformačních matic Skládání transformací Zásobník matic Primitiva v OpenGL Texturování v OpenGL Výhody a nevýhody rastrových textur Podpora texturování v OpenGL Omezení texturování v OpenGL Aplikace Popis aplikace Zobrazovací okno Editační okno Způsob použití Implementace nejdůležitějších částí Zobrazování vrstev Načítání TGA textury Načítání textur z AVI souboru... 41
9 5.4 Test aplikace Test Test Rozšíření stávající aplikace Závěr Zdroje Seznam příloh... 51
10
11 1 Úvod do mappingu 1.1 Co je to mapping Video mapping je směr vizuálního umění, které využívá projekci ve volném prostoru na libovolné objekty, např. fasády domů nebo interiéry budov. Pro realizaci jsou potřeba silné projektory, odpovídající programové vybavení a tma nebo alespoň šero. Pro přípravu kvalitní projekce je nutná předchozí znalost scény, často jsou vytvářeny 3D modely prostoru budovy nebo fasády domu, aby bylo docíleno dokonalého splynutí světelného divadla se scénou. Výsledek poté připomíná sekvence filmu, ve kterém se reálná kulisa prolíná s virtuálním dějem, např. z fasády domu se vynořují jednotlivé cihly, z oken se vyklánějí lidé a vylétají předměty, ze střechy stéká vodopád apod. Obecně jsou hlavním smyslem video mappingu projekce, které spolupracují s vybraným objektem a usilují o rozbití vnímání perspektivy u diváka. Pomocí projektorů lze zakřivit a zdůraznit jakýkoliv tvar, linii nebo prostor. Všechno se stává iluzí. Nejčastěji se video mapping využívá pro zatraktivnění kulturních událostí a festivalů. V roce 21 objevil video mapping reklamní průmysl a v současné době se začíná vyskytovat mapování reklam na předměty. [1] 1.2 Výrobní postup Videomapping se připravuje pro každou budovu zvlášť. Základem je pořízení fotografií budovy, na kterou se bude promítat, přesně z míst, kde budou stát jednotlivé projektory. Z pořízených podkladů se pomocí digitální animace připraví vlastní program, který mohou doprovázet i hudba a zvukové efekty. [2] Jelikož není technicky možné umístit projektor na naprosto stejné místo, ze kterého byli pořízeny referenční fotografie, a optická soustava fotoaparátu není nikdy zcela shodná s projekčním zařízením, je třeba připravenou animaci na místě dorovnat s podkladem. Podrobněji si postup výroby popíšeme v následující kapitole. 13
12 14
13 2 Výrobní postup 2.1 Měření, fotodokumentace a příprava Základem úspěšné a efektní projekce je příprava. Musíme nashromáždit co nejvíce informací o rozměrech a struktuře podkladu. Je potřeba změřit a vyfotografovat cokoli, co by nám mohlo pomoci při vytváření 3D modelu. Velmi důležité je také pořídit fotografie z míst, kde budou umístěny projektory. Při přípravě musíme brát v úvahu také světelné podmínky při projekci a materiál, na který budeme promítat (např. fasáda budovy). Při venkovní projekci na tmavou fasádu budeme muset použít o mnoho výkonější projektor než při projekci na bílou zeď ve zhaslé místnosti D model Podle nafocených fotografií sestavíme 3D model objektu, na který budeme promítat. Z 3D modelu vytvoříme animaci, kterou otexturujeme podle toho, jak chceme, aby výsledná projekce vypadala. Výslednou animaci vyexportujeme do několika videosouborů. Scéna rozřezaná na více částí se na povrch objektu, na který budeme promítat, zarovnává lépe než celá scéna. Příklad nařezání výsledné videosekvence je znázorněna na obrázku (Obr 2.1). Scéna je rozřezána na tři části: Střecha a stěny. Obr
14 2.3 Projekce Před samotným promítáním musíme vybrat potřebné projekční zařízení. Nejdůlužitějšími parametry při výběru je světelný výkon a ohnisko objektivu. Podle světelných podmínek a struktury objektu, na který budeme promítat, vybíráme světelný výkon. Při nedostatečném světelném výkonu splyne projekce s pozadím a celá projekce nebude působit dobře. Podle umístění projektoru vybíráme ohnisko objektivu. Pokud vybereme nesprávné ohnisko, buď neobsáhneme projektorem celou plochu projekce, nebo budeme mít zbytečně velké okraje a nevyužijeme plně rozlišení projektoru. Po výběru požadovaného projektoru a jeho umístění na místo, ze kterého budeme promítat, zarovnáme rozřezané videosekvence na jejich místo. Nejjednodušším způsob zarovnávání je promítnout obrazec, ve kterém jsou zakresleny nejdůležitější části videosekvence. (Obr 2.2 a Obr 2.3). Obr 2.2 Obr 2.3 Toto zarovnání je dobré učinit v dostatečném předstihu. Zaprvé budeme mít čas vyřešit případné problému a zadruhé není dobré provádět zarovnání v přítomnosti budoucího publika. Zbytečně tím připravíme budoucího diváka o případné překvapení. Touto částí výrobního postupu se zabývá aplikace, kterou jsem v rámci bakalářské práce navrhl a implementoval. 16
15 3 Projekční zařízení 3.1 Základní dělení projektorů Projektor je zařízení, které umožňuje zobrazení (projekci) obrazu na dané místo. Podle principu zobrazování a charakteru promítaného obrazu existuje řada typů projektorů Filmový projektor Filmový projektor, nebo též promítačka, je zařízení, které umožní sledovat natočené filmy. Využívá vlastností doznívání zrakového vjemu lidského oka a psychologické zkušenosti o průběhu pohybů ve skutečnosti, jedná se fyziologický jev označovaný jako setrvačnost lidského oka. Vjem plynulého jasu vzniká dozníváním na sítnici oka. Je tím dokonalejší, čím vyšší je kmitočet změn světlo/tma. Běžně se promítá obrazových polí za sekundu. Kmitočet promítání je zdvojován dalším přerušením světelného toku v době, kdy se film v okeničce promítačky nepohybuje. Tím se dosahuje dvojnásobného počtu obrazových změn, tedy 48 až 5 za sekundu. Každý obrázek na filmu je tak fakticky promítnut dvakrát po sobě. [3] Diaprojektor Diaprojektor je optický přístroj, který sklouží k promítání diapozitivů na promítací plátno nebo stěnu. Projektory určené pro diapozitivy kinofilmového formátu (36 x 24 mm) byly velmi oblíbené od 5. do 8. let 2. století. V Československu je vyráběla firma Meopta. [3] Dataprojektor Dataprojektor, nebo také datový projektor, je zařízení, které umožňuje zprostředkovat prezentaci všem přítomným tím, že obraz, jehož zdrojem může být osobní počítač, notebook, přehrávač DVD a jiná videozařízení, projektuje (promítá) na plátno či zeď. Datové projektory se vyrábí v různých provedeních a velikostech: Od ultralehkých projektorů, které jsou vhodné na cesty a jejichž rozměry se pohybují kolem centimetrů (Š/V/H) a hmotnost nepřesahuje 1,5 kilogramu, až po konferenční projektory, které jsou součástí konferenčních místností a poskytují maximální kvalitu obrazu. [3] 17
16 O dataprojektory se v oblasti mappingu budeme zajímat nejvíce. 3.2 Zobrazovací technologie dataprojektorů Dataprojektory se liší hlavně technologií vytváření výsledného obrazu a zdrojem světla. Uvádím výčet nejpoužívanějších technologií a popis jejich funkce DLP (Digital Light Processing) Srdcem DLP projektorů je jeden případně více DMD čipů. Je to čip, na kterém jsou malá zrcátka. Nazývá se také DLP čip. Poté, co lampa vyrobí světlo, projde světlo přes optickou čočku a dopadne na rotující barevný kotouč, který změní vlnovou délku světla. Na kotoučku bývají minimálně tři základní RGB barvy a jedna průhledná část pro zvýšení jasu. Na kotouči může být i více barev, namátkově žlutá či azurová. Obarvené světlo z kotouče putuje do další čočky, která nasměruje světlo na DLP čip. Pohyb kotouče a zrcadel na čipu je přesně synchronizován. DLP čip vytvoří obraz pootočením zrcátek. Jedná se o reflektivní, tj. odrazovou technologii. Texas Instruments uvádí až 124 pohybů zrcátek za sekundu. Právě takto vzniká šedá a všechny barevné odstíny. Čím déle je zrcadlo vystaveno světlu, tím světlejší odstín je. [3] LED (Light-Emitting Diode) LED projektory jsou vlastně DLP projektory, ve kterých je lampa nahrazena LED diodami. Největšími výhodami této technologie je nízká spotřeba, absence lampy a především malé rozměry. Zásadní nevýhodou je velmi nízká světelnost, které se pohybují v desítkách lumenů. To je mnohonásobně méně než u běžných DLP projektorů, u kterých je světelnost v tisících lumenů. [3] LCD (Liquid Crystal Display) LCD projektory pracují na odlišném principu než DLP. Srdcem LCD projektorů jsou tzv. dichroická zrcadla a LCD panely. Hlavní výhodou dichroického zrcadla je schopnost odrážet a propouštět světlo v závislosti na vlnové délce. Světlo z lampy dopadne na první zrcadlo, to propustí červenou složku a odrazí zbylé světlo. Následuje zrcadlo pro zelenou složku a nakonec pro modrou. Odražené paprsky světla pokračují samostatně do přiděleného LCD. Pro zobrazení se využívá tekutých krystalů a jedná se o transmisní 18
17 technologii. LCD projektory mají několik nevýhod. První nevýhodou je stárnutí a vypalování LCD displejů, dále pak pokles kvality zobrazení s přibývajícím počtem vysvícených hodin, a v neposlední řadě také rastr u LCD panelů je z principu znatelně viditelnější než u DLP nebo LCoS projektorů. Náchylnost na prašné prostředí (vniknutí prachu brání pouze prachový filtr). Výhodou LCD projektorů je v průměru nižší hlučnost, dále mají ostrý a jasný obraz a netrpí duhovým efektem. [3] LCoS (Liquid Crystal on Semiconductor) Jedná se o poměrně novou technologii projektorů. Cenově jsou LCoS projektory zatím pro většinovou populaci nedostupné. Stojí za nimi několik firem, jedná se především o JVC a jejich technologii D-ILA (Direct-Drive Image Light Amplifier), dále Canon a Sony s technologií SXRD (Silicon X-tal Reflective Display). Princip je kombinace LCD a DLP projektoru. Lampa vyrobí světlo, hranol rozdělí světlo z lampy na tři základní barvy, tyto světlené paprsky dopadnou na LCoS displej a od toho se, podobně jako u DLP projektorů, odrazí. Obraz na displeji je v odstínech šedi. V případě černé barvy se světlo neodrazí. Čím světlejší barva, tím více světla se od displeje odrazí. Odražené světlo putuje opět do hranolu, kde se spojí všechny barevné složky a nakonec zamíří přes optiku na plátno. Výhodou LCoS projektoru je vysoké rozlišení, disponuje vynikajícím barevným podáním, vysokým kontrastem a nemá duhový efekt. Nevýhodou je především vysoká cena. [3] CRT (Cathod Ray Tube) Základem jsou tři projekční obrazovky principiálně podobné těm v běžných televizních přijímačích či počítačových monitorech. Každá z obrazovek promítá v jedné ze základních barev (červené, modré a zelené) a výsledný obraz je potom složen na projekční ploše. Tato technika patří k nejstarším a používá se dnes pouze výjimečně, a to u pevných instalací. Výhody jsou výborná kvalita reprodukce barev, vysoké rozlišení i kontrast, spolehlivost, dlouhodobý provoz. Nevýhody jsou omezená oblast použití, překonaná technologie, větší rozměry a hmotnost. [3] 19
18 3.2.6 D-ILA (Direct-Drive Image Light Amplification) Technologie vyvinutá společností JVC, která přináší bezkonkurenční výkon s přirozeným podáním barev a obraz tak věrný, že téměř konkuruje filmové projekci. Vynikající je rovněž kontrast, který je jinak velkou slabinou jiných technologií. D-ILA je technologie postavená na tekutých krystalech, ale výrazně se liší od tekutých krystalů používaných v LCD technologii, kterou dnes využívá mnoho současných produktů. D-ILA je to, čemu se říká tekuté krystaly na křemíkové podložce neboli LCOS, ale JVC při vývoji D-ILA provedla několik vylepšení výchozí LCOS technologie. Podstatou je D-ILA čip, navržen a vyroben podle JVC. Každý JVC D-ILA projektor používá tři D-ILA čipy, jeden pro červenou, zelenou a modrou, což jsou základní barvy, které vzájemným mísením tvoří plně barevné palety. [4] 3.3 Parametry dataprojektorů Mezi nejdůležitější parametry datových projektorů patří: Světelný výkon Udává se v ANSI lumenech. Čím je hodnota vyšší, tím je obraz jasnější a kontrastnější. Tento parametr nás bude při přípravě projekce nejvíce zajímat. Dnes jsou běžné projektory se světelným výkonem 2 5 ANSI Lm. Pro účely mappingu se využívá prokjektorů se světelným výkonem až 18 ANSI Lm (Projektor Christie HD18K). Lumen (lm) je hlavní jednotkou světelného toku. Lumen je jednou z vedlejších jednotek soustavy SI. Je definován jako světelný tok vyzařovaný do prostorového úhlu 1 steradiánu bodovým zdrojem, jehož svítivost je ve všech směrech 1 kandela. [6] Ohnisko objektivu Ohnisko objektivu definuje zorný úhel, který dokáže objektiv obsáhnout. Tento parametr budeme sledovat v souvislosti s velikostí scény a vzdáleností projektoru od objektu, na který budeme promítat. Zorný úhel ve stupních se dá snadno dopočítat z ohniskové vzdálenosti pomocí následujícího vztahu: Úhel [ ] = 2 * arctg(21,6 / Ohnisko [mm]). 2
19 Vztah ohniskové vzdálenosti a zorného úhlu je znázorněn na následujícím obrázku (Obr 3.1). Obr Rozlišení Rozlišení určuje počet pixelů (nebo maximální rozlišení obrazu), které mohou být projektorem zobrazeny. Často se udává jako počet sloupců (horizontálně, X ), které se uvádí vždy jako první, a počet řádků (vertikálně, Y ). Čím vyšší rozlišení, tím je obraz kvalitnější. Pro účely mappingu se využívají projektory pracující v rozlišení až 192x18 (HD) Kontrast Hodnota kontrastu určuje poměr mezi nejtmavším a nejsvětlejším bodem, který dokáže projektor zobrazit. Dnes jsou běžné projektory s kontrastem 4:1 (nejsvětlejší bod je 4x světlejší než bod nejtmavší) Rozhraní Výběr projektoru bude zajisté ovlivněno i konektory, pomocí kterých je možné projektor připojit a přenášet videosignál. V dnešní době je již standardem HDMI rozhraní. 21
20 22
21 4 Počítačová grafika a OpenGL Počítačová grafika (Computer graphics - CG) je součástí oboru informatiky, která se zabývá analýzou (interpretací) nebo tvorbou (syntézou, generováním) grafické obrazové informace. Tento obor můžeme dělit na několik oblastí: 3D rendering v reálném čase (často využívaný v počítačových hrách), počítačová animace, video, střih speciálních efektů (často využívané ve filmu a televizi), editování obrázků a 3D modelování (například pro inženýrské nebo lékařské účely). Zpočátku se počítačová grafika rozvíjela kvůli akademickým zájmům podporovaným vládou a armádou, později však začala pronikat do filmu a televize, kde se osvědčila jako konkurenceschopná náhrada za tradiční speciální efekty a animační techniky. V důsledku toho i komerční firmy začaly přispívat k vývoji v této oblasti. 4.1 OpenGL Knihovna OpenGL (Open Graphics Library) byla navržena firmou SGI (Silicon Graphics Inc.) jako aplikační programové rozhraní (Application Programming Interface API) k akcelerovaným grafickým kartám, respektive celým grafickým subsystémům. Předchůdcem této knihovny byla programová knihovna IRIS GL (Silicon Graphics IRIS Graphics Library). OpenGL byla navržena s důrazem na to, aby byla použitelná na různých typech grafických akcelerátorů a aby ji bylo možno použít i v případě, že na určité platformě žádný grafický akcelerátor není nainstalován. V současné době lze knihovnu OpenGL použít na různých verzích unixových systémů (včetně Linuxu a samozřejmě IRIXu), OS/2 a na platformách Microsoft Windows. Na některých platformách je možné rozdělení aplikace na dvě relativně samostatné části serverovou a klientskou. Při vykreslování se potom jednotlivé příkazy (většinou parametry funkcí OpenGL) přenášejí přes síťové rozhraní. Knihovna OpenGL (na rozdíl od IRIS GL nebo Direct 3D) byla vytvořena tak, aby byla nezávislá na použitém operačním systému, grafických ovladačích a správcích oken (Window Managers). Proto také neobsahuje žádné funkce pro práci s okny (otevírání, zrušení, změnu velikosti), pro vytváření grafického uživatelského rozhraní (Graphical User Interface GUI) ani pro zpracování událostí. Tyto funkce lze zajistit buď přímo voláním funkcí příslušného správce 23
22 oken, nebo lze použít některou z nadstaveb, například knihovnu GLUT (OpenGL Utility Toolkit). Pro dosažení co největší nezávislosti na použité platformě zavádí knihovna OpenGL vlastní primitivní datové typy, například GLbyte, GLint nebo Gldouble. Z programátorského hlediska se OpenGL chová jako stavový automat. To znamená, že během zadávání příkazů pro vykreslování lze průběžně měnit vlastnosti vykreslovaných primitiv (barva, průhlednost) nebo celé scény (volba způsobu vykreslování, transformace) a toto nastavení zůstane zachováno do té doby, než ho explicitně změníme. Výhoda tohoto přístupu spočívá především v tom, že funkce pro vykreslování mají menší počet parametrů a že jedním příkazem lze globálně změnit způsob vykreslení celé scény, například volbu drátového zobrazení modelu nebo zobrazení pomocí vyplněných polygonů. Vykreslování scény se provádí procedurálně voláním funkcí OpenGL se vykreslí výsledný rastrový obrázek. Výsledkem volání těchto funkcí je rastrový obrázek uložený v tzv. framebufferu, kde je každému pixelu přiřazena barva, hloubka, alfa složka popř. i další atributy. Z framebufferu lze získat pouze barevnou informaci a tu je možné následně zobrazit na obrazovce (Obr 4.1). Obr 4.1 OpenGL nezaručuje, že při spuštění identického programu používajícího knihovnu OpenGL na různých platformách nebo různých grafických akcelerátorech dostaneme vždy přesně stejný výsledek. Pokud bychom oba výsledné rastrové obrázky porovnali pixel po pixelu, mohli bychom zjistit mírné rozdíly v barvách. Může to být způsobeno například odlišnou 24
23 přesností reprezentace čísel na grafické kartě, odlišnými algoritmy pro interpolaci barvy, normály a texturovými souřadnicemi nebo jinou bitovou hloubkou Z-bufferu. Celkové geometrické a barevné podání scény by však mělo být zachováno. Pomocí funkcí poskytovaných knihovnou OpenGL lze vykreslovat obrazce a tělesa složená ze základních geometrických prvků, které nazýváme grafická primitiva. Mezi tato primitiva patří bod, úsečka, trojúhelník, čtyřúhelník, plošný konvexní polygon, bitmapa (jednobarevný rastrový obraz) a pixmapa (barevný rastrový obraz). Existují i funkce, které podporují proudové vykreslování některých primitiv lze například vykreslit polyčáru (line loop), pruh trojúhelníků (triangle strip), pruh čtyřúhelníků (quad strip) nebo trs trojúhelníků (triangle fan). Na vrcholy tvořící jednotlivá grafická primitiva lze aplikovat různé transformace (otočení, změna měřítka, posun, perspektivní projekce), pomocí kterých lze poměrně jednoduše vytvořit animace. Vykreslovaná primitiva mohou být osvětlena nebo pokryta texturou. [5] 4.2 Transformace obecně Popis těles je založen na vertexech neboli uzlových bodech. Při manipulaci s tělesem v prostoru je nutné pracovat právě s těmito body. Tělesa se pak mohou na obrazovce zobrazit v libovolném posunu, natočení či měřítku. Tyto manipulace jsou nazývány transformacemi. K provádění transformací je třeba na každý vrchol tělesa aplikovat určitou obdobu vzorce. K vykreslení transformovaného tvaru se pak použijí nově modifikované vrcholy [7]. Mezi transformace patří posunutí, otáčení, změna měřítka a zkosení Posunutí Při posunutí dochází ke změně umístění bodů v souřadném systému. Posunová matice pro 3D objekt vypadá následovně: 1 P = ox 1 o y 1 o z 1 25
24 Otočení Při rotaci objektu dochází ke změně natočení zobrazeného objektu. Při natočení objektu ve dvourozměrném prostoru dochází k otočení kolem jedné osy. Ve trojrozmněrném prostoru může docházet k otočení kolem tří os současně. Matice k otočení kolem tří os současně neexistuje. Pro každou osu se používá jiná matice. = 1 cos sin sin cos 1 α α α α x O = 1 1 cos sin 1 sin cos α α α α y O = 1 1 cos sin sin cos α α α α z O Změna měřítka Při změně měřítka násobíme souřadnice vrcholů objektu. Násobením číslem větším než 1 se objekt zvětšuje a menším jak 1 se objekt zmenšuje. Matice změny měřítka vypadá následovně: = 1 z y x V V V M Zkosení Podobně jako u transformace otočení se zkosení provádí ve všech třech směrech zvlášť. Máme tudíž tři matice zkosení Z yz, Z xz, Z xy pro zkosení ve směrech YZ, XZ a XY.
25 27 = z y yz Z Z Z = z x xz Z Z Z = y x xy Z Z Z Skládání transformací V praxi je však potřeba aplikovat na jeden objekt více transformací najednou. K tomu účelu lze jednotlivé matice skládat. Výslednou transformační matici získáme vynásobením jednotlivých transformačních matic (Obr 4.2). Obr Transformace v OpenGL V OpenGL existují tři transformační matice, které se postupně aplikují na body (vrcholy, vertexy), popř. i na normály vrcholů. První transformační matice se jmenuje ModelView matrix. Na tuto matici se můžeme dívat jako na spojení modelové matice a pohledové matice, protože se používá jak pro nastavení pozice kamery, tak i pro manipulaci s objekty (modely) ve scéně. Druhá transformační matice se jmenuje Projection matrix a používá se pro nastavení perspektivní projekce kamery. Třetí transformační matice se jmenuje Viewport matrix a používá se pro provedení perspektivní projekce k mapování objektů z abtraktních souřadnic do souřadnic okna. Tato poslední matice ve skutečnosti pouze
26 provádí transformaci v dvojrozměrné ploše, proto se s ní v OpenGL nepracuje jako s plnohodnotnou maticí. Kromě těchto tří matic můžeme měnit matici, která se používá při mapování textur na povrch objektů. Tato matice se nazývá Texture matrix. [5] Nastavení aktuální transformační matice Při změně některé z transformačních matic musíme nejprve určit, kterou transformační matici budeme měnit. K tomuto účelu se používá funkce void glmatrixmode(glenum mode). Tato funkce má jeden parametr mode, jímž určujeme matici, kterou budeme dalšími příkazy změnit. Parametr může nabývat tří hodnot, reprezentovaných symbolickými konstantami: GL_MODELVIEW - bude se měnit ModelView matrix, tj. matice, ve které jsou uloženy modelové a pohledové transformace (transformace objektů a nastavení kamery). GL_PROJECTION bude se měnit Projection matrix, tj. matice, která se používá pro nastavení perspektivní nebo ortogonální projekce kamery. GL_TEXTURE bude se měnit Texture matrix, tj. matice, která se používá při mapování textur na povrch objektů. Aktuálně nastavenou matici lze zjistit pomocí příkazu glgetintegerv(gl_matrix_mode, ¤tmode), po jehož provedení je v proměnné currentmode některá z konstant GL_MODELVIEW, GL_PROJECTION nebo GL_TEXTURE. [5] Změna obsahu aktuálně nastavené transformační matice S obsahem aktuálně nastavené matice lze manipulovat pomocí funkcí glloadidentity(), glloadmatrix(), glmultmatrix(), gltranslate(), glscale() a glrotate(). Nejjednodušší z těchto funkcí je funkce void glloadidentity(void). Tato funkce nahraje do aktuálně nastavené transformační matice koeficienty odpovídající jednotkové matici, tj. matici, ve které jsou všechny prvky vynulovány s výjimkou prvků hlavní diagonály, které jsou nastaveny na jedničku. Tato matice hraje úlohu neutrálního prvku při násobení matic nebo při násobení vektoru maticí. Při nastavování některé transformační matice se v 28
27 naprosté většině případů začíná touto funkcí, neboť pomocí ní matici připravíme na aplikaci dalších transformací. Funkce glloadmatrix() se používá pro přímé nastavení prvků matice. Tato funkce existuje ve dvou variantách lišících se pouze typem pole, které funkci předáváme jako parametr. První varianta je nadeklarována jako void glloadmatrixd(const GLdouble *m), druhá varianta jako void glloadmatrixf(const GLfloat *m). U první varianty má pole jako své prvky hodnoty typu GLdouble, ve druhé variantě jsou to prvky typuglfloat. Další funkce glmultmatrix*() slouží k vynásobení aktuálně nastavené transformační matice maticí zadanou jako parametr této funkce. Opět existují dvě varianty, které se liší typem prvků předávaného pole. Tyto varianty jsou nadeklarovány jako void glmultmatrixd(const GLdouble *m) a void glmultmatrixf(const GLfloat *m). U první varianty se používají hodnoty typu GLdouble, u druhé typu GLfloat. Další tři funkce, gltranslate, glscale a glrotate jsou používány mnohem častěji než předchozí dvě funkce. U těchto funkcí se nemanipuluje přímo s jednotlivými prvky matice, ale zadávají se základní lineární transformace posun, změna měřítka a rotace. Pro zadané transformace se vytvoří dočasná matice a aktuální matice (většinou je to matice ModelView) je touto dočasnou maticí vynásobena. Funkce gltranslate*(), která existuje ve dvou variantách void gltranslated(gldouble x, GLdouble y, GLdouble z) a void gltranslatef(glflo-at x, GLfloat y, GLfloat z), specifikuje posun o vektor[x, y, z]. Funkce glscale*() s variantami void glscaled(gldouble x, GLdouble y, GLdouble z) a void glscalef(glfloat x, GLfloat y, GLfloat z) slouží k zadání transformace změny měřítka, kdy je těleso nezávisle zvětšeno/zmenšeno ve třech směrech odpovídajících jednotlivým souřadným osám. Funkce glrotate*(), která má opět dvě varianty, void glrotated(gldouble angle, GLdouble x, GLdouble y, GLdouble z) a void glrotatef(glfloat angle, GLfloat x, GLfloat y, GLfloat z), specifikuje transformaci rotace. Těleso je otočeno o úhel angle okolo osy procházející 29
28 počátkem a bodem (x, y, z). Úhel angle je v obou variantách zadán ve stupních. Bod, jímž osa rotace prochází, by neměl být nastaven na souřadnice (,, ) Získání hodnot prvků jednotlivých transformačních matic Pro získání hodnot, které mají jednotlivé prvky transformačních matic, lze použít funkci void glgetdoublev(glenum pname, GLdouble * params) nebo void glgetfloatv(glenum pname, GLfloat * params). Parametr pname musí obsahovat jednu z těchto tří symbolických konstant: GL_MODELVIEW_MATRIX, GL_PROJECTION_MATRIX nebo GL_TEXTURE_MATRIX. V poli params jsou potom vráceny prvky příslušné transformační matice Použití transformačních matic Některé transformace se při vykreslování scény provádí pouze jednou. Typickou operací je nastavení záběru kamery pomocí projekční matice (Projection matrix) a výřezu pomocí změny Viewportu. Tyto operace se většinou provádí v callback funkci vyvolávané při změně velikosti okna. Další změny projekční matice a výřezu se většinou neprovádí. Výjimkou bývá současné zobrazení trojrozměrné scény a dvojrozměrných textů. V tomto případě se provádí změna projekční matice dvakrát. Poprvé pro nastavení perspektivní projekce pro zobrazení trojrozměrné scény a podruhé pro nastavení ortogonální projekce pro vykreslení textů. V době vykreslování je však velmi často měněna ModelView matice, protože s tělesy ve scéně je většinou nějakým způsobem manipulováno. Manipulace hlavně zahrnuje posun tělesa, změnu měřítka a rotaci. Tyto lineární transformace lze přímo zadat pomocí funkcí gltranslate(), glscale() a glrotate(). Před zadáváním samostatných transformací je však vždy zapotřebí nastavit transformační matici na jednotkovou zavoláním funkce glloadidentity(), jinak se transformace budou skládat, což v některých případech může způsobit chybnou funkci programu Skládání transformací Pokud mezi zadáváním jednotlivých transformací nevkládáme příkaz glloadidentity(), dochází při modifikaci transformační matice k vynásobení původní hodnoty matice s dočasnou maticí, která je pro každou transformaci vytvořena. V důsledku toho se 3
29 transformační matice chová jako by se transformace skládaly, tj. postupně prováděly. Jedná se praktickou vlastnost, protože sice můžeme zadat libovolné množství transformací, ale při výsledném transformování jednotlivých vrcholů (vertexů) se bude provádět pouze násobení čtyřsložkového vektoru jednou maticí velikosti 4 4. Protože však násobení matic není komutativní, musíme dát pozor na pořadí zadávání transformací. V OpenGL platí, že transformace jsou na vertexy aplikovány v opačném pořadí, než jsou zavolány jejich korespondující příkazy. Jestliže například bude v programovém kódu sekvence příkazů gltranslatef(), glrotatef(), ve skutečnosti bude objekt nejprve otočen a teprve poté posunut. Na tuto vlastnost se můžeme také dívat tak, že se neprovádí transformace se samotným objektem, ale postupně s celým souřadným systémem (nyní už ve správném pořadí) (Obr 4.3). Obr Zásobník matic Transformační matice lze v OpenGL ukládat do takzvaného zásobníku matic. Zásobník matic není nic jiného než datová oblast vyhrazená uvnitř bloku OpenGL, která se používá pro uložení šestnácti koeficientů transformační matice. Pro různé typy transformačních matic jsou vyhrazeny různé zásobníky s obecně odlišnou kapacitou. Aktuálně vybranou matici lze uložit na vrchol zásobníku zavoláním funkce void glpushmatrix(void), odstranění 31
30 matice z vrcholu zásobníku obstará funkce void glpopmatrix(void). Ta matice, která je uložená na vrcholu zásobníku, je použita při transformacích. Jak již bylo řečeno, pro každý typ transformační matice (zejména ModelView a projekční matice) je vyhrazen vlastní zásobník, který může mít odlišnou kapacitu. Největší kapacitu mívá většinou zásobník pro ModelView matici, protože tato matice se nejčastěji mění. Kapacitu jednotlivých zásobníků lze zjistit pomocí funkce void glgetintegerv(glenum pname, GLint *params), kde se za parametr pname dosadí symbolická konstanta GL_MAX_MODELVIEW_STACK_DEPTH, nebo GL_MAX_PROJETION_STACK_DEPTH. Pomocí této funkce je také možné zjistit aktuální obsazenost zásobníku stačí použít parametr GL_MODELVIEW_STACK_DEPTH, resp. GL_PROJECTION_STACK_DEPTH. Každá implementace OpenGL by měla mít zásobník pro ModelView matice s kapacitou minimálně třiceti dvou matic, pro zásobník projekčních a texturovacích matic je vyžadována pouze kapacita dvou matic. 4.4 Primitiva v OpenGL Pomocí příkazů OpenGL lze vykreslovat pouze základní objekty nazývané primitiva. Z těchto primitiv se skládají všechny složitější objekty. V OpenGL máme deset základních primitiv: bod (GL_POINTS), úsečka (GL_LINES), řetězec úseček (GL_LINE_STRIP), smyčka úseček (GL_LINE_LOOP), trojúhelník (GL_TRIANGLES), trs trojúhelníků (GL_TRIANGLE_FAN), pás trojúhelníků (GL_TRIANGLE_STRIP), čtyřúhelník (GL_QUADS), pás čtyřúhelníků (GL_QUAD_STRIP) a polygon (GL_POLYGON). [5] Před samotným zadáváním vrcholů primitiva se volá příkaz glbegin(typ primitiva). Jediným parametrem této funkce je typ primitiva. Po příkazu glbegin() už následuje výčet bodů zadaných příkazem glvertex2(x, y) pro 2D zadávání bodů (z je automaticky nastaveno na a váha w je nastavena na 1), glvertex3(x, y, z) pro 3D zadávání (váha w je automaticky 1) nebo glvertex4(x, y, z, w) pro zadávání 3D bodů a váhy bodu. Váha vrcholu je použita při perspektivní projekci. Pro běžné použití ji vždy nastavujeme na jedničku, protože se touto souřadnicí dělí zbylé tři souřadnice, tedy x'=x/w, y'=y/w a z'=z/w. 32
31 Pro účely mé bakalářské práce jsem využil pouze čtyřúhelníku. Zadávání čtyřúhelníku začíná příkazem glbegin(gl_quads), po němž následují jednotlivé vrcholy. Při zadávání vrcholů musíme zaručit, že vrcholy čtyřúhelníku budou ležet v jedné rovině a čtyřúhelník bude konvexní. Pokud tyto podmínky nebudou splněny, nemusí být (a pravděpodobně ani nebude) vykreslení korektní, protože interpolátory v grafickém akcelerátoru většinou nedovedou detekovat hranici, kde se má vykreslování přerušit. 4.5 Texturování v OpenGL Jako texturování (přesněji nanášení textur) se označuje princip obarvení povrchu zobrazovacích těles různými obrazci. Důležité přitom je, že se nijak nemění geometrické vlastnosti těles, pouze se jinak zobrazuje jejich povrch. Obrazce, které se na povrch těles nanášejí, se nazývají textury (textures). Tyto textury jsou většinou představovány plošnými obrázky (dvoudimenzionální textury), některé grafické systémy však podporují i vykreslování jednorozměrných, či dokonce trojrozměrných (objemových) textur. [5] Textury lze vytvářet několika způsoby. Lze použít klasickou rastrovou texturu, která vzniká například namalováním, naskenováním nebo vyfocením, nebo můžeme použít takzvanou procedurální texturu, která je tvořena algoritmem, například fraktály. Procedurální texturování lze použít pro vytváření rastrových textur nebo pro přímý výpočet textury při vykreslování. Druhá možnost však není v OpenGL moc podporována. Procedurální textury je tedy třeba tvořit ručně. Texturu lze použít ve všech případech, kdy je nutné vykreslovat tělesa se složitě strukturovanými povrchy, která však nevykazují velké změny v geometrii povrchu. Příkladem může být dřevěné prkno. Prkno lze reprezentovat jednou plochou, na kterou je nanesen rastrový obrázek se strukturou dřeva. Vykreslování bude na dnešních počítačích dostatečně rychlé a při dostatečné velikosti rastrového obrázku i kvalitní Výhody a nevýhody rastrových textur Rastrové textury s sebou samozřejmě nesou i jisté výhody a nevýhody. [5] 33
32 Velkou výhodou rastrových textur je jejich snadná implementace ve vykreslovacím řetězci. Jednoduché grafické akcelerátory řešily texturování tak, že se do jejich vykreslovacího řetězce přidala vyrovnávací paměť pro textury a několik interpolátorů, pomocí kterých se řešil přístup do texturovací paměti. Dnešní grafické akcelerátory jdou mnohem dál. Textury je možné komprimovat, jsou podporovány mipmapy, antialiasing, multitextury a podobně. Texturovací jednotka však stále patří k těm částem vizuálního systému, která má velmi dobrý poměr složitost/vizuálníefekt. Další výhodou je možnost použití průhlednosti, tzv. alfa kanálu, jehož pomocí můžeme vizuálně měnit tvar tělesa, jelikož se na některách částech může jevit jako děravý. Jednou z nevýhod rastrových textur je jejich předem dané rozlišení. Je tudíž třeba zvolit kompromis mezi dvěma extrémy. Jedním extrémem je použití textury s příliš malým rozlišením, ve které bude působit kostrbatě a nepěkně, druhým extrémem je použití zbytečně velkého rozlišení a zbytečné plýtvání pamětí na grafickém akcelerátoru. Další nevýhodou je, že při zobrazování textury dochází k aliasu (jednoduše řečeno tvorbě moaré). Je to jev, který nastává při zvětšování či zmenšování počtu zobrazovaných pixelů. K tomuto jevu dochází těměř vždy, protože se na texturu díváme z různých vzdáleností a úhlů. Tomuto nežádoucímu efektu se nelze nijak jednoduše vyhnout. Lze ho jen potlačit použitím tzv. antialiasingu, který však komplikuje zobrazovací řetězec a obecně vede ke zpomalení vykreslování. Třetí nevýhodou je, že textury zabírají velké množství vykreslovací paměti. Pokud je v paměti grafického akcelerátoru dostatečné místo, lze textury do této paměti nahrát a zobrazování textur významně urychlit. Pokud je však v této paměti místa málo (protože paměť totiž obsahuje i nejrůznější buffery), je potřeba nahrávat textury z hlavní paměti počítače, což vede k významnému zpomalení vykreslování Podpora texturování v OpenGL V OpenGL jsou podporovány pouze rastrové textury. Textury mohou být jednodimenzionální (jedná se o proužek pixelů, který umožňuje vykreslování různých přechodů), dvoudimenzionální (nejpoužívanější typ textury, klasický obrázek) a 34
33 třídimenzionální (pro zobrazování objemových dat například v medicíně). Největší podpora ze strany grafických akcelerátorů je pro dvoudimenzionální textury, které jsou nejpoužívanější. V OpenGL lze také zvolit různé filtrace textur, režimy mapování textur na plošky, multitexturování a další grafické efekty. Musíme si však uvědomit, že pokud použijeme některý grafický efekt, který není grafickým akcelerátorem podporován, dojde k výpočtům pomocí hlavního procesoru počítače, což značně zpomaluje celý systém Omezení texturování v OpenGL V OpenGL není mnoho omezení, co se texturování týče. Jedním omezením je, že lze použít textury jen v barevném režimu true-color. Indexované barevné režimy s barevnou paletou podporovány nejsou. Druhým omezením je možnost použití pouze textur o rozměrech mocniny čísla 2. Při použití textur nesplňujících tuto podmínku dochází k přepočtu na nejbližší možnou velikost mocniny čísla 2, což se negativně podepisuje na kvalitě použité textury. 35
34 36
35 5 Aplikace Tato kapitola popisuje některé detaily implementace, návrhu a dosažených výsledků aplikace, kterou jsem pro účely bakalářské práce navrhl a implementoval. Aplikace slouží primárně ke zjednodušení konečné fáze práce na mappingu, konkrétně ke zjednodušení nastavování a úpravě projekce. 5.1 Popis aplikace Aplikace se skládá ze dvou základních částí - z editačního a zobrazovacího okna. Zobrazovací okno je určeno pro zobrazování přes projekční zařízení. Zatímco editační okno je určeno k úpravám promítaného obrazu (Obr 5.1). Obr Zobrazovací okno Zobrazovací okno slouží k zobrazení výsledného obrazu přes projektor. Do zobrazení přes celou plochu se přepíná klávesou f. Po stisku klávesy Esc se program ukončí Editační okno Editační okno slouží k ovládání celého programu. V horní části okna se nacházejí záložky Layers a Player. Záložka layers slouží k nastavení a přemisťování jednotlivých vrstev 37
36 v zobrazovacím okně. Pod záložkou player najdeme jednoduchý přehrávač, pomocí kterého můžeme jednoduše přehrávat AVI soubory, které jsme použili jako texturu vrstev Karta Layers V horní části karty layers najdeme combo box, pomocí kterého vybíráme vrstvu, kterou chceme upravovat. Pomocí tlačítka Add přidáme další vrstvu. Pomocí tlačítka Delete můžeme smazat aktuálně vybranou vrstvu (kromě poslední vrstvy). Ve střední části karty layers najdeme nastavení textury a barvy vrstvy. Jako texturu lze nastavit obrázek ve formátu TGA nebo video ve formátu AVI. Pokud není vybraná textura, nebo pokud není zaškrtnut checkbox Enable texture, je vrstva vyplněna barvou, kterou můžeme nastavit tlačítkem Color. Ve spodní části záložky layers najdeme obdelník znázorňující vybranou vrstvu. Tlačítka v rozích znázorňují aktuálně vybraný roh, se kterým manipulujeme. Tlačítko ve středu slouží k manipulaci s celou vrstvou. Pomocí kláves W, A, S, D hýbeme aktuálně vybraným rohem nebo celou vrstvou. S použitím klávesy Shift (Shift + W, A, S, D) je pohyb rychlejší, ale méně přesný Karta Player Pod kartou Player se nachází jednoduchý přehrávač AVI souborů, které jsme nastavili jako textury vrstev. V horní části karty player se zobrazuje aktuální snímková frekvence. Čím je snímková frekvence vyšší, tím je obraz plynulejší. Pokud je snímková frekvence příliš malá (< 25) bude obraz trhaný. V prostřední části karty player se nachází TrackBar, který znázorňuje postup přehrávání video textur. V pravé části pod TrackBarem se nachází celková délka přehrávané sekvence ve formátu H:M:S. 38
37 Ve spodní části karty player se nalézají tři tlačítka - play sloužící ke spuštění přehrávání, pause sloužící k zastavení přehrávání a stop sloužící k zastavení přehrávání a přesunutí na začátek. 5.2 Způsob použití Aplikace se užívá k umístění výsledných videosekvencí na správné místo. Při tom je dobré použít obrázek, který zakresluje nejvýznamější body ve videosekvenci, jako například rohy oken, hrany stěn nebo výstupky na stěně (Obr 2.2 a 2.3). Po otevření programu přesuneme zobrazovací okno na plochu projektoru a stiskem klávesy f, čímž ho zobrazíme přes celou plochu. Jako texturu vrstvy nastavíme obrázek zakreslující nejvýznamější body videosekvence a zarovnáme vrstvu tak, aby body seděli na místech, kam patří. Poté přidáme další vrstvu a celý postup opakujeme. Po zarovnání všech vrstev zaměníme obrázky skutečnými videosekvencemi a přejdeme na kartu Player. Po stisknutí Play se spustí všechny videosekvence. Pokud je některá ze sekvencí kratší, přehraje se až do posledního snímku, který poté zůstane zobrazen až do konce přehrání všech ostatních videosekvencí. Toho lze využít, pokud se například v polovině prezentace část scény stane statickou a do konce se nezmění. 5.3 Implementace nejdůležitějších částí Následující část popisuje některé detaily z implementace aplikace. Aplikace využívá OpenGL s rozšířením GLUT (OpenGL Utility Toolkit). GLUT je původně připraven pro C a očekává ve svých funkcích ukazatele na statické funkce. S objektovým C++ si moc nerozumí. Proto je potřeba použít techniku, která nám dovolí zacházet s GLUT objektově. [8] Třída GlutMaster v sobě uchovává ukazatele na virtuální metody ve třídě GlutWindow. Instance třídy Projector, která je potomkem třídy GlutWindow, přepisují tyto virtuální metody a nahrazují je svými. Toto nám umožňuje zacházet s jednotlivými okny jako s objekty a dovoluje nám zobrazovat i více OpenGL oken (projekci z více 39
38 projektorů). Toto však v aplikaci implementováno není. Vztahy mezi třídami jsou znázorněny v následujícím obrázku (Obr 5.1). Obr Zobrazování vrstev Vrsvy jsou instancemi třídy Layer. Tato třída obsahuje veškerá nastavení vrstvy od nastavení pozice, až po texturu a ukazatel na stream s videosekvencí. Každý objekt typu Projector si uchovává ukazatele na své vrstvy v datovém kontejneru typu vector. To nám umožňuje velice snadno přidávat a mazat jednotlivé vrstvy. K zobrazení vrstev slouží funkce CallBackDisplayFunc(void) ve třídě Projector. Tato funkce je volána jako standardní vykreslovací smyčka OpenGL (glutdisplayfunc()). V této funkci se projde celý vector s uloženými ukazateli na vrstvy a postupně se všechny vrstvy vykreslí Načítání TGA textury Formát TGA je vhodný pro ukládání a načítání textur, protože umožňuje spolu s barevnou informací ukládat i alfa složku (průhlednost), a to dokonce i v obrázcích s barevnou paletou. Pokud stačí uložit pouze příznak průhlednosti, je možné využít 16bitového 4
39 formátu pixelů, kdy je pro průhlednost rezervován pouze jeden bit počet barev dosahuje hodnoty 32 tisíc, což je například pro textury dostatečné množství. [5] Data jsou v souboru TGA rozdělena do čtyř sekcí, ale pouze první sekce je povinná. V první sekci na začátku souboru je hlavička, jejíž velikost je vždy 18 byte. V hlavičce jsou uloženy základní informace o obraze, zejména jeho rozlišení, způsob kódování barvy a orientace obrázku. Z hlavicky zjistíme informace, které budeme potřebovat k načtení samotného obrázku. Po načtení dat z obrázku jej uložíme do paměti příkazem glteximage2d(). Největší záludností je nutnost prohodit červenou a modrou složku obrázku. V TGA jsou barvy uloženy ve formátu RGB, zatímco specifikaci OpenGL vytvořila firma SGI (Silicon Graphic), jejíž systémy používají big endian. OpenGL totiž standardně vyžadují bitmapy ve formátu big endian, takže ve formátu BGR. V mé aplikaci slouží k načítání TGA textur funkce bitmapload() ve třídě Projector Načítání textur z AVI souboru Pro načítání videosouborů jsem využil knihovnu Video for Windows z dílny společnosti Microsoft. Tato knihovna ulehčuje otevírání a práci s AVI videosoubory. Pro práci s videosouborem slouží v aplikaci dvě funkce - OpenAviFile() a setframe(), obě ve třídě Projector. První funkce, openavifile(vrstva, avi_soubor), otevírá AVI soubor. Po otevření AVI souboru funkce nastaví ve vrstvě ukazatel na buffer, kam vrátí ukazatel na nový datový proud. Poté funkce setframe(vrstva, číslo_snímku) vybírá jednotlivé snímky z AVI souboru a nastavuje je jako texturu vrstvy. Funkce setframe() se volá v každém překreslení scény. Před samotným uložením snímku z videosouboru do paměti je potřeba prohodit červenou a modrou barevnou složku obrázku. Ze stejného důvodu, jako tomu bylo u TGA textur. 41
40 Jedním z problémů bylo zajistit, aby se videosoubor přehrával plynule a rychlost přehrávání nekolísala s aktuálním FPS. První nápad byl uložit FPS videosouboru a porovnávat ho s aktuálním FPS projekce. To se však neosvědčilo. Dalším nápadem bylo vypočítat, kolik milisekund zabere zobrazení jednoho snímku videosouboru. Poté porovnáme, kolik milisekund uběhlo od stisku tlačítka Play a vybereme požadovaný snímek. Tato technika byla nakonec implemantována v aplikaci. [9] 5.4 Test aplikace Výslednou aplikaci jsem otestoval v reálných podmínkách Test 1 První test spočíval v obarvení shluku papírových krabic. První obrázek znázorňuje rozmístění krabic před namapování textur (Obr 5.2). Obr 5.2 Další snímek znázorňuje výsledek po namapování textur na stěny papírových krabic (Obr 5.3). 42
41 Obr 5.3 Následující obrázek znázorňuje čistý výstup z projektoru. Obr 5.4 V prvním testu se aplikace osvědčila. Práce byla jednoduchá a po chvíli jsem se dopracoval k efektnímu výsledku Test 2 Druhý test spočíval v namapování několika čar na nerovný povrch krabic, které se budou z jednoho úhlu jevit jako rovné (Obr 5.5). Z jiných úhlů se budou jevit křivě (Obr 5.6). 43
42 Obr 5.5 Obr 5.6 Syrový výstup z projektoru vypadá následovně (Obr 5.7). 44
43 Obr 5.7 Druhý test dopadl také dobře. Z jednoho pozorovacího úhlu se jevily čáry rovně i na nerovném povrchu krabic. V pravé části obrázku (Obr 5.6) je však vidět drobná nepřesnost způsobená chybou při tvorbě textury. Tuto nepřesnost lze opravit vložením nové vrstvy, nastavením její barvy na černou a překrytím této nepřesnosti. 5.5 Rozšíření stávající aplikace Na aplikaci je stále co zlepšovat a dodávat. V této kapitole bych rád navrhl některá zlepšení, ke kterým jsem se v průběhu studia OpenGL a technik mappingu dopracoval, ale které jsem již nestihl do výsledné aplikace vložit. Jedním z největších zlepšení by dozajista byla podpora projekce na více projektorech současně. Jelikož je aplikace již dnes schopna vytvořit a pracovat s více instancemi třídy Projector, bylo by třeba předělat a přizpůsobit této funkcionalitě logiku a grafické rozhraní aplikace. Dalším významným zlepšením by bylo zavedení bufferu pro načítání snímků z videí. Zrychlilo by se tím načítání jednotlivých snímků a tím by vzrostla snímková frekvence celé projekce. To by vedlo k plynulejší projekci i při velikém počtu videosouborů. Zrychlení snímkové frekvence by dozajista způsobilo i nahrazení jednoduchého cyklu pro prohazování červené a modré barevné složky textur (RGB na BGR) za efektivnější způsob. Například funkcí sepsanou v assambleru. 45
44 46
45 6 Závěr Cílem této práce bylo dát čtenáři základní povědomí o tvorbě animovaných obrazů promítaných na fasády budov v praxi známé pod pojmem mapping. V bakalářské práci jsou rozebrána zařízení, která lze při projekci použít, jejich výhody, nevýhody a základní parametry, na které je při výběru projekčního zařízení nahlíženo. Čtenáři je popsán jeden ze základních postupů při tvorbě projekce a je mu představena jednoduchá aplikace implementovaná v jazyce C++ s použitím knihovny OpenGL, kterou lze využít při tvorbě projekce. Dále je čtenáři popsána základní problematika transformací, transformačních matic, texturování a práce s externím obsahem v počítačové grafice, která čtenáři ještě více přiblíží problematiku mappingu. 47
46 48
47 Zdroje [1] Wikipedie: Otevřená encyklopedie [online], [cit ] URL: [2] Vítek P. Digitalni kino [online], [cit ] URL: [3] Wikipedie: Otevřená encyklopedie [online], [cit ] URL: [4] DISK Multimedia [online], [cit ] URL: [5] Tišnovský P. Grafická knihovna OpenGL [online], [cit ] URL: [6] Wikipedie: Otevřená encyklopedie [online], [cit ] URL: [7] Walnum C. Programujeme grafiku v Direct3D. Brno, Computer Press, 24 [8] Stetten G., Crawford K. GlutMaster - version.3 [online], [cit ] URL: [9] Turek M. NeHe OpenGL Tutoriály [online], [cit ] URL: 49
Inovace a zkvalitnění výuky prostřednictvím ICT Technické vybavení Vizualizační technika Ing. Jakab Barnabáš
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Technické vybavení Vizualizační technika
DATAPROJEKTORY. Technologie zobrazení
DATAPROJEKTORY Dataprojektor je zobrazovací zařízení umožňující zprostředkovat prezentaci všem přítomným tím, že obraz, jehož zdrojem může být osobní počítač, notebook, DVD přehrávač či jiné videozařízení,
DATAPROJEKTORY. Technologie zobrazení
DATAPROJEKTORY Dataprojektor je zobrazovací zařízení umožňující zprostředkovat prezentaci všem přítomným tím, že obraz, jehož zdrojem může být osobní počítač, notebook, DVD přehrávač či jiné videozařízení,
Zobrazovací zařízení. Základní výstupní zařízení počítače, které slouží k zobrazování textových i grafických informací.
Zobrazovací zařízení Základní výstupní zařízení počítače, které slouží k zobrazování textových i grafických informací. Hlavní částí každého monitoru je obrazovka, na jejímž stínítku se zobrazují jednotlivé
Monitory a grafické adaptéry
Monitory a grafické adaptéry Monitor je důležitá součást rozhraní mezi uživatelem a počítačem Podle technologie výroby monitorů rozlišujeme: CRT monitory (Cathode Ray Tube) stejný princip jako u TV obrazovek
Dataprojektory. Parametry projektorů
Dataprojektory Projektory, neboli audiovizuální média, slouží k přenosu obrazu na promítací plátno či zeď, případně na podobný povrch. Zdrojem obrazu může být osobní počítač, notebook, přehrávač dvd a
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
PREZENTACE S VYUŽITÍM POČÍTAČE
při VŠCHT Praha Technické prostředky prezentace základní pojmy : technické parametry, principy funkce propojení počítače s dataprojektorem pomocné technické prostředky základní pojmy fotometrické fyzikální
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
5. Zobrazovací jednotky
5. Zobrazovací jednotky CRT, LCD, Plazma, OLED E-papír, diaprojektory Zobrazovací jednotky Pro připojení zobrazovacích jednotek se používá grafická karta nebo také video adaptér. Úkolem grafické karty
Full High-Definition Projektor pro domácí kino PT-AE3000
Full High-Definition Projektor pro domácí kino Parametry Označení Zobrazovač 0.74" LCD panely (D7) (formát 16:9) Rozlišení 1920 x 1080 (nativní) Světelný výkon 1.600 ANSI lumen (High Power mode) Kontrast
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
Rozšíření bakalářské práce
Rozšíření bakalářské práce Vojtěch Vlkovský 2011 1 Obsah Seznam obrázků... 3 1 Barevné modely... 4 1.1 RGB barevný model... 4 1.2 Barevný model CMY(K)... 4 1.3 Další barevné modely... 4 1.3.1 Model CIE
Michal Bílek Karel Johanovský. Zobrazovací jednotky
Michal Bílek Karel Johanovský SPŠ - JIA Zobrazovací jednotky CRT, LCD, Plazma, OLED E-papír papír, dataprojektory 1 OBSAH Úvodem Aditivní model Gamut Pozorovací úhel CRT LCD Plazma OLED E-Paper Dataprojektory
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
Zobrazovací jednotky. 1 z :53. LED technologie.
1 z 11 14. 11. 2016 23:53 Zobrazovací jednotky slouží k zobrazení informací většinou malého rozsahu. Základní dělení dle technologie. Základní dělení dle možností zobrazování. Základní dělení dle technologie:
Informatika Počítačová grafika Mgr. Jan Jílek (v.11/12) Počítačová grafika
Počítačová grafika - obor informatiky zabývající se zpracováním grafické informace (př. obrázky, videa, fotografie, informační plakáty, reklamy, konstrukční plány, návrhy, virtuální světy, hry aj.) První
Střední průmyslová škola strojnická Vsetín. Předmět Druh učebního materiálu monitory, jejich rozdělení a vlastnosti
Název školy Číslo projektu Autor Střední průmyslová škola strojnická Vsetín CZ.1.07/1.5.00/34.0483 Ing. Martin Baričák Název šablony III/2 Název DUMu 2.13 Výstupní zařízení I. Tematická oblast Předmět
Lekce 12 Animovaný náhled animace kamer
Lekce 12 Animovaný náhled animace kamer Časová dotace: 2 vyučovací hodina V poslední lekci tohoto bloku se naučíme jednoduše a přitom velice efektivně animovat. Budeme pracovat pouze s objekty, které jsme
Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...
Videosekvence vznik, úpravy, konverze formátů, zachytávání videa... VIDEOSEKVENCE (VIDEO) Sekvence obrázků rychle po sobě jdoucích (např. 60 snímků za sekundu) tak, že vznikne pro diváka iluze pohybu.
Kde se používá počítačová grafika
POČÍTAČOVÁ GRAFIKA Kde se používá počítačová grafika Tiskoviny Reklama Média, televize, film Multimédia Internetové stránky 3D grafika Virtuální realita CAD / CAM projektování Hry Základní pojmy Rastrová
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ý
Připravil: David Procházka. Projekce
15. října 2013, Brno Připravil: David Procházka Projekce Počítačová grafika 2 Projekce Strana 2 / 38 Obsah přednášky 1 Projekce 2 Ortografická projekce 3 Perspektivní projekce 4 Nastavení pohledové matice
MONITOR. Helena Kunertová
MONITOR Helena Kunertová Úvod O monitorech Historie a princip fungování CRT LCD PDP Nabídka na trhu Nabídka LCD na trhu Monitor Výstupní elektronické zařízení sloužící k zobrazování textových a grafických
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
Práce s texty, Transformace rastru, Připojení GPS
Školení programu TopoL xt Práce s texty, Transformace rastru, Připojení GPS Obsah: 1. Uživatelské rozhraní (heslovitě, bylo součástí minulých školení) 2. Nastavení programu (heslovitě, bylo součástí minulých
DUM č. 18 v sadě. 31. Inf-7 Technické vybavení počítačů
projekt GML Brno Docens DUM č. 18 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: monitory CRT a LCD - princip funkce, srovnání (výhody
Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO
Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO 1 Základní dělení 3D grafika 2D grafika vektorová rastrová grafika 2/29 Vektorová grafika Jednotlivé objekty jsou tvořeny křivkami Využití: tvorba diagramů,
Monitor EU peníze středním školám Didaktický učební materiál
Monitor EU peníze středním školám Didaktický učební materiál Anotace Označení DUMU: VY_32_INOVACE_IT1.12 Předmět: Informatika a výpočetní technika Tematická oblast: Úvod do studia informatiky, konfigurace
(15) Výstupní zařízení
(15) Výstupní zařízení Osnova 1. Panely LCD, plasmová zobrazovače, projektory 1. Připojení 2. LCD monitory 3. Plasmový displej 4. Dataprojektor 2. Tiskárny 1. Kvalita tisku, rozlišení (DPI), připojení
IVT. Rastrová grafika. 8. ročník
IVT Rastrová grafika 8. ročník listopad, prosinec 2013 Autor: Mgr. Dana Kaprálová Zpracováno v rámci projektu Krok za krokem na ZŠ Želatovská ve 21. století registrační číslo projektu: CZ.1.07/1.4.00/21.3443
VYUŽITÍ POČÍTAČOVÉ GRAFIKY
POČÍTAČOVÁ GRAFIKA VYUŽITÍ POČÍTAČOVÉ GRAFIKY ÚPRAVA FOTOGRAFIÍ NAFOCENÉ FOTOGRAFIE Z DIGITÁLNÍHO FOTOAPARÁTU MŮŽEME NEJEN PROHLÍŽET, ALE TAKÉ UPRAVOVAT JAS KONTRAST BAREVNOST OŘÍZNUTÍ ODSTRANĚNÍ ČERVENÝCH
Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527
Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice
Barvy a barevné modely. Počítačová grafika
Barvy a barevné modely Počítačová grafika Barvy Barva základní atribut pro definici obrazu u každého bodu, křivky či výplně se definuje barva v rastrové i vektorové grafice všechny barvy, se kterými počítač
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,
27. 11. 2012, Brno Připravil: Ing. Jaromír Landa. Postprocessing videa
27. 11. 2012, Brno Připravil: Ing. Jaromír Landa Postprocessing videa Digitální video Digitální video Typ záznamového zařízení, které pracuje s digitálním signálem a ne s analogovým. Proces, kdy se v určitém
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í
1. Úvod do obsluhy AutoCADu
1. Úvod do obsluhy AutoCADu Studijní cíl V této lekci se naučíme: Seznámíme se s potřebným zařízením. Způsoby ovládání. Nastavení AutoCADu. Doba nutná k procvičení 1,5 hodiny 1.1 AutoCAD AutoCAD je plnohodnotný
Zobrazovače. 36NM Lukáš Skřivánek skrivl1@fel.cvut.cz 17.12.2006 (2006/2007)
Zobrazovače 36NM Lukáš Skřivánek skrivl1@fel.cvut.cz 17.12.2006 (2006/2007) Osnova Zadání Modelové situace Technické informace stručně Porovnání Řešení modelových situací Závěr Zadání Proveďte porovnání
VY_32_INOVACE_INF.10. Grafika v IT
VY_32_INOVACE_INF.10 Grafika v IT Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 GRAFIKA Grafika ve smyslu umělecké grafiky
SOU Valašské Klobouky. VY_32_INOVACE_3_01 IKT Pc grafika základní pojmy Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT
SOU Valašské Klobouky VY_32_INOVACE_3_01 IKT Pc grafika základní pojmy Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název školy SOU Valašské Klobouky,
2D grafika. Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace. Počítačová grafika, 2D grafika 2
2D grafika Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace Počítačová grafika, 2D grafika 2 2D grafika PC pracuje s daným počtem pixelů s 3 (4) kanály barev (RGB
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
Zobrazovací jednotky a monitory
Zobrazovací jednotky a monitory Zobrazovací jednotka - karta, která se zasunuje do jednoho z konektorů na sběrnici uvnitř počítače. Dva režimy činnosti: Textový režim - zobrazuje znaky uvedené v tabulce
Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý
Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části
Prostředí Microstationu a jeho nastavení. Nastavení výkresu
Prostředí Microstationu a jeho nastavení Nastavení výkresu 1 Pracovní plocha, panely nástrojů Seznámení s pracovním prostředím ovlivní pohodlí, rychlost, efektivitu a možná i kvalitu práce v programu Microstation.
Jak. dokonalou prezentaci v. PowerPointu. Marek Laurenčík
Marek Laurenčík Jak na dokonalou prezentaci v PowerPointu Jak na Marek Laurenčík dokonalou prezentaci v PowerPointu Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této
Windows Live Movie Maker
Windows Live Movie Maker Tento program slouží k vytváření vlastních filmů, která se mohou skládat z fotografií, videí, titulků a zvuku. Movie Maker je součástí instalace operačního systému Windows 7 a
DATOVÉ FORMÁTY GRAFIKY, JEJICH SPECIFIKA A MOŽNOSTI VYUŽITÍ
DATOVÉ FORMÁTY GRAFIKY, JEJICH SPECIFIKA A MOŽNOSTI VYUŽITÍ UMT Tomáš Zajíc, David Svoboda Typy počítačové grafiky Rastrová Vektorová Rastrová grafika Pixely Rozlišení Barevná hloubka Monitor 72 PPI Tiskárna
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY. 7. Zobrazovací zařízení
MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY 7. Zobrazovací zařízení Petr Lobaz, 11. 4. 2017 CRT CATHODE RAY TUBE historicky první zvládnutá technologie elektronického displeje dnes už se nevyrábí, ale principy
Pořízení rastrového obrazu
Pořízení rastrového obrazu Poznámky k předmětu POČÍTAČOVÁ GRAFIKA Martina Mudrová duben 2006 Úvod Nejčastější metody pořízení rastrového obrazu: digitální fotografie skenování rasterizace vektorových obrázků
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě
VY_32_INOVACE_INF_BU_02 Sada: Digitální fotografie Téma: Základy ovládání digitálního fotoaparátu Autor: Mgr. Miloš Bukáček Předmět: Informatika Ročník: 3. ročník osmiletého gymnázia, třída 3.A Využití:
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
Rozcestník virtuálních světů
České vysoké učení technické v Praze Fakulta elektrotechnická Semestrální projekt Rozcestník virtuálních světů Radek Loucký Vedoucí práce: Mgr. Jiří Danihelka Studijní program: Softwarové technologie a
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
Základní nastavení. Petr Novák (novace@labe.felk.cvut.cz) 13.12.2010
Základní nastavení Petr Novák (novace@labe.felk.cvut.cz) 13.12.2010 Všechny testy / moduly používají určité základní nastavení. Toto základní nastavení se vyvolá stiskem tlačítka Globální / základní konfigurace
Zdroj: http://www.root.cz/clanky/pravda-a-myty-o-gifu/
Zdroj: http://www.root.cz/clanky/pravda-a-myty-o-gifu/ Bitmapový formát (rastrový obrázek) Většina z používaných grafických formátů (JPEG, PNG, TGA, BMP) obsahuje popis rastrového obrázku jako celku ukládají
Digitální fotografie. Mgr. Milana Soukupová Gymnázium Česká Třebová
Digitální fotografie Mgr. Milana Soukupová Gymnázium Česká Třebová Téma sady didaktických materiálů Digitální fotografie I. Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu
Transformace (v OpenGL) příklady a knihovna GLM
Transforace (v OpenGL) příklady a knihovna GLM Petr Felkel, Jaroslav Sloup Katedra počítačové grafiky a interakce, ČVUT FEL ístnost KN:E-413 (Karlovo náěstí, budova E) E-ail: felkel@fel.cvut.cz Poslední
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
David Buchtela. Monitory 20.10.2009. Monitory. David Buchtela. enýrství lská univerzita v Praze
1 20.10.2009 Monitory Monitory David Buchtela Katedra informačního inženýrstv enýrství Provozně ekonomická fakulta, Česká zemědělsk lská univerzita v Praze Kamýcká 129, Praha 6 - Suchdol 2 Monitory Monitor
Adobe Photoshop 18. Ukládání dokumentu formáty
Adobe Photoshop 18. Ukládání dokumentu formáty www.isspolygr.cz Vytvořila: Bc. Blažena Kondelíková Vytvořila dne: 20. 11. 2012 Strana: 1/5 Škola Ročník 4. ročník (SOŠ, SOU) Název projektu Interaktivní
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_13 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Rozlišení - V současnosti patří mezi nejběžněji používaná rozlišení: SVGA (800 600), XGA (1024 768), SXGA (1280 1024), UXGA (1600 1200)
PROJEKTORY Dataprojektor, nebo také datový projektor, je zařízení umožňující zprostředkovat prezentaci všem přítomným tím, že obraz, jehož zdrojem může být osobní počítač, notebook, přehrávač DVD jiná
Ing. Jakub Ulmann. 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ě
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 3 Ing. Jakub Ulmann Digitální fotoaparát Jak digitální fotoaparáty
Rámcový manuál pro práci s programem TopoL pro Windows
Rámcový manuál pro práci s programem TopoL pro Windows Příkazy v nabídce Předmět Volba rastru rychlá klávesa F4 Příkaz otevře vybraný rastr; tj. zobrazí ho v předmětu zájmu. Po vyvolání příkazu se objeví
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.
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é
Ondřej Baar ( BAA OO6 ) Prezentace ZPG 2008 Kalibrace Barev. Kalibrace Barev. Ondřej Baar 2008 ~ 1 ~
Kalibrace Barev Ondřej Baar 2008 ~ 1 ~ Úvod do problému: Proč je potřeba kalibrace barev: Při zpracování obrazu může vlivem nejrůznějších nepřesností dojít k rozladění barev. Ty je pak třeba zpětně upravit,
zdroj světla). Z metod transformace obrázku uvedeme warping a morfing, které se
Kapitola 3 Úpravy obrazu V následující kapitole se seznámíme se základními typy úpravy obrazu. První z nich je transformace barev pro výstupní zařízení, dále práce s barvami a expozicí pomocí histogramu
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
1. Nastavení dokumentu
Obsah as a asta 2. Okno / více dokumentů otevírání, zavírání, vytváření nového, přepínání, ukládání 3. Barevný režim dokumentu 4. Zobrazení, vlastní pohledy 5. Objekty vkládání 1. Nastavení dokumentu Uprostřed
Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA
Rovinné přetvoření Rovinné přetvoření, neboli, jak se také často nazývá, geometrická transformace je vlastně lineární zobrazení v prostoru s nějakou soustavou souřadnic. Jde v něm o přepočet souřadnic
Návod k obsluze. GeoVision ViewLog SW verze 8.12. Návod k obsluze GV-ViewLog Stránka 1
Návod k obsluze GeoVision ViewLog SW verze 8.12 Návod k obsluze GV-ViewLog Stránka 1 Obsah : Přehrávání videosouborů úvod strana 3 Přehrávání v hlavním systému (ViewLog) strana 4 1. Základní obrazovka
Jednoduché stříhání videa
Pátek 23. listopadu Jednoduché stříhání videa Máte-li v projektu vložený alespoň jeden videozáznam, objeví se pod náhledem ovládací tlačítka pro spuštění (respektive zastavení) přehrávání a posun vpřed
4.6 Zpracování videa na počítači
3. 4.6 Zpracování videa na počítači V řetězci bude na vstupu zapojeno zařízení, které nám poslouží jako zdroj signálu. Nemusí se nutně jednat jen o digitální kameru, web kameru či mobilní telefon. Můžeme
Úvod do počítačové grafiky
Úvod do počítačové grafiky elmag. záření s určitou vlnovou délkou dopadající na sítnici našeho oka vnímáme jako barvu v rámci viditelné části spektra je člověk schopen rozlišit přibližně 10 milionů barev
Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.
Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,
Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr
Geometrické transformace v prostoru Geometrické vidění světa KMA/GVS ak. rok 2013/2014 letní semestr Shodné transformace 1 Shodné transformace stejný přístup jako ve 2D shodné transformace (shodnosti,
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
02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě
VY_32_INOVACE_INF_BU_01 Sada: Digitální fotografie Téma: Princip, kategorie digitálů Autor: Mgr. Miloš Bukáček Předmět: Informatika Ročník: 3. ročník osmiletého gymnázia, třída 3.A Využití: Prezentace
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í.
Postupy práce se šablonami IS MPP
Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul
Hospodářská informatika
Hospodářská informatika HINFL, HINFK Vytvořeno s podporou projektu Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu reg.
Co je nového v aplikaci PaperPort 12?
Vítejte! Aplikace PaperPort společnosti Nuance je softwarový balíček pro správu dokumentů pracovní plochy, který vám usnadní skenování, uspořádání, sdílení, správu a přístup k papírovým a digitálním dokumentům
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:
Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN
Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940
Webové stránky. 16. Obrázky na webových stránkách, optimalizace GIF. Datum vytvoření: 12. 1. 2013. str ánk y. Vytvořil: Petr Lerch. www.isspolygr.
Webové stránky 16. Vytvořil: Petr Lerch www.isspolygr.cz Datum vytvoření: 12. 1. 2013 Webové Strana: 1/6 Škola Ročník Název projektu Číslo projektu Číslo a název šablony Autor Tématická oblast Název DUM
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.
Novinky v Solid Edge ST7
Novinky v Solid Edge ST7 Primitiva Nově lze vytvořit základní geometrii pomocí jednoho příkazu Funkce primitiv je dostupná pouze v synchronním prostředí Těleso vytvoříme ve dvou navazujících krocích, kde
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
Připravil: David Procházka. Vertex Buffer Objects
30. září 2013, Brno Připravil: David Procházka Vertex Buffer Objects Počítačová grafika 2 Obsah přednášky Strana 2 / 22 Obsah přednášky 1 Obsah přednášky 2 Vertex Buffer Objects 3 Příklady 4 Shrnutí Obsah
Ignijet_2007 Externí monitor
Ignijet_2007 Externí monitor ver 2010-06-17 Úvod Externí monitor dokáže monitorovat vybrané parametry zapalování a zobrazovat je dle modifikovatelného nastavení a to jak hodnoty parametrů, tak jednoduché
Grafika na počítači. Bc. Veronika Tomsová
Grafika na počítači Bc. Veronika Tomsová Proces zpracování obrazu Proces zpracování obrazu 1. Snímání obrazu 2. Digitalizace obrazu převod spojitého signálu na matici čísel reprezentující obraz 3. Předzpracování
Počítačová grafika 1 (POGR 1)
Počítačová grafika 1 (POGR 1) Pavel Strachota FJFI ČVUT v Praze 8. října 2015 Kontakt Ing. Pavel Strachota, Ph.D. Katedra matematiky Trojanova 13, místnost 033a E-mail: WWW: pavel.strachota@fjfi.cvut.cz
je aplikace určená k editaci videozáznamu, funguje v operačních systémech Windows Vista a Windows7
Live Movie Maker je aplikace určená k editaci videozáznamu, funguje v operačních systémech Windows Vista a Windows7 Importovat video Klepněte na prozatím jediné aktivní tlačítko Přidat videa a fotografie
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
Geometrické algoritmy pro počítačovou grafiku
České vysoké učení technické v Praze Fakulta jaderná a fyzikálně inženýrská Katedra fyzikální elektroniky Informatická fyzika Geometrické algoritmy pro počítačovou grafiku Semestrální práce Autor práce:
Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt
Pokročilé programování v jazyce C pro chemiky (C3220) 3D grafika v knihovně Qt Rozhraní pro 3D grafiku Běžné grafické knihovny zpravidla podporují pouze 2D grafický výstup Pro 3D grafický výstup jsou využívány