PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE. Metody modelování tělesa z rovinných řezů Bc.

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

Download "PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE. Metody modelování tělesa z rovinných řezů Bc."

Transkript

1 PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE Metody modelování tělesa z rovinných řezů 2011 Bc. Markéta Krmelová

2 Místopřísežně prohlašuji, že jsem celou práci včetně příloh vypracoval samostatně. 4.duben 2011 Bc. Markéta Krmelová i

3 Anotace Tato práce navazuje na bakalářskou práci, která se zabývala rekonstrukcí 3D obrazu z počítačového tomografu, ve které byly uvedeny metody pro výpočet povrchu tělesa, zejména metoda Marching Cubes. V této práci budou podrobněji popsány další metody modelování, obzvláště metoda Dividing cubes, metoda Opláštění kontur, metoda Marching Cubes 33 a jejich porovnání s metodou Marching Cubes. Dále bude představen objemový rendering. Součástí této práce je také vytvoření programu, který bude demonstrovat představené metody na datách získaných z výpočetního tomografu. ii

4 Ráda bych na tomto místě poděkovala svému vedoucímu diplomové práce Ing. Michalovi Dobešovi, Ph.D., za obětavou spolupráci i za čas, který mi věnoval při konzultacích. Nemalý dík však patří také mým rodičům a nejbližším přátelům za podporu, které se mi od nich dostalo. iii

5 Obsah 1. Úvod Rozvržení práce Algoritmy zobrazující povrch Metoda opláštění kontur Metoda Marching Cubes Vylepšení metody o filtrování malých částí Metoda Marching Cubes Metoda Dual Contouring Metoda Dual Marching Cubes Metoda Marching Tetrahedra Metoda Dividing Cubes Metoda opláštění kontur Výpočet řezů Rekonstrukce povrchu opláštěním kontur Dividing Cubes Princip algoritmu Dividing Cubes Marching Cubes Algoritmy pro přímé zobrazování objemu Metody nehledající povrch Metody s jednoduchým zobrazením povrchu Metody zobrazující povrch s normálou Metody uvažující integraci světla na dráze paprsku A Simple and Flexible Volume Rendering Framework for Graphics-Hardware-based Raycasting Ovládání programu Porovnání metod pro zobrazení trojrozměrných dat Závěr Conclusion 43 Reference 44 i

6 A. Uživatelská příručka 45 A.1. Struktura CD A.2. Ovládání aplikace A.2.1. Zobrazit snímky A.2.2. Zobrazení 3D modelu metodou Surface renderingu A.2.3. Zobrazení dat metodou Volume renderingu A.3. Vstupní data ii

7 Seznam obrázků 1. Originální mapa doktora Johna Snowa zobrazující ložiska cholery v Londýně roku 1854 [13] Vstupní objekt Sada řezů Ukázka odhadu skutečného povrchu pokud nemáme další informaci o tvaru tělesa mezi řezy Výsledek bez filtrování malých částí Výsledek po odfiltrování malých částí Díry vzniklé nejednosnačností algoritmu Marching Cubes Dva různé způsoby triangulace povrchu jednoho případu Všechny možné případy triangulace povrchu Vlevo rekurzivní dělení krychle. Vpravo odovídající octree. Zdroj [13] Vlevo nahoře je zobrazeno původní těleso, vpravo nahoře aproximovaný povrch získaný metodou Dual Marching Cubes, vlevo dole Marching Cubes a vpravo dole Dual Contouring varianty umístění trojúhelníků v čtyřstěnu způsoby dělení krychle na čtyřstěny Kontura a kontura s dírou Všechny možné konfigurace Příklad Nejednoznačnosti Marching Squares Řez a příslušná hierarchie kontur Nalevo je počet průsečíků s l lichý, tj. k je díra, vpravo je k vnější kontura Kritérium překrytí kontur Zobecněné válce Správné a chybné propojení kontur Chybné spojení kontur Maximální objem Označení vrcholů Označení face Označení Výstup z programu Volume - maximum intensity projection Výstup z programu Volume - summed intensity projection Výstup z programu Volume - average intensity projection Výstup z programu Volume - zobrazní povrchu bez výpočtu normál Výstup z programu Volume - zobrazní povrchu bez výpočtu normál II Výstup z programu Volume - Z-buffer gradient shadding Výstup z programu Volume - Voxel gradient shading Výstup z programu Volume - Gray-level gradient shading iii

8 36. Maximum intensity projection Transparent isosurface Kombinace přímého zobrazení povrchu a izoplochy Isosurface Sphere mapping Clipped volume rendering Metody uvažující integraci světla na dráze paprsku Refraction Dialog aplikace Okno se snímky Okno s 3D modelem Okno s daty zobrazenými pomocí metody Volume renderingu iv

9 Seznam tabulek 1. Testy jednotlivých případů v

10 1. Úvod Prakticky v každém odvětví lidské činnosti se můžeme setkat s nějakými daty. Specifickým typem dat jsou pak data objemová. Příkladem takovýchto dat jsou například informace získané z výpočetního tomografu. Naším úkolem je pak tato data zobrazit. Tento postup, který je obecně označován jako vizualizace objemových dat, převádí vstupní data do grafické podoby. Vizualizace je použitelná v mnoha různorodých oblastech, jako je medicína, fyzika, geografie či v dnes značně oblíbeném herním průmyslu. Jako první použil k vědeckým účelům vizualizaci doktor John Snow v roce Doktor Snow sestavil kartografický plánek, jehož kopii znázorňuje obrázek 1., s cílem nalézt zdroj epidemie cholery. Obrázek 1. Originální mapa doktora Johna Snowa zobrazující ložiska cholery v Londýně roku 1854 [13] Díky jeho přelomové myšlence se tehdy podařilo najít zdroje nákazy. Byly jimi studny, které byly znečištěny kalem prosakujícím z nedaleké žumpy (oběti 1

11 cholery jsou na obrázku znázorněny tečkami a studny křížky). Samotný proces vizualizace je realizován algoritmy, které umožňují zobrazení rozsáhlých souborů prostorových dat. Většina těchto algoritmů má poměrně vysoké nároky na výkon a paměť. Vizualizace využívá také poznatky i z jiných disciplín, než jen z počítačové grafiky a sice z odvětví počítačového vidění či umělé inteligence. V dalších kapitolách se budeme zabývat algoritmy k vizualizaci dat, která byla získána z výpočetního tomografu ve formě série snímků. Data byla zapůjčena s laskavým svolením radiodiagnostického oddělení nemocnice v Ústí nad Orlicí Rozvržení práce Celá tato práce je rozdělena do třech velkých celků. V první části se budeme zabývat metodami Surface renderingu. V druhé kapitole to bude souhrn těchto metod. Ve třetí kapitole se budeme podrobněji věnovat metodě Opláštění kontur. Čtvrtá kapitola bude představovat metodu Dividing Cubes a poslední kapitola tohoto celku představí metodu Marching Cubes 33. Druhým větším celkem budou metody Volume renderingu. V šesté kapitole si popíšeme tyto metody. V sedmé kapitole si představíme framework na zobrazování metod volume renderingu. Třetí část tvoří srovnání všech metod v závislosti na jejich použitelnosti pro práci s daty z výpočetního tomografu. 2

12 2. Algoritmy zobrazující povrch Jednou z nejdůležitějších úloh počítačové grafiky je zobrazování prostorových modelů. Tvorba reálného obrazu na základě počítačového modelu, nejčastěji 3D, se nazývá rendering. Máme dva typy zobrazení trojrozměrného objektu. Jedním je tzv. Surface rendering (povrchové zobrazení), kde vytváříme geometrickou reprezentaci povrchu tělesa. Metody na tomto principu nepracují přímo s daty, ale snaží se povrch aproximovat sítí trojůhelníků a až poté data zobrazují. Výhodou tohoto přístupu je snížení množství dat, kde místo celé mřížky vzorků zůstane pouze povrch tělesa. V této části si uvedeme několik algoritmů, které převádějí data reprezentující objemová tělesa do povrchové reprezentace. Velmi častá je aproximace povrchu sítí trojúhelníků Metoda opláštění kontur Existuje několik možností, jak zaznamenat těleso. Jednou z nich je pomocí jeho hranice v jednotlivých řezech, tzv. konturách. Obrázek 2. Vstupní objekt. Princip této metody je následující. Z výpočetního tomografu získáme sadu řezů tělesa. V nich pak hledáme kontury reprezentující povrch tělesa v jednotlivých řezech. Hlavním problémem je, jak přiřadit jednotlivé kontury k sobě a jak je následně aproximovat sítí trojúhelníků. Obrázek 3. Sada řezů. Nevýhodou této metody, stejně jako tomu je u jiných metod surface renderingu, je, že dostaneme pouze odhad skutečného povrchu. Jelikož nemáme in- 3

13 formaci o tělese mezi jednotlivými konturami, tak je zde průběh povrchu pouze odhadován. K lepší aproximaci je potřeba znát další informace o tvaru tělesa. a) b) c) d) e) Obrázek 4. Ukázka odhadu skutečného povrchu pokud nemáme další informaci o tvaru tělesa mezi řezy. Této metodě se budeme podrobněji věnovat v kapitole Metoda Marching Cubes Tato metoda, jejíž princip byl prvně publikovan v roce 1987 W. Lorensenem a H. Clinem v knize Computer graphics, patří mezi nejčastěji implementované metody, hledající povrch tělesa. Autoři vytvořili tento algoritmus k nalezení izoplochy v tomografických datech a k jejímu pokrytí sítí trojúhelníků. Vstupem algoritmu je objem dat (hodnoty hustoty uspořádané v pravidelné mřížce) a konstanta pro práh. Výstupem je izoplocha ve formě sítě trojúhelníků. Hlavní myšlenka, jak samotný název tohoto algoritmu napovídá, spočívá v tom, že data, která jsou uložena v pravoúhlé prostorové mřížce (tu si můžeme představit jako kolekci krychlí naskládaných vedle sebe), postupně procházíme. Pro všechny krychle o straně h (kde h jsou rozestupy mezi jednotlivými vzorky dat) na základě hodnot funkce v krajních bodech mřížky, vygeneruje každé krychli trojúhelníky, které nejlépe aproximují zvolenou izoplochu. Vrcholy těchto trojúhelníků leží na hranách krychle. Takto získaných trojúhelníků bývá velké množství, neboť pro každou krychli mohou vzniknout až 4. Například pro zpracování tomografických dat v rozlišení vzorků obdržíme řádově až 4 miliony trojúhelníků. Druhou slabinou je, že způsob triangulace povrchu se určuje pouze na základě hodnot osmi vrcholů tvořících krychli a ne globálně s ohledem na její okolí. Proto se vyskytují potenciálně nejednoznačné případy, kdy nemůžeme s jistotou říci, kudy hledaný povrch prochází. Podrobnější popis a způsob implementace této metody je popsán v bakalářské práci [3]. Později tato metoda byla upravena o možnost filtrování malých částí (šumu vzniklého v počítačovém tomografu) Vylepšení metody o filtrování malých částí Výsledný obraz z výpočetního tomografu je závislý na hustotě tkáně v těle. V těle se nacházejí tkáně s podobnou hustotou, či různou hustotou na povrchu 4

14 a uvnitř. Z tohoto důvodu je někdy obtížné určit práh vymezující hranice jednotlivých tkání. Tento nepříjemný fakt navíc do výsledného obrazu zanáší malé části, které ve výsledném obraze tvoří šum. Zatímco určit práh vymezující hranice jednotlivých tkání je poměrně težký úkol, fitrování malých částí je o poznání snadněji řešitelné. Při řešení tohoto problému je potřeba určit, které trojúhelníky k sobě patří (tj. tvoří souvislou část tkáně) a dále podle námi zvolenéhé hodnoty odfiltrovat ty části, které jsou menší. Tento problém lze řešit průchodem mřížky ještě před samotným výpočtem trojúhelníků. Při tomto průchodu uvažujeme pouze body, které patří do tělesa, tj. mají hustotu větší než je stanovený práh. Procházíme postupně mřížku a při prvním nalezení bodu, patřícímu do zobrazované množiny, přiřadíme tomuto bodu index. Tento index postupně přiřazujeme všem jeho sousedům (ve smyslu šestisousednosti) a sousedům jeho sousedů a tak dále. Když už nemáme žádný bod, který bychom mohli přidat, zvýšíme index. Opět projdeme postupně celou mřížku a pro první neoznačený bod, který má větší hustotu než je práh, celý postup opakujeme. Když už máme označeny všechny body, spočítáme počty bodů s jednotlivými indexy. Ty body, které určují objekt menší než je zvolená hodnota, nebudou do výpočtu trojúhelníků metodou Marching Cubes zahrnovány. Výsledek tohoto vylepšení je zobrazen na obrázku 6. Pro srovnání jsou stejná data zobrazena nevylepšenou metodou Marching Cubes na obrázku 5. Obrázek 5. Výsledek bez filtrování malých částí. 5

15 Obrázek 6. Výsledek po odfiltrování malých částí. 6

16 2.3. Metoda Marching Cubes 33 Tato metoda byla představena v roce 2003 v článku [4]. Tento algoritmus byl navržen pro to, aby eliminoval nedostatky původní metody Marching Cubes. Jak bylo výše řečeno, metoda Marching Cubes nebere v úvahu globální pohled na těleso a tím mohou vznikat nejednoznačnosti. Jednou z nejednoznačností je možnost vzniku děr, která je zobrazena na obrázku 7. Obrázek 7. Díry vzniklé nejednosnačností algoritmu Marching Cubes. Dalším typem nejednoznačnosti je topologická struktura tělesa (obr. 8.). Obrázek 8. Dva různé způsoby triangulace povrchu jednoho případu. Metoda Marching Cubes 33 používá rozšířenou tabulku, kde namísto 15 různých případů jak aproximovat povrch tělesa v krychli uvažuje 32 případů. Principielně tato metoda pracuje úplně stejně jako metoda Marching Cubes, jen v nejednoznačných případech se dopočítává, který případ použije. Více podrobností o této metodě nalezneme v článku [4]. Obrázky v této subkapitole jsou převzaty z již zmiňovaného článku [4]. V rámci této práce byla tato metoda implementována a budeme se jí podrobněji věnovat v jedné z následujících kapitol. 7

17 Obrázek 9. Všechny možné případy triangulace povrchu. 8

18 2.4. Metoda Dual Contouring Tato metoda vychází z metody Marching Cubes. A byla představena v článku [8]. Tato metoda zjednodušuje pravidelnou mřížku do struktury zvané Octree mřížka (Octree je stromová struktura, která má pro každý interní uzel právě 8 potomků viz. obrázek 10.) tím, že sloučí sousedící bunky sítě, ve kterých je povrch tělesa plocha. Tato metoda vždy produkuje těleso bez děr. Má však často za následek praskliny v povrchu mezi přilehlými octree buňkami. Tato nepříjemnost se obvykle řeší pomocí nějakého záplatování. Obrázek 10. Vlevo rekurzivní dělení krychle. Vpravo odovídající octree. Zdroj [13] 2.5. Metoda Dual Marching Cubes Další modifikací metody Marching Cubes a metody Dual Contouring, která eliminuje jejich nedostatky, je metoda Dual Marching Cubes. Tuto metoda byla představena v článku [7] Scottem Schaeferem a Joe Warrenem. Metoda je založená na zarovnávání vrcholů mžížky ke dvěma implicitním funkcím. Tato metoda dává velice dobré výsledky. Narozdíl od metody Marching Cubes negeneruje takové množství trojúhelníků. Pokud sousedící trojúhelníky tvoří témeř rovinu, tak jsou nahrazeny větší plochou. Pro srovnání je přiložen obrázek 11. přejatý z článku [7], kde je zobrazeno těleso pomocí metody Marching Cubes, Dual Contouring a Dual Marching cubes. Z obrázku je patrné, že nejlepší výsledky z těchto metod dává metoda Dual Marching cubes Metoda Marching Tetrahedra Tato metoda byla poprvé uvedena B.A. Paynem a A.W. Togou v knize Surface Mapping Brain Function on 3D Models [6] v roce Tato metoda je jakýmsi 9

19 Obrázek 11. Vlevo nahoře je zobrazeno původní těleso, vpravo nahoře aproximovaný povrch získaný metodou Dual Marching Cubes, vlevo dole Marching Cubes a vpravo dole Dual Contouring. pokusem o odstranění nejednoznačností v metodě Marching Cubes. Princip spočívá v tom, že se krychle rozdělí na 5 čtyřstěnů a trojúhelníky se umísťují do nich. Toto rozdělení je možné 2 způsoby, které se musejí z důvodu zachování návaznosti trojúhelníků sítě pravidelně střídat. Vznikají 2 varianty umístění trojúhelníků viz. obr. 12. Obrázek varianty umístění trojúhelníků v čtyřstěnu. Pro jeden vrchol uvnitř a 3 vně vznikne jeden trojúhelník a pro 2 vrcholy uvnitř a 2 vně vzniknou 2 trojúhelníky. Problém děr byl v tomto algoritmu zcela vyřešen, ale na úkor neúměrného nárustu počtu trojúhelníků a nutnosti střídání způsobu dělení krychle (To je nutné pro zachování spojitosti povrchu). Toto dělení je zobrazeno na obrázku 13. Zlepšení návaznosti lze vylepšit dělením na 6 či 24 čtyřstěnů, ale počet trojúhelníků je pak neúnosný. Z tohoto důvodu tento algoritmus není v praxi příliš používán Metoda Dividing Cubes Tento algoritmus byl přestaven v roce 1988 v publikaci Two Algorithms for the Three-Dimensional Reconstruction of Tomograms [1]. Jeho autory jsou H.E. 10

20 Obrázek způsoby dělení krychle na čtyřstěny. Cline, W.E Lorensen, S.Ludke, C.R. Crawford a B.C. Teeter. Autoři řešili převážně problém pomalého vykreslování tělesa, který vzniká při rasterizaci obrovského množství malých plošek. Místo plošek se zde vykreslí pouze povrchové body s normálou, které mají takovou velikost, že se zobrazují do jednoho obrazového bodu. Touto modifikací se značně zvýší rychlost vykreslování. Díky tomu, že každý bod má svojí normálu, lze vypočítat světelné podmínky při rotaci tělesa či změně polohy světelného zdroje. Nevýhodou této metody je ztráta informace o tom, ke které ploše bod náleží, a nemožnost přiblížení tělesa. Tento algoritmus dává stejně kvalitní výsledky jako algoritmus Marching Cubes, přičemž efektivně využívá možností rastrového displeje a negeneruje nezobrazitelné detaily. Více se této metodě a její implementaci budeme věnovat v kapitole 4. 11

21 3. Metoda opláštění kontur Tato metoda se skládá z několika dílčích problémů, které si popíšeme a nastíníme jejich možná řešení. Jedním z nich je problém, který byl zmíněn v úvodu této práce a sice problém hledání hranic tělesa v datech. V této části se budeme zabývat problematikou výpočtu jednotlivých kontur. Nejprve uvedeme použitou terminologii. Z výpočetního tomografu získáme data ve formě série snímků. Z nich chceme vypočítat sadu řezů. Sadou řezů rozumíme množinu řezů S, přičemž každý řez se skládá z množiny kontur, které odpovídají průniku hranice tělesa a roviny řezu. Kontura je orientovaný jednoduchý uzavřený polygon c i = p 1, p 2,..., p n, kde i je index kontury v rámci řezu a p k, k = 1,..., n jsou vrcholy polygonu představující průnik tělesa a roviny řezu. Dále se předpokládá, že se kontury v rámci jednoho řezu neprotínají. Definujeme dva typy kontur: Vnější kontura a Díra, které jsou pro ilustraci znázorněny na obrázku 14. Vnější obrysy jsou orientovány proti a vnitřní ve směru hodinových ručiček. Obrázek 14. Kontura a kontura s dírou Výpočet řezů V následující části si popíšeme, co vše je potřeba pro výpočet řezů. Nejprve je zapotřebí vypočítat průnik tělesa s rovinou řezu, sestavit jednotlivé kontury a nastavit jim orientaci. Jednotlivé kroky si detailně rozebereme: 1. Hledání průniku tělesa s rovinou řezu K výpočtu průniku tělesa s rovinou řezu použijeme metodu Marching Squares, jejímž výstupem bude hranice tělesa. Máme danou dvourozměrnou mřížku s indexy i a j (odpovídající krokům na ose x a y) s rozestupem h. Mřížka je o rozměru m n (hodnoty i = 0,..., m 1 a j = 0,..., n 1). Označme si f ij = f(x 0 + ih, y 0 + jh) hodnoty funkce v jednotlivých bodech mřížky a f 0 hodnotu, pro kterou hledáme křivku. 12

22 Každému bodu mřížky přiřadíme f ij = f(x 0 +ih, y 0 +jh). Každému čtverci v mřížce spočítáme index a z tabulky hran zjistíme, na kterých hranách leží koncové body úseček. Každé úsečce interpolujeme polohu krajních bodů na základě hodnot v mřížce. Nakonec úsečku vykreslíme. Pokud se na popsaný postup zaměříme detailněji, tak něděláme ve skutečnosti nic jiného, než že pro každý vrchol čtverce určíme zda je vnitřním bodem plochy ohraničené izokřivkou f(x, y) = f 0. To určíme z podmínky f ij f 0. Je zřejmé, že je-li jeden bod vnitřním bodem (f ij f 0 ) a druhý vnějším bodem (f ij < f 0 ), pak musí křivka f = f 0 procházet někde mezi těmito body. Na obrázku 15. jsou znázorněny všechny možné konfigurace. Díky ním můžeme každému čtverci jednoznačně přiřadit index. Obrázek 15. Všechny možné konfigurace. Index čtverce můžeme vyjádřit jako číslo ve dvojkové soustavě takto: index = 2 0 A B C D, kde A, B, C, D jsou hodnoty 0 nebo 1, podle toho, zda body A, B, C, D jsou vnitřními nebo vnějšími body. Celkově index nabývá hodnot a přesně nám rozlišuje jednotlivé případy. Poté, co získáme daný index, se podíváme do tabulky úseček příslušících k danému čtverci. Odtud zjistíme, na kterých hranách leží konce úseček. Vzdálenost krajního bodu úsečky od krajních bodů mřížky by bylo možné ponechat h, ale to by nám dávalo jen hrubý výsledek. Proto je vhodnější 2 použít lineární interpolaci. D = 2 x3 C = 6 4 y2 A = 3 1 B = 3 Obrázek 16. Příklad. 13

23 Tuto interpolaci si ukážeme na příkladu. Mějme čtverec viz. obr. 16. Hodnoty funkce v jednotlivých bodech máme napsané u jednotlivých vrcholů. Zadanou hranicí je hodnota funkce f 0 = 4. V našem případě, když dosadíme do vzorce index = 2 0 A+2 1 B +2 2 C +2 3 D, dostaneme index = = 4. Pokud se podíváme do tabulky úseček definovanou obrázkem 15., najdeme v ní, že krajní body úsečky leží na hranách 2 a 3. Na zálkadě lineární interpolace nyní spočítáme vzdálenost x a y od krajních bodů. Označíme si a hodnotu ve výchozím bodě a b v koncovém. Nyní hledáme funkci ve tvaru: I(u) = mu + n, I(a) = 0, I(b) = h, kde h je délka hrany čtverce. I(u) = f 0 a b a. V našem případě tedy: x = y = f 0 f(d) f(c) f(d) h = h = h 2, f 0 f(b) f(c) f(b) h = h = h 3. Jelikož toto číslo počítáme ze dvou koncových bodů hrany bez ohledu na to, ve kterém se nacházíme čtverci, bude výsledná křivka na společné hraně spojitá. Propojením celé mřížky dostaneme kompletní vrstevnici. Chyba oproti původní vrstevnici v principu nemůže být větší než je rozlišení h. Při použití metody Marching Squares vznikají nejednoznačnosti. Na obrázku 17. není možné rozhodnout zda použít spíše úsečky v prvním řádku, nebo ve druhém. Obrázek 17. Nejednoznačnosti Marching Squares. V rámci algoritmu se jedná naštěstí pouze o věc konvence - pokud první a druhý řádek nekombinujeme bude výsledná křivka všude plynule navazovat. Při použití případů z prvního řádku bude mít křivka tendenci tvořit nesouvislé struktury, při použití případů z druhého řádku se budou 14

24 tvořit souvislejší celky. 2. Sestavení kontur Vstupem této části algoritmu je množina úseček S = s 1, s 2,..., s n, ze kterých chceme sestavit kontury. Koturu sestavujeme tak, že k němu přidáváme úsečky z množiny S a zároveň je z této množiny odebíráme. Úsečku přidáváme k mnohoúhelníku, který právě vytváříme, pokud některý její krajní bod inciduje s jedním ze dvou stávajících krajních bodů polygonu. Pokud již nemůžeme k mnohoúhelníku žádné další úsečky přidat a přitom není množina S prázdná, začneme vytvářet další konturu stejným způsobem. 3. Nastavení orientace kontur Nastavení orientace kontur vyžaduje znalost hierarchie kontur v rámci řezu. Po sestavení kontur totiž nevíme, zda-li je kontura vnější nebo se jedná o díru. A X D X E F B C A B D C E F Obrázek 18. Řez a příslušná hierarchie kontur. K určení hierarchie kontur v rámci jednoho řezu vytváříme tzv. strom vnoření, který je zobrazen na obrázku 18. K vytvoření stromu je třeba určit, která kontura je vnější a která je díra. Využijeme faktu, že kontura je dírou, leží-li uvnitř jiné kontury. K tomu využijeme technika Ray-crossingu. V prvním kroku zjistíme nejlevější průsečík přímky q s konturou k. Označíme jej P k. V druhém kroku zjišťujeme počet průsečíků přímky q s konturou l nalevo od P l. Platí, že k je uvnitř l právě tehdy, když je počet průsečíků lichý (viz. obr. 19.). 15

25 l l k k Obrázek 19. Nalevo je počet průsečíků s l lichý, tj. k je díra, vpravo je k vnější kontura Rekonstrukce povrchu opláštěním kontur V další fázi algoritmu, do které vstupuje množina mnohoúhelníkových kontur, se snažíme nalézt odhad původního tvaru povrchu ve formě trojúhelníkové sítě. Ve své podstatě se jedná o interpolaci křivek plochou, která je aproximovaná sítí trojúhelníků. Tyto algoritmy, které náleží do rodiny oplašťovacích algoritmů, jsou publikovány zhruba od poloviny 70. let. Konstrukce pláště kontur není v obecném případě triviální úlohou. Při řezání objektů totiž dochází ke ztrátě informací o datech mezi řezy. Tyto informace při rekonstrukci chybějí a proto je výsledkem jen hrubá aproximace povrchu. Metody opláštění kontur lze podle použitého principu rozdělit na Objemové metody a Povrchové metody. Objemové metody vyžadují vzdálenost mezi řezy shodnou nebo alespoň porovnatelnou s hustotou vzorků v řezu. Vzorky v řezech jsou chápány jako prostorová mřížka a pro vyplnění kontur se používají standardní algoritmy na hledání izolochy (například algoritmus Marching Cubes). Čím větší je však vzdálenost mezi sousedními řezy, tím více tento přístup selhává, neboť je založen na překrývání promítnutých kontur. Povrchové metody pracují přímo s řezy a interpolují postupně dvojice sousedních korespondujících kontur pásy trojúhelníků. Vzájemné přiřazení kontur je klíčovým problémem, na kterém závisí výsledná rekonstrukce povrchu. Pro zjištění, zda jsou dvě kontury sousední (patří stejnému objektu) neexituje jednoznačný postup. K řešení je potřeba mít další informace o struktuře vzorkovaného objektu. Jiný postup volíme v případě, kdy rekonstruujeme několik kulovitých útvarů a jiný postup při rekonstrukci objektu stromové struktury. Pro úplnost uveďme několik heuristických postupů: - Plocha překrytí kontur. Nejjednodušší a současně nejpoužívanější heuristikou je dostatečná velikost plochy překrytí kontur v sousedních řezech. Překrytí je definováno jako velikost oblasti průniku kolmé projekce kontur. Poměr velikosti plochy překrytí k ploše větší z kontur, případně ploše vzniklé jejím sjednocením porovnáváme se zadanou konstantou. Tento postup je použitelný pouze pro jednoduché tvary objektů při dostatečně malé vzdálenosti řezů. Pokud zpracovávaná data nejsou dostatečně hustá pro 16

26 překrytí obrysů stejného objektu v sousedních řezech, pak tyto metody vytvářejí více objektů. Velikosti překrytí lze hrubě odhadnout plochou průniku obdélníkových obálek (bounding boxes), nicméně s rostoucí členitostí a protáhlostí je odhad stále nepřesnější. Mnohem přesnější je rasterizovat kontury do dvou bitových map a po vyplnění zjistit velikost průniku logickou operací AND jako počet společných pixelů. Obr. 20. Obrázek 20. Kritérium překrytí kontur. - Zobecněné válce. Pokud má těleso stromovou strukturu kruhového či oválného průřezu, pak tyto data nejsou vhodná pro použití překrývajícího kritéria. Využívá se tedy metody zobecněných válců, která používá globálnější pohled na datovou množinu. Tuto metodu navrh Soroka v roce Válce tvoří řezy ve tvaru elips, jejichž středy leží přibližně na přímce (odchylují se o méně než je zadaná chyba). K popisu jednotlivých elips nám pak stačí pouze úhel natočení hlavní poloosy, souřadnice středu a délky poloos (obr. 21.). Obrázek 21. Zobecněné válce. Podobnou metodu navrh Mayers v roce Jeho metoda pracovala ve třech krocích. V prvním se z elips sestavily válcové úseky, ty se ve druhém kroku pospojovaly do objektů. Ve třetí jsou nalezena větvení. Snahou této 17

27 metody je sestavit co nejdelší válcové úseky. Uvedený postup je vhodný k rekonstrukci dlouhých vláknitých či větvících se struktur bez cyklů. Slabým místem metody je první krok, při kterém může dojít ke spojení vzdálených vzájemně posunutých elips a k následnému šíření chyby. - Strom minimálního pokrytí v grafu kontur. Tato metoda oproti předcházející pracuje globálněji. Vznikla, aby se předcházelo propagacím chyb vzniklých v prvním kroku algoritmu Zobecněných válců. V první fázi se setaví graf možných spojnic kontur tak, aby každé kontuře odpovídal jeden uzel a každé možné spojnici (spojnice je každá možná dvojice kontur v sousednich řezech) jedna hrana. Tyto hrany jsou pak ohodnoceny podle vzdálenosti kontur. V tomto grafu potom hledáme strom minimálního pokrytí. Tento strom se pak rozdělí na větvící se a nevětvící se úseky. Na obrázku 22. je znázorněno správné a chybné propojení kontur. Obrázek 22. Správné a chybné propojení kontur. Tato metoda dává pro větvení lepší výsledky než metody dříve uvedené a nedochází zde k šíření lokálních chyb. Stejně jako přechozí metoda však špatně hledá objekty s cykly. Může tedy vytvářet chybné hrany, které propojí oddělené objekty, které jsou blízko sebe. Nyní, když už máme vzájemně přiřazené kontury, se dostáváme k poslednímu problému, jako je nalezení meziřezového propojení, tj. vytvořit trojúhelníkovou síť z jejich bodů. 18

28 Propojení kontur Tento problém můžeme chápat jako problém interpolování množiny rovinných křivek plochou. Požadavkem je najít síť trojúhelníků, takovou, že trojúhleníky pokrývají celou plochu a vzájemně se nepřekrývají. Dva hlavní problémy jsou větvení a spojování kontur. Tyto dva problémy jsou vzájemně symetrické (stačí jen zaměnit pořadí řezů). Některé z uvedených metod umí spojovat pouze kontury ve vztahu 1:1 a triangulovat víko. Složitější algoritmy pak dovedou i interpolovat jednoduché i vícenásobné větvení (1 : 2 popřípadě 1 : n) nebo dokonce obecné větvení (m : n). Jednou z možných metod je tzv. Toroidní graf. V roce 1975 Keppel v [2] tuto úlohu formuloval jako úlohu, která využívá teorie grafů, tj. na problém hledání cyklu s minimální cenou v toroidním grafu. Množina uzlů odpovídá všem možným úsečkám propojující vrcholy sousedních kontur. Hrany pak představují trojúhelníky, které vzniknou ze dvojice úseček se společným vrcholem. Aby byla dodržena podmínka vzájemně se nepřekrývajících trojúhelníků, bereme v úvahu pouze vodorovné a svislé hrany. Úlohu můžeme zjednodušit, pokud nalezneme počáteční nejlepší spojnici. Cesta pak v této spojnici začíná a končí. Metody využívající grafové algoritmy nám dávají optimální výsledek, ale jsou výpočetně náročné pro kontury s mnoha vrcholy. Časová složitost těchto metod je O(n 2 ). Častěji se tedy využívají heuristické algoritmy, které nezkoumají celý obvod kontury, ale pouze definují kritéria, která musí splňovat nově přidaný trojúhelník. Možná kritéria mohou být definována jen pro jeden trojúhelník (lokální metriky), nebo definována globálně. Častěji se využínají lokální metriky. - Minimální povrch je nejjednodušší kritérium, protože se dá snadno určit (je to objem trojúhelníku). Nehodí se však pro případy, kdy jsou kontury vůči sobě vzájemně posunuty (obr. 23.). Obrázek 23. Chybné spojení kontur. - Směr přiřazení je kritérium preferující ty spojnice, jejichž směr se moc 19

29 neliší od směru spojnice těžišť kontur. Zde nastává problém v případě zavinutých kontur. - Maximální objem. Objemem rozumíme objem klínu, který tvoří trojúhelníková záplata a spojnice těžišť kontur (obr. 24.). U konkávních částí kontur se snažíme tento objem minimalizovat. Obrázek 24. Maximální objem. - Minimální délka spoje. Toto kritérium bere v úvahu délku úsečky, která spojuje sousední kontury. Mezi globální metriky patří například Ohodnocení mírou zásluh. Jednotlivé trojúhelníky na začátku ohodnotíme tak, že zásluha je rovna převrácené hodnotě délky. V další fázi dolaďujeme zásluhy sousedních trojúhelníků. Postupně odstraňujeme trojúhelníky, jejichž zásluha je nulová. Obecně nelze říci, které kritérium je nejlepší, protože pro každé kritérium lze najít případ, kdy toto kritérium selhává. 20

30 4. Dividing Cubes 4.1. Princip algoritmu Dividing Cubes Načteme objemová data a prahovou konstantu, pro kterou hledáme povrch. Do paměti načteme čtyři sousedící řezy. Vytvoříme krychli, kterou definujeme 8 body dvou sousedících řezů. Ve všech osmi vrcholech vypočítáme vektor gradientu - jednotlivé složky vypočítáme jako rozdíl mezi předchozím a následujícím sousedem ve směru každé osy. Ohodnotíme každou krychli. Krychle je: Vnitřní - pokud intenzita všech vrcholů je menší než prahová konstanta Vnější - pokud intenzita všech vrcholů je větší než prahová konstanta jinak protínají povrch hledaného obrazu Rozdělíme všechny krychle na a b c subkrychlí, které jsou velké jako zobrazované body. Denzitu každého vrcholu vypočítáme lineární interpolací. Procházíme jednotlivé subkrychle a hledáme ty, které leží na hranici tělesa (některé vrcholy leží uvnitř a některé vně). Interpolujeme vektor gradientu těchto krychlí. Vypočítáme intenzitu světla každého povrchového bodu, projekcí normálového vektoru podél směru pohledu. Pro účely této práce byl algoritmus mírně poupraven. Hlavní myšlenka této úpravy spočívala v tom, že pokud krychle je celá vně nebo celá uvnitř, tak lineární interpolací nezískáme subkrychli, která by byla na hranici tělesa. Pro takovéto krychle je zbytečné počítat gradienty a subkrychle. Díky tomuto drobnému vylepšení dochází k značnému urychlení výpočtu při zobrazování objemových dat. Velikost tohoto zrychlení závisí na povaze zobrazovaných dat. Hlavním problémem této metody je zvolení počtu subkrychlí. Z výpočetního tomografu nezískáváme data v pravidelné krychlové mřížce a je tedy potřeba vypočítat poměr počtu subkrychlí v jednotlivých směrech. Z parametrů výpočetního tomografu získáme vzdálenosti mezi řezy a mezi jednotlivýmu vzorky v rámci jednoho řezu. V naší implementaci metody Dividing Cubes jsou tato data uložena v ini souboru. Víme tedy poměry jednotlivých 21

31 vzdáleností. Zvolíme počet subkrychlí pro jednu vzdálenost a pro ostatní dvě dopočítáme pomocí tohoto poměru. Následující obrázky ukazují některé výsledky v závislosti na počtu subkrychlí: Vykreslení této metody je sice rychlejší, než je tomu u algoritmu Marching Cubes, ale výpočet bodů narůstá s počtem subkrychlí. Kromě vysoké paměťové náročnosti, jak již bylo řečeno, není zde možnost přiblížení tělesa. Přiblížením by 22

32 vznikaly mezery mezi body a těleso by nebylo celistvé. Rovněž jako metodu Marching Cubes lze i tuto metodu obohatit o vylepšení, při kterém jsou filtrovány malé části, jak bylo popsáno a implementováno v metodě Marching Cubes. 23

33 5. Marching Cubes 33 Jak již bylo řečeno, tato metoda byla navržena tak, aby eliminovala jeden z nedostatků metody Marching Cubes a sice ten, že tato metoda nebere v úvahu topologickou strukturu tělesa. Jednoduchý algoritmus může vést k tomu, že modelované těleso může obsahovat díry (jak je vidět na obrázku 7.). Stejná konfigurace může být aproximována různými způsoby a jednoduchá 256 vstupová look up tabulka metody Marching Cubes nedokáže rozhodovat mezi způsoby. K tomu potřebujeme zavést pojem korektní topologie a pozitivní vrchol. Vrchol nazýváme pozitivní, pokud leží uvnitř zobrazovaného tělesa. Vrchol, který je vně nazýváme negativní vrchol. Řekneme, že výsledná síť je korektní, pokud je homeomorfní s F 1 (α), kde F je stejná jako f v každém vrcholu a v každé krychli nezmění znaménko více jak jednou. Pokud je tato podmínka splněna, pak se vyvarujeme dírám. Pokud aplikujeme stejný test na přilehlé krychle, tak nám to zajistí plynulý přechod mezi jednotlivými krychlemi. Obrázek 25. Označení vrcholů. K vyřešení nejednoznačností na stěně krychle (zda jsou dva pozitivní vrcholy A 0, C 0 na úhlopříčce spojeny skrz stěnu, nebo, zda jsou spojeny mimo stěnu) se používá tzv. face test. Jednotlivé stěny krychle nazýváme face. Jednotlivé face si označíme, jak ukazuje obrázek 26.. Obrázek 26. Označení face. Face test pro stěnu face (číslo stěny) s hodnotami vrcholů A, B, C, D pak může vypadat například takto: 24

34 Face test input : A, B, C, D, face output: true or false begin if (abs( A C B D ) < ε) then return face >= 0 return face A (A C B D) >= 0 end Vyřešením těchto nejednoznačností sice předejdeme vzniku děr, nicméně nám to nezaručuje správnou topologii, jak ukazuje obrázek 8. Musíme totiž vyřešit i vnitřní nejednoznačnosti. Vnitřní dvojznačnost nastává, když dva úhlopříčně protilehlé vrcholy A 0 a C 1, patří do vykreslované oblasti. Tyto vrcholy totiž můžeme buď spojit vnitřkem krychle, vytvořením jakéhosi tunelu, nebo je propojovat vnitřkem nebudeme. Nejprve vyřešíme face nejednoznačnost. Pokud existuje řetěz vrcholů patřících do tělesa (pojmenujme si je pozitivní vrcholy), spojující tyto dva vrcholy, které jsou propojeny buď hranami, nebo skrz pozitivní stěnu (face test vrátí hodnotu true), pak zde není vnitřní nejednoznačnost. Jinak musíme vyřešit, zda jsou tyto vrcholy propojeny pouze skrz krychli. Předpokládejme, že jsou propojeny přez vnitřek krychle. Jelikož zde platí trilinearita, pak funkce F nemůže změnit znaménko víckrát než jednou v jednom segmentu. Musí tedy existovat rovina, která je rovnoběžná s jednou ze stěn P = (A t, B t, C t, D t ), kde A t leží na stejné hraně jako A 0 a C t leží na stejné hraně jako C 1, a jsou zde tyto vrcholy propojeny skrze tuto rovinu. V následující tabulce 1. je popsáno, pro které případy je zapotřebí dělat testy. Rovněž je zde uvedeno jaké typy testů jsou nutné k určení případu, kterým bude krychle aproximována. Tyto případy nalezneme v již zmiňované tabulce případů 9. Více znamének ve sloupci znamená nutnost testovat více face krychle. Pro zajímavost je v tabulce uveden i počet trojúhelníků, který je potřeba k triangulaci povrchu. Při implementaci této metody byla rozšířená tabulka převzata z již představeného článku [4]. Tato metoda sice vyřešila nejednoznačnosti, které vznikají při použití zjednodušené look up tabulky, ale problém s tím, že metoda Marching Cubes generuje mnoho trojúhelníků, se zde ještě zvětšuje. Pro každou krychli může v případě 13 vzniknout až 12 trojúhelníků, což je 3x více než je tomu v jednoduché metodě Marching Cubes. 25

35 Tabulka 1. Testy jednotlivých případů Případ Face test Vnitřní test Výsledný podpřípad Počet trojúhelníků podpřípadů, testuje se všech 6 face a případně i vnitřek

36 6. Algoritmy pro přímé zobrazování objemu V předchozí kapitole byl popsán jeden ze dvou způsobů renderingu- Surface rendering. Druhým typem zobrazování je Volume rendering (objemový rendering), kde zobrazujeme celá data bez výpočtu povrchu tělesa. Nemusíme tedy předem vědět, zda vzorek patří nebo nepatří k zobrazovanému objektu. Metody na bázi Volume renderingu můžeme rozšířit o možnost zobrazování poloprůhledných materiálů a struktur uvnitř jiných. Cílem této části je ukázat metody zobrazující trojrozměrná data objemovými metodami (Volume rendering). Jednou z nejznámějších metod je tzv. Ray casting neboli metoda vrhání paprsku. Zobrazování dat touto metodou lze dále členit na: metody pracující s daty bez hledání povrchu, metody hledající povrch, které nezjišťují normály, metody hledající povrch a jeho normály. Budeme brát v úvahu data v trojrozměrné mřížce. Písmenem I i si označíme hodnotu intenzity i-tého vzorku podél paprsku. Písmenem J označíme množinu započítaných vzorků (vzorků zasažených paprskem, případně vyhovují nějakému dalšímu kritériu) viz. 27. Obrázek 27. Označení Metody nehledající povrch Tyto metody tím, že nehledají povrch a nevyžadují žádné předzpracování, jsou rychlé a proto se hodí zejména pro vytváření náhledu. 27

37 Jednou z těchto metod je Maximum intensity projection. Tato metoda zobrazuje pouze nejjasnější struktury podél paprsku. Pro každý bod se vypočítává hodnota I pomocí vzorce: I = max i J I i. Obrázek 28. Výstup z programu Volume - maximum intensity projection. Jinou metodou je Summed intensity projection. Tato metoda počítá jas jako součet jasů podél paprsku pomocí vzorce: I = i J I i. Obrázek 29. Výstup z programu Volume - summed intensity projection. Obdobou toho je Average intensity projection, kde se navíc jas průměruje dle vzorce: I = i J I i J. 28

38 Obrázek 30. Výstup z programu Volume - average intensity projection. 29

39 6.2. Metody s jednoduchým zobrazením povrchu Tyto metody vyžadují znalost hraniční hustoty tělesa, které chceme zobrazit. Prvnímu pixelu na dráze paprsku, který patří do tělesa, přiřadíme hodnotu jasu podle hloubky (vzdálenosti od plochy procházející okrajem snímků). Obrázek 31. Výstup z programu Volume - zobrazní povrchu bez výpočtu normál. Takto zobrazený povrch ale nevypadá příliš objemově. Potlačuje šum vzorkování a s ním i hrany a nespojitosti. Ještě jednodušší metodou je zobrazit první pixel na dráze paprsku s jeho hodnotou. Tato metoda nezobrazuje tvar, ale pouze barvu povrchu objektu. Obrázek 32. Výstup z programu Volume - zobrazní povrchu bez výpočtu normál II. 30

40 6.3. Metody zobrazující povrch s normálou Těmito metodami získáme kvalitnější zobrazení objektu, díky tomu, že se snažíme odhadnout orientaci povrchu v místě dopadu paprsku. Zmíníme tři nejznámější metody pro odhad normál. První metodou je Z-buffer gradient shadding. Normálu aproximuje vektorem, jehož kolmým průmětem do plochy obrazovky je vektor gradientu v paměti hloubky. Složky normály vypočítáme: n 0 = Z(p x + 1, p y ) Z(p x 1, p y ), n 1 = Z(p x, p y + 1) Z(p x, p y 1), n 2 = 1, kde [p x, p y ] jsou souřadnice pixelu, pro který počítáme normálu. Na konci je potřeba takto vypočítaný vektor normovat. Tato metoda zachycuje tvar tělesa, ale na zaoblených površích jsou vidět vrstevnice (obrázek 33.). Obrázek 33. Výstup z programu Volume - Z-buffer gradient shadding. Další metodou je metoda Voxel gradient shading, která odhaduje oproti předešlé metodě normálu podle gradientu v binárním objemu vzorků. Složky gradientu nabývají hodnot { 1, 0, 1} a složky výsledné normály nabývají jednu z 27 hodnot. Složky gradientu spočítáme dle následujících vzorců: n 0 = b(p x + 1, p y, p z ) b(p x 1, p y, p z ), n 1 = b(p x, p y + 1, p z ) b(p x, p y 1, p z ), n 2 = b(p x, p y, p z + 1) b(p x, p y, p z 1), kde [p x, p y, p z ] jsou souřadnice pixelu a hodnota b(p x, p y, p z ) nabývající 1 nebo 31

41 0 představuje funkci příslušnosti pixelu k povrchu. Stejně jako v předešlé metodě se i zde objevují vrstevnice (obrázek 34.). Obrázek 34. Výstup z programu Volume - Voxel gradient shading. Třetí metoda, kterou si představíme, je metoda Gray-level gradient shading, která předpokládá, že na povrchu dochází k největší změně hodnot vzorků, tj. opět počítáme s tím, že normála bude ve směru gradientu, ale budeme zde narozdíl od předchozí metody počítat s původními hodnotami. Složky normály tedy vypočítáme: n 0 = f(p x + 1, p y, p z ) f(p x 1, p y, p z ), n 1 = f(p x, p y + 1, p z ) f(p x, p y 1, p z ), n 2 = f(p x, p y, p z + 1) f(p x, p y, p z 1). Obrázek 35. Výstup z programu Volume - Gray-level gradient shading. 32

42 6.4. Metody uvažující integraci světla na dráze paprsku Metody na tomto principu kombinují vrhání paprsku s osvětlením objemových dat. Barvu pixelu ovlivňuje osvětlení elementů, které jsou na dráze paprsku k tomuto bodu. Jedním z představitelů těchto metod a jedinou metodou, kterou si zde představíme je Levoyova metoda. Tato metoda chápe objem jako pole voxelů a pracuje ve dvou krocích. Voxel si označíme X = [x, y, z]. V prvním kroku vypočítáváme barvu C(X) a průhlednost α(x) jednotlivých voxelů. Barvu určujeme je podle Phongova osvětlovacího modelu. Průhlednost se určí klasifikací, tj. hledáme-li povrch s hustotou h, pak pixelům s h(x, y, z) = h přiřadíme neprůhlednost 1 a ostatním 0. Pro odstranění šumu, můžeme pixelům s hodnotou blízkou hledané hustoty přiřadit neprůhlednost blízkou 1 (v závislosti na velikosti odchylek hustot). Dále se v této medodě využívá toho, že člověk vnímá obrysy a hrany intenzivněji než pozvolné přechody. Proto chceme zdůraznit rozhraní mezi objekty a potlačit vliv vnitřních voxelů. Toho lze dosáhnout vynásobením výsledné neprůhlednosti velikostí vektoru gradientu α (X) = h(x) α(x). Ve druhém kroku vytváříme z C(X) a α(x) výsledný dvojrozměrný obraz. Pro každý pixel je do objemu vyslán paprsek. Ten prochází pole C(X) a α(x) a akumuluje hodnoty jasu dle vzorce C out = C in (1 α(x)) + C(X)α(X). Paprsek vstupuje do objemu s intenzitou C in a je částečně utlumen průchodem. Barevnou složku každého pixelu tedy vypočítáme: C(R) = k i=0 {C i(r)α i (R) k j=i+1 (1 α j(r))} 33

43 7. A Simple and Flexible Volume Rendering Framework for Graphics-Hardwarebased Raycasting Jak bylo v vředchozích kapitolách uvedeno, tak exituje mnoho metod sloužících k zobrazení prostorových dat. Jedním z cílů této práce je tyto metody srovnat. K tomuto srovnání využijeme software Single Pass Volume Raycasting Demo od autorů Simona Stegmaiera, Magnuse Strengerta a Thomase Kleina, kteří efektivně implementovali 10 nejzajímavějších zobrazovacích metod za pomocí knihovny OpenGL. Celý program je navržen s plnou podporou pro nejnovější grafické karty a díky tomu je samotné zobrazování velice rychlé a efektivní. Základním stavebním kamenem aplikace Single Pass Volume Raycasting Demo je framework od stejných autorů, který je možné v podobě knihovny zahrnout do jakékoliv aplikace v jazycích C a C++. Metody, které byly do programu vybrány byly zvoleny tak, aby ukázaly variabilitu a snadnost použití tohoto frameworku. Podrobnější informace o implementaci najdeme v článku [9], který byl publikován v roce Všechny shadery v Simple and Flexible Volume Rendering Frameworku využívají raycastingu, který používá opakování funkce. Díky tomu se vykreslování provede v jediném průchodu, což má vliv předevsím na rychlost a kvalitu, která dosahuje výborných výsledků. V této kapitole podrobněji popíšeme některé implementované metody a rovněž představíme samotný program. Jednoduchou modifikací základního přímého volume renderingu je maximum intensity projection. Tato metoda byla již popsána v předešlé kapitole. Výstup této metody v aplikaci Single Pass Volume Raycasting Demo je vidět na obrázku 36. Autoři do výběru rovněž zahrnuli nejsnadněji implementovatelnou metodu zobrazující izoplochu a sice metodu využívající hledání změny diference na dráze paprsku. Na následující obrázku 37. je výstup z programu, kde je izoplocha znázorněna poloprůhlednou barvou. Přístup přímého volume renderingu a metod, které pracují s izoplochou můžeme kombinovat. Hledané těleso je pak můžné zobrazovat jako izoplochu a její okolí jako poloprůhledný objem. Tato kombinace je znázorněna na obrázku 38. U metod zobrazující data jako izoplochu je důležité vypočítávání odrazu světla od povrchu. Jedním ze základních metod je self-shadowing znázorněný na obrázku 39. Stejná technika byla použita k implementaci image-based lightening. Použili zde metodu sphere mappingu, která je založená na tom, že těleso zobrazuje jako vysoce odrazivý materiál. Těleso je zobrazeno jako zrcadlová plocha. Výsledek je možno vidět na obrázku 40. Dalším zde implementovaným rozšířením volume renderingu je metoda volume clipping. Zde byla implementovaná tak, že v každém bodě vzorku se rozho- 34

44 Obrázek 36. Maximum intensity projection. Obrázek 37. Transparent isosurface. duje, zda leží uvnitř, nebo vně clipping geometrie. Tato geometrije je definovaná jako povrch vzdáleného pole generovaného z polygonální sítě. Detailní informace o této metodě lze najít v [12]. V Single Pass Volume Raycasting Demo bylo pole zvoleno ve tvaru válce se středovou osou procházející tělesem. Na obrázku 41. je zřetelně vidět, že uvnitř lebky je díra ve tvaru válce. Žádná z již zmíněných metod neuspěla v modelování nepřímého útlumu světla. Proto se autoři rozhodli implementovat ve frameworku metodu Transluency shader. Tato metoda pracuje tak, že zmenšuje intenzitu světla na základě vzdálenosti, 35

45 Obrázek 38. Kombinace přímého zobrazení povrchu a izoplochy. Obrázek 39. Isosurface. kterou musel paprsek urazit než prošel objemem k hledanému povrchu. Třída těchto metod je již popsána v subkapitole Metody uvažující integraci světla na dráze paprsku. Na obrázku 42. je vidět výstup této metody. Dalším možným přístupem k zobrazování dat, který je zcela odlišný od již zmiňovaných metod, je refrakce. Tato metoda je v porovnání s ostatními uvedenými metodami mnohem obtížnější na výpočt, na druhou stranu je implementace je poměrně přímočará. Výsledek je vidět na obrázku

46 Obrázek 40. Sphere mapping Ovládání programu Obrázek 41. Clipped volume rendering. Program se spouští pomocí konzolového programu runme.exe. V zobrazeném konzolém okně vidíme postup při výpočtu. Po dokončení výpočtů se v novém okně zobrazí data. Pomocí pohybu myši lze tělěsem otáčet, při stisku pravého tlačítka a pohybu myšli zmenšovat či zvětšovat velikost zobrazení. Další nastavení lze provádět pomocí klávesnice. My si představíme jen nejzákladnějí klávesové zkratky pro ovládání programu. 37

47 Obrázek 42. Metody uvažující integraci světla na dráze paprsku. Obrázek 43. Refraction. 38

48 klávesová zkratka funkcionalita ESC, q ukončení programu F1 - F10 přepínání mezi metodami zobrazení mezerník animace zobrazení w zobrazení hranice dat < / > zmenšení / zvětšení vzdálenosti vzorků { / } zesvetlení / ztmavení pozadí m / j zmenšení / zvětšení hraniční hodnoty zobrazovaného povrchu. /, zmenšení / zvětšení absorbce světla l zobrazení směru světelného paprsku Ctrl + myš změna pozice světla Více o tomto programu naleznete na adrese [11]. 39

49 8. Porovnání metod pro zobrazení trojrozměrných dat V předchozích kapitolách bylo představeno několik metod, které se používájí ke zpracování trojrozměrných dat. V našem případě budeme porovnávat tyto metody z hlediska vhodnosti zobrazení dat získaných z výpočetního tomografu. Tyto metody dělíme do dvou základních skupin. Jednou z těchto skupin je skupina algoritmů, které přímo zobrazují objem. Tomuto přístupu se souhrnně říká Volume rendering. Tyto metody se dále člení na metody, které pracují s daty, aniž by hledaly povrch zobrazovaného tělesa. Jako zástupci byly uvedeny metody Maximum intensity projection, Summed intensity projection a Average intensity projection. Z hlediska zobrazení dat získaných z počítačového tomografu mají tyto metody spíše informativní charakter. Jsou snadno implementovatelné, ale v našem případě ne moc vhodné. Další skupinou jsou metody, které sice hledají povrch, ale nezjišťují normály. Zobrazovaná tělesa pak nevypadají prostorově. Proto v našem případě nejsou příliš vhodné. Z hlediska vhodnosti použití na data získaná z výpočetního tomografu jsou metody, které zobrazují povrch a navíc k němu hledají normály, nejvhodnější. Jako zástupce této skupiny metod byly v této práci uvedeny metody Z-buffer gradient shadding, Gray-level gradient shading, Sphere mapping a Clipped volume rednering. Každá tato metoda hledá normály na povrchu tělesa odlišně, ale nedá se říci, která z nich by dávala nejlepší výsledky, protože všechny metody produkují kvalitativně srovnatelné výsledky. Poslední zde představenou skupinou jsou algoritmy, které uvažují integraci světla na dráze paprsku. Jako zástupce zde byla uvedena Levoyova metoda. Celkově metody pracující přímo s objemem, obzvláště poslední dvě zmíněné skupiny těchto metod, dávají velice dobré výsledky. Hlavní výhodou je, že tyto metody mohou být implementovány velice efektivně a může být k vykreslování použita přímo grafická karta, čímž se vykreslování výrazně zrychlí. Velkou nevýhodou těchto metod je ale, že pracují s celým objemem a tím pádem mají velké nároky na paměť. Druhou skupinou metod zpracovávajících trojrozměrná data jsou metody, které z dat počítají geometrickou reprezentaci povrchu. Tyto metody nepracují přímo s daty, ale snaží se je aproximovat sítí trojúhelníků, nebo body, a až pak data zobrazují. Zde představené metody se dále dělí na metody objemové a povrchové. Objemové metody chápou vzorky jako prostorovou mřížku. Tyto metody vyžadují vzdálenost mezi řezy shodnou nebo alespoň porovnatelnou s hustotou vzorku v řezu. Zástupci této metody jsou metody z rodiny Marching Cubes a metoda Dividing Cubes. Nejznámější metoda Marching Cubes pracuje na poměrně jednoduchém principu a proto je nejčastěji implementována. Tato metoda má dva hlavní problémy. Jedním je, že generuje mnoho trojúhelníků a tím neúměrně zatěžuje paměť. Tento neduh je řešen v metodě Dividing Cubes. Zde se nepočítají trojúhelníky, ale metoda počítá a zobrazuje pouze body a tím negeneruje nezobrazitelné detaily. Tato metoda však není vhodná k zobrazování dat získa- 40

50 ných z výpočetního tomografu, protože zde chybí možnost zoomování. Druhým nedostatkem metody Marching Cubes je, že nebere v úvahu topologii tělesa. To má za následek, že těleso nemusí být souvislé (mohou se v něm objevit díry) a někdy spojuje tělesa, která jsou blízko sebe. Prvním pokusem o vyřešení těchto nedostatků vznikla metoda Marching Tetrahedra. Tato metoda je však složitější na implementaci a generuje mnohonásobně více trojúhelníků. Z tohoto důvodu se v praxi tato metoda neujala. Mezi nezdařilejší úpravy metody určitě patří metoda Marching Cubes 33. Tato metoda bere v úvahu topologii tělesa a místo 15 případů, kterými metoda Marching Cubes aproximuje krychle, má takových případů 32. Výsledky této metody jsou velice dobré, avšak ani tato metoda neřeší množství generovaných trojúhelníků. O co hůř, tato metoda jich generuje ještě víc. Například pro data zápěstí metodou Marching Cubes získáme trojúhelníků. Metodou Marching Cubes 33 získáme trojúhelníků o více jak více ( ). Další představená metoda Dual Contouring, narozdíl od dříve zmíněných vylepšení metody Marching Cubes, řeší problém množství generovaných trojúhelníků. Tato metoda slučuje trojúhelníky, které tvoří rovinu do jedné struktury. Bohužel tato metoda není úspěšná, co do správného aproximování povrchu tělesa. Sloučením této metody a metody Marching Cubes vznikla nová a jednoznačně nejlepší metoda metoda Dual Marching Cubes. Tato metoda nejen, že zachovává správnou topologii tělesa, tak také generuje méně trojúhelníků. Zcela jiný pohled na hledání povrchu má metoda Opláštění kontur. Ta patří do rodiny algoritmů povrchových. Tyto metody jsou hlavně vhodné pro aproximování dat, která mají větší rozestup mezi vzorky. Což není případ výpočetního tomografu, takže spíše než výhody této metody se zde projevují její nevýhody a těmi jsou množství různých přístupů pro aproximování dat. Jiné přístupy jsou vhodnější pro data válcového tvaru a jiné pro data s množstvím kulových útvarů. Proto tato metoda není moc vhodná pro data získaná z výpočetního tomografu, kde se v jednom vzorku dat můžou vyskytovat jak data válcového tvaru, tak data kulového. Přístupy zobrazování dat jak volume renderingem, tak surface renderingem se mohou i kombinovat. Tato kombinace je obzvláště výhodná v případě, kdy chceme zobrazit kost (použijeme surface rendering) a také zajímá-li nás poloha ostatních tkání vůči této kosti. K tomu je vhodné použít volume rendering obzvláště poloprůhledný. 41

51 9. Závěr Tato diplomová práce navazuje na bakalářskou práci [3], která se týkala metody Marching Cubes a její implementace. Hlavním cílem této práce bylo porovnat metodu Marching Cubes s jinými metodami, které se používají k zobrazování trojrozměrných dat, a nalézt nejvhodnější metodu k zobrazování dat získaných z výpočetního tomografu. Byly zde představeny dva základní principy zobrazování dat. Volume a Suface rendering. Z hlediska paměťové náročnosti jsou vhodnější metody surface renderingu, které nezobrazují celá data, ale vypočítávají povrch zobrazovaného tělesa a ten pak zobrazují. Mezi nimi je jednoznačně nejvhodnější metoda Dual Marching Cubes. Co se týče rychlosti jsou však vhodnější metody Volume renderingu, které můžeme vykreslovat přímo pomocí grafické karty. Součástí této práce je i software Vizualizace dat, který implementuje některé v této práci popsané metody. Tento program byl navržen s cílem předvést tyto metody, ale je možné ho použít jako koncovou aplikaci pro zobrazení dat z CT. 42

52 10. Conclusion This MSc. thesis builds on bachelor thesis [3], which presents the Marching Cubes method and its implementation. The main goal of this thesis was compare the Marching Cubes method with other methods, which could be used to display three-dimensional data, and find the most suitable method for displaying data obtained from the computer tomograph. There were presented two basic principles of imaging data. Volume rendering and Suface rendering. In terms of memory consumption is preferable surface rendering methods that do not display all the data, but calculated body surface of the display will then appear. Among them is clearly the preferred method Dual Marching Cubes. As far as rates are more appropriate methods of volume rendering, which can draw directly from the graphics card. Part of this work is software Vizualizace dat, which implements some methods, which are described in this thesis. This program was designed to demonstrate this methods, but it can be used as an application for displaying data from CT. 43

53 Reference [1] Cline H. E., Lorensen W. E., Ludke S., Crawford C. R., Teeter B. C.: Two algorithms for the three-dimensional reconstruction of tomograms., Medical Physics, May [2] Keppel E.: Approximating complex surfaces by triangulation of contour lines., IBM Journal of Research and Development, [3] Krmelová M.: Rekonstrukce 3D obrazu z počítačového tomografu., Bakalářská práce, [4] Lewiner T., Lopes H., Vieira A. W., Tavares G.: Efficient implementation of Marching Cubes cases with topological guarantees., Journal of Graphics Tools, [5] Levoy M.: Efficient Ray Tracing of Volume Data., University of North Carolina. [6] Payne B.A., Toga A.W.: Surface mapping brain function on 3D models., Computer Graphics and Applications, IEEE, [7] Schaefer S., Warren J.: Dual Marching Cubes: Primal Contouring of Dual Grids., Rice University. [8] Schaefer S., Warren J., Ju T.: Manifold Dual Contouring., Rice University. [9] Stegmaier S., Strengert M., Klein T., Ertl T.: A Simple and Flexible Volume Rendering Framework for Graphics-Hardware based Raycasting., Volume Graphics, [10] Sviták R. : Rekonstrukce povrchu objektů z řezů., Diplomová práce, Plzeň, [11] Volume Raycasting [12] Weiskopf D., Engel T., Ertl T.: Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization., Procceedings of IEEE Visualization, [13] Wikipedie. [14] Žára J., Sochor J., Felkel P.: Moderní počítačová grafika., Computer Press, Brno,

54 A. Uživatelská příručka Součástí této práce bylo i vytvoření aplikace, která bude převádět data získaná z výpočetního tomografu do 3D reprezentace pomocí několika různých metod. Tato aplikace je tytvořená pro operacční systém Windows. Je programovaná v jazyce C++ s použitím Win32Api a OpenGl. Po spuštění aplikace se objeví dialogové okno, pomocí kterého se vyberou data, ketrá chceme zobrazit. Inicializace velikosti dat se načítá z ini souboru, který má stejný název jako soubor s daty. Některé vlastnosti lze přenastavit. Například zda chceme zobrazit pouze kost, nebo i kůži, hranice hustoty kosti nebo kůže a také průhlednost kůže. Dále si můžeme zvolit zda chceme filtrovat malé části nebo ne. Aplikace je distribuovaná se zdrojovými kódy, spustitelným souborem a také jsou přiložena data získaná z CT. A.1. Struktura CD Struktura k této práci přiloženého CD je následující. bin/ data/ doc/ src/ spvolren/ binární spustitelné soubory ukázková vstupní data diplomová práce (včetně zdrojových kódů v L A TEXu) zdrojové kódy aplikace a pomocných programů program Single Pass Volume Raycasting Demo A.2. Ovládání aplikace Aplikace se ovládá myší. Tlačítkem Otevřít se objeví klasický dialog na otevření souboru. Po načtení souboru se může změnit nastavení vykreslování. Můžeme zaškrtnout co chceme vykreslovat a případně upravit hranice hustoty kosti a kůže. Hustota kosti i kůže je číslo od 0 do 255 a možná průhlednost kůže je %. Dále zde můžeme stanovit, zda chceme malé části filtrovat a co bereme, jako malou část. Nyní máme několik možností. Můžeme si nechat zobrazit pouze snímky, které získáme z CT (tlačítko Zobrazit snímky), nebo nechat interpolovat tato data a vykreslit 3D model. Pokud chceme k vykreslení použít nějakou metodu Surface renderingu, vybereme jí a klikneme na OK. Pokud chceme data vykreslit pomocí metody Volume renderingu, tak vybereme jednu z metod Volume renderingu a klikneme na tlačítko Renderovat. Samozřejmě můžeme dialog zavřít buď tlačítkem Cancel nebo zavžením dialogu. 45

55 Obrázek 44. Dialog aplikace. A.2.1. Zobrazit snímky Otevře se nám okno, kde bude první snímek, který jsme získali z CT. Na další snímek se můžeme posouvat šipkou vpravo (o snímek zpět šipkou vlevo). Nebo je možný posun při stisku levého tlačítka myši a posun myši doprava/doleva. Dále můžeme snímky mírně přiblížit či oddálit a to šipkama nahoru a dolů, případně tiskem pravého tlačítka myši a pohyb nahoru a dolů. Přiblížení nesmí být moc veliké, jinak budou snímky nesouvislé. 46

56 Obrázek 45. Okno se snímky. A.2.2. Zobrazení 3D modelu metodou Surface renderingu Otevře se nám okno, kde bude vykreslen interpolovaný objekt. Stisknutím pravého tlačítka myši a pohybem nahoru a dolů lze objekt přibližovat či oddalovat. Stisknutím levého tlačítka myši a jejím pohybem lze objektem otáčet. Dále se dá aplikace ovládat pomocí klávesnice. Použitím šipek se objektem rotuje a stisknutím shift + šipky nahorů a dolů se objekt přibližuje či oddaluje. Záhlaví okna tvoří název použité metody. A.2.3. Zobrazení dat metodou Volume renderingu Otevře se nám okno, kde bude vykreslen objekt. Stisknutím pravého tlačítka myši a pohybem nahoru a dolů lze objekt přibližovat či oddalovat. Velkým zvětšením dostaneme nesouvislá data. Záhlaví okna tvoří název použité metody. A.3. Vstupní data Aplikace bere jako vstupní data soubory s příponou.dat, které jsou získány z CT. Dále ke každému takovému souboru musí existovat inicializační soubor. Struktura inicializačního souboru je: Columns=224 Rows=256 Start=1 End=300 47

57 Obrázek 46. Okno s 3D modelem. Obrázek 47. Okno s daty zobrazenými pomocí metody Volume renderingu. Bits=8 SpacingX=0.888 SpacingY=

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

Geometrické vyhledávání

Geometrické vyhledávání mnohoúhelníky a jejich vlastnosti lokalizace bodu vůči konvexnímu mnohoúhelníku rozhodnutí, zda je bod vnitřní či vnější lokalizace bodu vůči nekonvexnímu mnohoúhelníku rozhodnutí, zda je bod vnitřní či

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

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

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

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

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

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

5. Lokální, vázané a globální extrémy

5. Lokální, vázané a globální extrémy 5 Lokální, vázané a globální extrémy Studijní text Lokální extrémy 5 Lokální, vázané a globální extrémy Definice 51 Řekneme, že f : R n R má v bodě a Df: 1 lokální maximum, když Ka, δ Df tak, že x Ka,

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

Další plochy technické praxe

Další plochy technické praxe Další plochy technické praxe Dosud studované plochy mají široké využití jak ve stavební tak ve strojnické praxi. Studovali jsme možnosti jejich konstrukcí, vlastností i využití v praxi. Kromě těchto ploch

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

Cyklografie. Cyklický průmět bodu

Cyklografie. Cyklický průmět bodu Cyklografie Cyklografie je nelineární zobrazovací metoda - bodům v prostoru odpovídají kružnice v rovině a naopak. Úlohy v rovině pak převádíme na řešení prostorových úloh, např. pomocí cyklografie řešíme

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

CVIČNÝ TEST 15. 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 15. 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 15 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 VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku

Více

4. Statika základní pojmy a základy rovnováhy sil

4. Statika základní pojmy a základy rovnováhy sil 4. Statika základní pojmy a základy rovnováhy sil Síla je veličina vektorová. Je určena působištěm, směrem, smyslem a velikostí. Působiště síly je bod, ve kterém se přenáší účinek síly na těleso. Směr

Více

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17

Mgr. Tomáš Kotler. I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 Mgr. Tomáš Kotler I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán rovinný obrazec, v obrázku vyznačený barevnou výplní, který představuje

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

Numerická matematika 1

Numerická matematika 1 Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................

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

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

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

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/

Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/ Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Zrcadla Zobrazení zrcadlem Zrcadla jistě všichni znáte z každodenního života ráno se do něj v koupelně díváte,

Více

Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky

Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky 6. Vázané a absolutní extrémy. 01-a3b/6abs.tex Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky jednoduché, vyřešíme

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

VE 2D A 3D. Radek Výrut. Abstrakt Tento článek obsahuje postupy pro výpočet Minkowského sumy dvou množin v rovině a pro výpočet Minkowského sumy

VE 2D A 3D. Radek Výrut. Abstrakt Tento článek obsahuje postupy pro výpočet Minkowského sumy dvou množin v rovině a pro výpočet Minkowského sumy 25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Radek Výrut VÝPOČET MINKOWSKÉHO SUMY VE 2D A 3D Abstrakt Tento článek obsahuje postupy pro výpočet Minkowského sumy dvou množin v rovině a pro výpočet Minkowského

Více

6 Ordinální informace o kritériích

6 Ordinální informace o kritériích 6 Ordinální informace o kritériích Ordinální informací o kritériích se rozumí jejich uspořádání podle důležitosti. Předpokládejme dále standardní značení jako v předchozích cvičeních. Existují tři základní

Více

1 Extrémy funkcí - slovní úlohy

1 Extrémy funkcí - slovní úlohy 1 Extrémy funkcí - slovní úlohy Příklad 1.1. Součet dvou kladných reálných čísel je a. Určete 1. Minimální hodnotu součtu jejich n-tých mocnin.. Maximální hodnotu součinu jejich n-tých mocnin. Řešení.

Více

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost. Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a

Více

Geometrické algoritmy pro počítačovou grafiku

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:

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

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

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

h n i s k o v v z d á l e n o s t s p o j n ý c h č o č e k

h n i s k o v v z d á l e n o s t s p o j n ý c h č o č e k h n i s k o v v z d á l e n o s t s p o j n ý c h č o č e k Ú k o l : P o t ř e b : Změřit ohniskové vzdálenosti spojných čoček různými metodami. Viz seznam v deskách u úloh na pracovním stole. Obecná

Více

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 CVIČNÝ TEST 5 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Zjednodušte výraz (2x 5) 2 (2x 5) (2x + 5) + 20x. 2 Určete nejmenší trojciferné

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

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

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

Extrémy funkce dvou proměnných

Extrémy funkce dvou proměnných Extrémy funkce dvou proměnných 1. Stanovte rozměry pravoúhlé vodní nádrže o objemu 32 m 3 tak, aby dno a stěny měly nejmenší povrch. Označme rozměry pravoúhlé nádrže x, y, z (viz obr.). ak objem této nádrže

Více

9 Kolmost vektorových podprostorů

9 Kolmost vektorových podprostorů 9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.

Více

14. přednáška. Přímka

14. přednáška. Přímka 14 přednáška Přímka Začneme vyjádřením přímky v prostoru Přímku v prostoru můžeme vyjádřit jen parametricky protože obecná rovnice přímky v prostoru neexistuje Přímka v prostoru je určena bodem A= [ a1

Více

Kreslení elipsy Andrej Podzimek 22. prosince 2005

Kreslení elipsy Andrej Podzimek 22. prosince 2005 Kreslení elipsy Andrej Podzimek 22. prosince 2005 Kreslení elipsy v obecné poloze O co půjde Ukázat přesný matematický model elipsy Odvodit vzorce pro výpočet souřadnic důležitých bodů Nalézt algoritmus

Více

Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy

Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy 5 Trojúhelník a čtyřúhelník výpočet jejich obsahu, konstrukční úlohy Trojúhelník: Trojúhelník je definován jako průnik tří polorovin. Pojmy: ABC - vrcholy trojúhelníku abc - strany trojúhelníku ( a+b>c,

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

Geometrická optika. předmětu. Obrazový prostor prostor za optickou soustavou (většinou vpravo), v němž může ležet obraz - - - 1 -

Geometrická optika. předmětu. Obrazový prostor prostor za optickou soustavou (většinou vpravo), v němž může ležet obraz - - - 1 - Geometrická optika Optika je část fyziky, která zkoumá podstatu světla a zákonitosti světelných jevů, které vznikají při šíření světla a při vzájemném působení světla a látky. Světlo je elektromagnetické

Více

Fyzikální sekce přírodovědecké fakulty Masarykovy univerzity v Brně FYZIKÁLNÍ PRAKTIKUM. Fyzikální praktikum 2

Fyzikální sekce přírodovědecké fakulty Masarykovy univerzity v Brně FYZIKÁLNÍ PRAKTIKUM. Fyzikální praktikum 2 Fyzikální sekce přírodovědecké fakulty Masarykovy univerzity v Brně FYZIKÁLNÍ PRAKTIKUM Fyzikální praktikum 2 Zpracoval: Markéta Kurfürstová Naměřeno: 16. října 2012 Obor: B-FIN Ročník: II Semestr: III

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

2.5 Rovnováha rovinné soustavy sil

2.5 Rovnováha rovinné soustavy sil Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 2.5 Rovnováha rovinné soustavy sil Rovnováha sil je stav, kdy na těleso působí více sil, ale jejich výslednice

Více

POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ

POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ POČÍTAČOVÁ GRAFIKA VEKTOROVÁ GRAFIKA VÍCENÁSOBNÉ KOPÍROVÁNÍ VÍCENÁSOBNÉ KOPÍROVÁNÍ Kopírování jednoho prvku je častá činnost v mnoha editorech. Vícenásobné kopírování znamená opakování jednoho prvku v

Více

CVIČNÝ TEST 51. 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 51. 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 51 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 VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 V obchodě s kouzelnickými potřebami v Kocourkově

Více

Rozvoj prostorové představivosti

Rozvoj prostorové představivosti Rozvoj prostorové představivosti Rozvoj prostorové představivosti začínáme již v 1. ročníku základní školy, rozvojem vnějšní a vnitřní orientace ve čtvercové síti. Vnější orientace ve čtvercové síti je

Více

Copyright 2013 Martin Kaňka;

Copyright 2013 Martin Kaňka; Copyright 2013 Martin Kaňka; http://dalest.kenynet.cz Popis aplikace Hlavním cílem aplikace Cubix je výpočet a procvičení výpočtu objemu a povrchu těles složených z kostek. Existují tři obtížnosti úkolů

Více

Obecný Hookeův zákon a rovinná napjatost

Obecný Hookeův zákon a rovinná napjatost Obecný Hookeův zákon a rovinná napjatost Základní rovnice popisující napěťově-deformační chování materiálu při jednoosém namáhání jsou Hookeův zákon a Poissonův zákon. σ = E ε odtud lze vyjádřit také poměrnou

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

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, 1. V oboru celých čísel řešte soustavu rovnic (4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, kde (n) k značí násobek čísla k nejbližší číslu n. (P. Černek) Řešení. Z první rovnice dané soustavy plyne, že číslo

Více

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace

Triangulace. Význam triangulace. trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy. příklad triangulace Význam triangulace trojúhelník je základní grafický element aproximace ploch předzpracování pro jiné algoritmy příklad triangulace Definice Triangulace nad množinou bodů v rovině představuje takové planární

Více

Obecná rovnice kvadratické funkce : y = ax 2 + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených funkcí je množina reálných čísel.

Obecná rovnice kvadratické funkce : y = ax 2 + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených funkcí je množina reálných čísel. 5. Funkce 9. ročník 5. Funkce ZOPAKUJTE SI : 8. ROČNÍK KAPITOLA. Funkce. 5.. Kvadratická funkce Obecná rovnice kvadratické funkce : y = ax + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

Klínové plochy. Gymnázium Christiana Dopplera, Zborovská 45, Praha 5 ROČNÍKOVÁ PRÁCE

Klínové plochy. Gymnázium Christiana Dopplera, Zborovská 45, Praha 5 ROČNÍKOVÁ PRÁCE Gymnázium Christiana Dopplera, Zborovská 45, Praha 5 ROČNÍKOVÁ PRÁCE Klínové plochy Vypracoval: Vojtěch Kolář Třída: 4.C Školní rok:2013/2014 Seminář: Deskriptivní geometrie Prohlašuji, že jsem svou ročníkovou

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

Rozvinutelné plochy. tvoří jednoparametrickou soustavu rovin a tedy obaluje rozvinutelnou plochu Φ. Necht jsou

Rozvinutelné plochy. tvoří jednoparametrickou soustavu rovin a tedy obaluje rozvinutelnou plochu Φ. Necht jsou Rozvinutelné plochy Rozvinutelná plocha je každá přímková plocha, pro kterou existuje izometrické zobrazení do rov iny, tj. lze ji rozvinout do roviny. Dá se ukázat, že každá rozvinutelná plocha patří

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

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2 6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje

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

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra

8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra 8. přednáška z předmětu GIS1 Rastrový datový model a mapová algebra 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,

Více

Monotonie a lokální extrémy. Konvexnost, konkávnost a inflexní body. 266 I. Diferenciální počet funkcí jedné proměnné

Monotonie a lokální extrémy. Konvexnost, konkávnost a inflexní body. 266 I. Diferenciální počet funkcí jedné proměnné 66 I. Diferenciální počet funkcí jedné proměnné I. 5. Vyšetřování průběhu funkce Monotonie a lokální etrémy Důsledek. Nechť má funkce f) konečnou derivaci na intervalu I. Je-li f ) > 0 pro každé I, pak

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,

Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +, Příklad 1 Najděte body, v nichž má funkce (,) vázané extrémy, případně vázané lokální extrémy s podmínkou (,)=0, je-li: a) (,)= + 1, (,)=+ 1 lok.max.v 1 2,3 2 b) (,)=+, (,)= 1 +1 1 c) (,)=, (,)=+ 1 lok.max.v

Více

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28. Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 13 Mgr. Zdeňka Strnadová OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 V trojúhelníku ABC na obrázku dělí úsečka

Více

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. 4 Afinita Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe. Poznámka. Vzájemně jednoznačným zobrazením rozumíme zobrazení,

Více

Kótované promítání. Úvod. Zobrazení bodu

Kótované promítání. Úvod. Zobrazení bodu Úvod Kótované promítání Každá promítací metoda má z pohledu praxe určité výhody i nevýhody podle toho, co při jejím užití vyžadujeme. Protože u kótovaného promítání jde o zobrazení prostoru na jednu rovinu,

Více

CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15

CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15 CVIČNÝ TEST 37 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Na staré hliněné desce je namalován čtverec

Více

Numerické metody 6. května FJFI ČVUT v Praze

Numerické metody 6. května FJFI ČVUT v Praze Extrémy funkcí Numerické metody 6. května 2018 FJFI ČVUT v Praze 1 Úvod Úvod 1D Více dimenzí Kombinatorika Lineární programování Programy 1 Úvod Úvod - Úloha Snažíme se najít extrém funkce, at už jedné

Více

Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 6

Příklad 1 ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 6 Příklad 1 Vyšetřete průběh funkce: a) = b) = c) = d) =ln1+ e) =ln f) = Poznámka K vyšetřování průběhu funkce použijeme postup uvedený v zadání. Některé kroky nejsou již tak detailní, všechny by ale měly

Více

1.1 Základní pojmy prostorové geometrie. Předmětem studia prostorové geometrie je prostor, jehož prvky jsou body. Další

1.1 Základní pojmy prostorové geometrie. Předmětem studia prostorové geometrie je prostor, jehož prvky jsou body. Další Kapitola 1 Planimetrie a stereometrie Doplňky ke středoškolské látce 1.1 Základní pojmy prostorové geometrie 1.1.1 Axiomy Předmětem studia prostorové geometrie je prostor, jehož prvky jsou body. Další

Více

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 40 regula Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague regula 1 2 3 4 5 regula 6 7 8 2 / 40 2 / 40 regula Iterační pro nelineární e Bud f reálná funkce

Více

GEODETICKÉ VÝPOČTY I.

GEODETICKÉ VÝPOČTY I. SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 2.ročník GEODETICKÉ VÝPOČTY I. TABELACE FUNKCE LINEÁRNÍ INTERPOLACE TABELACE FUNKCE Tabelace funkce se v minulosti často využívala z důvodu usnadnění

Více

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH

EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH ÚLOHY ŘEŠITELNÉ BEZ VĚTY O MULTIPLIKÁTORECH Nalezněte absolutní extrémy funkce f na množině M. 1. f(x y) = x + y; M = {x y R 2 ; x 2 + y 2 1} 2. f(x y) = e x ; M = {x y R

Více

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase -stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S

Více

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s Kapitola 13 Kvadratické formy Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru f(x 1,..., x n ) = a ij x i x j, kde koeficienty a ij T. j=i Kvadratická forma v n proměnných

Více

Analytická geometrie lineárních útvarů

Analytická geometrie lineárních útvarů ) Na přímce: a) Souřadnice bodu na přímce: Analtická geometrie lineárních útvarů Bod P nazýváme počátek - jeho souřadnice je P [0] Nalevo od počátku leží čísla záporná, napravo čísla kladná. Každý bod

Více

Seriál II.II Vektory. Výfučtení: Vektory

Seriál II.II Vektory. Výfučtení: Vektory Výfučtení: Vektory Abychom zcela vyjádřili veličiny jako hmotnost, teplo či náboj, stačí nám k tomu jediné číslo (s příslušnou jednotkou). Říkáme jim skalární veličiny. Běžně se však setkáváme i s veličinami,

Více

Funkce pro studijní obory

Funkce pro studijní obory Variace 1 Funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce Funkce je přiřazení,

Více

MATEMATIKA. Problémy a úlohy, v nichž podrobujeme geometrický objekt nějaké transformaci

MATEMATIKA. Problémy a úlohy, v nichž podrobujeme geometrický objekt nějaké transformaci MATEMATIKA Úloha o čtverci a přímkách ŠÁRKA GERGELITSOVÁ TOMÁŠ HOLAN Matematicko-fyzikální fakulta UK, Praha Problémy a úlohy, v nichž podrobujeme geometrický objekt nějaké transformaci (například podobnosti)

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

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

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity) 4 Lineární zobrazení Definice: Nechť V a W jsou vektorové prostory Zobrazení A : V W (zobrazení z V do W nazýváme lineárním zobrazením, pokud pro všechna x V, y V a α R platí 1 A(x y = A(x A(y (vlastnost

Více

KRUHOVÁ ŠROUBOVICE A JEJÍ VLASTNOSTI

KRUHOVÁ ŠROUBOVICE A JEJÍ VLASTNOSTI KRUHOVÁ ŠROUBOVICE A JEJÍ VLASTNOSTI Šroubový pohyb vzniká složením otáčení kolem osy o a posunutí ve směru osy o, přičemž oba pohyby jsou spojité a rovnoměrné. Jestliže při pohybu po ose "dolů" je otáčení

Více

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze

Aproximace funkcí. Numerické metody 6. května FJFI ČVUT v Praze Aproximace funkcí Numerické metody 6. května 2018 FJFI ČVUT v Praze 1 Úvod Dělení Interpolace 1D Více dimenzí Minimalizace Důvody 1 Dělení Dělení - Získané data zadané data 2 Dělení - Získané data Obecně

Více

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25 Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Inovace a zkvalitnění výuky prostřednictvím ICT Základy parametrického modelování Skicovací nástroje

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

CVIČNÝ TEST 24. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

CVIČNÝ TEST 24. OBSAH I. Cvičný test 2. Mgr. Kateřina Nováková. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 CVIČNÝ TEST 24 Mgr. Kateřina Nováková OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Písemnou práci z chemie psalo všech 28 žáků ze

Více

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d.

Text úlohy. Která barva nepatří do základních barev prostoru RGB? Vyberte jednu z nabízených možností: a. Černá b. Červená c. Modrá d. Úloha 1 Která barva nepatří do základních barev prostoru RGB? a. Černá b. Červená c. Modrá d. Zelená Úloha 2 V rovině je dán NEKONVEXNÍ n-úhelník a bod A. Pokud paprsek (polopřímka) vedený z tohoto bodu

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

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

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

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta. 6 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info množina vrcholů a množina hran hrana vždy spojuje

Více