PLÁNOVÁNÍ TRASY ROBOTA POMOCÍ VORONÉHO
|
|
- Dagmar Němečková
- před 10 lety
- Počet zobrazení:
Transkript
1 MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY PLÁNOVÁNÍ TRASY ROBOTA POMOCÍ VORONÉHO DIAGRAMŮ A DALŠÍCH PROSTŘEDKŮ VÝPOČETNÍ GEOMETRIE DIPLOMOVÁ PRÁCE ING. PETR ŠVEC 2006
2 Prohlášení Prohlašuji, že diplomová práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: Mgr. Petr Tobola, Ph.D. ii
3 Poděkování Chtěl bych tímto poděkovat vedoucímu diplomové práce, Mgr. Petru Tobolovi, Ph.D., za seznámení s problematikou plánování robota pomocí prostředků výpočetní geometrie. Mé díky také patří mé rodině za podporu při mé cestě za vzděláním. iii
4 Shrnutí Diplomová práce se zabývá plánováním bezkolizní trasy bodového nebo polygonového konvexního robota ve 2D prostředí s bodovými, liniovými nebo konvexními polygonovými překážkami pomocí prostředků výpočetní geometrie. Hlavním použitým prostředkem je zobecněný Voroného diagram, který je konstruován pomocí navrhnutého aproximačního algoritmu. Vedle implementovaného translačního pohybu pro daného konvexního robota je předložen návrh i pro rotační pohyb. Dále je diskutováno plánování pohybu pro skupinu polygonových konvexních robotů opět v prostředí s bodovými, liniovými nebo polygonovými překážkami. iv
5 Klíčová slova Flocking behaviour, Plane sweep algoritmus, plánování trasy robota, výpočetní geometrie, Voroného diagram v
6 Obsah Úvod Konfigurační prostor Abstrakce pomocí konfiguračního prostoru Transformace pracovního prostoru do prostoru konfiguračního Základní metody plánování cesty Dekompozice buněk Silniční mapa Potenciální pole Retrakční přístup A* algoritmus Voroného diagram pro množinu bodových generátorů Zametací algoritmus (plane sweep) Zobecněný Voroného diagram pro bodové a liniové generátory Zobecněný Voroného diagram pro bodové, liniové a polygonové generátory Rotační pohyb polygonového robota Plánování pohybu skupiny robotů Implementace Reprezentace reálného světa W Reprezentace a výpočet konfiguračního prostoru C Reprezentace datových struktur a detaily výpočtu algoritmu Plane Sweep Uživatelské prostředí programu Experimentální výpočty Závěr Literatura
7 Úvod Výpočetní geometrie jako součást oboru analýzy a návrhu algoritmů nabízí řešení problémů z mnoha dalších oborů počítačová grafika, geografické informační systémy (GIS), robotika, CAD / CAM, počítačová biologie, počítačová chemie a další. První algoritmická řešení geometrických problémů byla pomalá nebo příliš složitá pro implementaci. V posledních letech bylo vyvinuto několik nových technik algoritmizace, které zlepšují a zjednodušují mnoho přístupů k praktickému řešení geometrických problémů. Výhodou řešení problémů pomocí výpočetní geometrie je prokazatelná časová složitost jednotlivých algoritmů. Časová složitost měří kvalitu algoritmů a udává se jako asymptotická časová složitost v nejhorším případě. Omezení výpočetní geometrie spočívá především ve velice náročné implementaci vybraných algoritmů, schopností operací pouze s liniovými nebo rovinnými objekty a v zaměření především na 2D prostor, kde geometrické algoritmy pro 3D a více rozměrný prostor (především v robotice) jsou složitým rozšířením algoritmů počítajících nad 2D prostorem. Jedním z nejvíce diskutovaných problémů v robotice v oblasti výpočetní geometrie je plánování pohybu robota zahrnující plánování nebo nalezení cesty v neznámém prostředí s překážkami. Dalším souvisejícím problémem je návrh autonomních robotů, což je robotů, které mají zadán cíl práce, ale nemají zadáno jakým způsobem tohoto cíle dosáhnout. Aby byl robot schopný cíleného pohybu, musí mít znalost o oblasti, ve které se nachází. Tato znalost je buď dopředu dána mapou daného prostředí nebo je získána robotem pomocí senzorů. Výsledkem je bezkolizní a pokud možno co nejkratší cesta spojující danou počáteční a cílovou pozici. V diplomové práci je diskutováno řešení návrhu a vlastní implementace plánování bezkolizního pohybu bodového nebo polygonového konvexního robota ve 2D prostředí s bodovými, liniovými nebo konvexními polygonovými překážkami pomocí aproximačního algoritmu konstrukce Voroného diagramu. Cesty generované pomocí Voroného diagramu nám garantují co největší možnou vzdálenost robota od překážek. Dále je předložen návrh plánování pohybu a nalezení nejkratší cesty pro skupinu konvexních robotů v prostředí s polygonovými překážkami. Vedle translačního pohybu je brán v úvahu i pohyb rotační. 2
8 Kapitola 1 Konfigurační prostor 1.1 Abstrakce pomocí konfiguračního prostoru Hlavní myšlenkou abstrakce problému plánování cesty pomocí konfiguračního prostoru je nahrazení konvexního robota A reprezentujícím bodem. Konfigurace q robota A (viz obr. 1) je určena pozicemi všech bodů robota v pracovním prostoru W (reprezentován jako euklidovský prostor R 2 ) a je vyjádřena jako vektor (složený z pozičních a orientačních parametrů, kde jejich počet je udán počtem stupňů volnosti robota) zastupujícího bodu. Obrázek 1. Konfigurace q při translačním a rotačním pohybu Množina všech možných konfigurací robota A se nazývá konfigurační prostor C. Oblast W okupovaná robotem A v konfiguraci q se označuje jako A(q). Pozice libovolného bodu a A ve W, pokud A je v konfiguraci q, se značí a(q). Překážka ve W je značena jako B, což je nepřístupná oblast prostoru W. Zavedením konfiguračního prostoru C se redukuje problém nalezení cesty pro polygonového robota ve W na problém nalezení cesty pro bodového robota v C a poskytuje jednotnou soustavu pro porovnání a vyhodnocení algoritmů. Existují tři druhy konfigurací volná konfigurace C free, kde robot a překážka se vzájemně nepřekrývají, dále kontaktní konfigurace a zakázaná konfigurace C obs. Konfigurační prostor C se rozdělí do volných, kontaktních a zakázaných množin konfigurací. Mapa překážek C je definována jako CB = { q A( q) B }, což znamená, že pro každou B i ( i Ν) ve W existuje odpovídající CB i v C reprezentující všechny konfigurace q robota A kolidující s B i (viz obr. 2). 1.2 Transformace pracovního prostoru do prostoru konfiguračního Redukce problému nalezení cesty pro polygonového konvexního robota A na problém nalezení cesty pro bodového robota A zahrnuje transformaci pracovního prostoru W do konfiguračního prostoru C. Jádrem této transformace je namapování překážek B W do překážek CB C (viz obr. 2). 3
9 Obrázek 2. Mapování B W do CB C pro translační a rotační pohyb V případě translačního a zároveň i rotačního pohybu po mapování vzniknou 3D překážky 2 CBi = {( x, y, φ) R x [0:360) : A(x, y, φ) Bi } (viz obr. 2), které jsou složené z několika vrstev CB ik pro k = 1,.., z, kde z je počet vrstev. Každá vrstva odpovídá danému natočení robota A o úhel φ a počet těchto vrstev závisí na úhlu dovoleného natočení A a velikosti přechodů mezi natočeními. Dále nechť existuje i takové, že 0 i z 1, pak φ i = i ( 360 / z). Transformace překážek může být popsána Minkowského sumou (Latombe, 1991, de Berg a kol., ). Minkowského suma dvou množin S 1 R a S 2 R je popsána operací S1 S 2 = { p + q p S1, q S 2}, kde p + q je vektorový součet vektorů p a q. Minkowského suma pro transformaci B do CB je definována jako P ( A(0,0)). Důkaz a další vlastnosti Minkowského sumy jsou uvedeny v (de Berg a kol., 2000). Minkowského suma P ( A(0,0)) může být považována jako Minkowského rozdíl, který je často interpretován jako konvoluce (LaValle, 2005). Příkladem v 1D může být konvoluce h ( x) = f ( τ ) g( x τ ) dτ, kde h ( x) = 1 pokud x Cobs a h ( x) = 0 v opačném případě. Funkce f : R {0,1} a platí f ( x) = 1 pouze tehdy, když x B. Funkce g : R {0,1 } a platí g ( x) = 1 pouze tehdy, když x A. Nejjednodušší algoritmus pro transformaci B do CB spočívá v jednoduchém součtu vektorů každého vrcholu v a w, kde v B a w A, a následné nalezení konvexního obalu tohoto součtu (jak 4
10 je uvedeno dále, platí pouze pro konvexní objekty). Algoritmus je velmi jednoduchý, ale má časovou složitost O (nm), kde n je počet vrcholů B a m je počet vrcholů A. Následující algoritmus podle (Latombe, 1991, de Berg a kol., 2000) počítá pouze s těmi dvojicemi vrcholů, které jsou extrémní (mají největší vzdálenost na polygonu) ve stejném směru a to má za následek snížení časové složitosti na O ( n + m) pro případ, kdy robot i překážka jsou konvexní polygonové útvary. Algoritmus č. 1: MINKOWSKÉHO_SUMA(B, A) Vstup: Konvexní polygon B s vrcholy v 1,...,vn a konvexní polygon ( A) s vrcholy w 1,...,wm. Předpokládá se, že vrcholy jsou setříděny proti směru hodinových ručiček a vrcholy v 1 a w 1 mají nejmenší y ovou souřadnici. Výstup: Minkowského suma B ( A) 1. i = 1; j = 1; 2. v n+1 = v 1 ; w m+1 = w 1 ; 3. repeat 4. přidej vrchol v i + w j do B ( A). 5. if úhel(v i, v i+1 ) < úhel(w j, w j+1 ) 6. then i = i + 1; 7. else if úhel(v i, v i+1 ) > úhel(w j, w j+1 ) 8. then j = j + 1; 9. else i = i + 1; 10. j = j + 1; 11. until i = n + 1 and j = m + 1; Poznámka: notace úhel(p, q) popisuje úhel, který svírá vektor pq s kladnou osou x. Na příkladu na obrázku č. 3 je zobrazena jednotková kružnice, na které jsou vyneseny všechny normály ploch robota A a překážky B. Při provádění algoritmu v krocích 5-10 se prochází tyto normály na jednotkové kružnici proti směru hodinových ručiček a sčítají se vektory odpovídajících vrcholů. Lineární časová složitost O ( n + m) algoritmu se dá jednoduše dokázat následujícím způsobem. V každém kroku cyklu dochází ke zvětšení proměnné indexu i, j nebo obou indexů. Po dosáhnutí hodnot indexů n + 1 a m + 1 nemůže dojít k další inkrementaci. Podle (de Berg a kol., 2000), v případě, že jeden z polygonů není konvexní, je časová složitost O (nm) a O ( n 2 m 2 ) v případě, že oba polygony nejsou konvexní. Výpočet Minkowského sumy pro nekonvexní polygony spočívá v triangulaci těchto polygonů, výpočet Minkowského sumy každé dvojice polygonů a následně se provede jejich sjednocení. 5
11 Obrázek 3. Minkowského suma B a A, jednotková kružnice Na obrázku č. 4 je zobrazen příklad Minkowského sumy z implementovaného programu pro osmibokého robota A s bodovými, liniovými a polygonovými překážkami. Před vlastním výpočtem se pomocí Grahamova algoritmu (O Rourke, 1998) transformují všechny překážky na jejich konvexní obal. Obrázek 4. Minkowského suma osmibokého robota A s bodovými, liniovými a polygonovými překážkami 6
12 Kapitola 2 Základní metody plánování cesty Proces nalezení cesty mezi polygonovými překážkami v R 2 pro polygonového robota A zahrnuje vytvoření konfiguračního prostoru C free pomocí uvedeného algoritmu č. 1 a poté aplikaci jedné z dále uvedených metod pro plánování cesty. V řešení konkrétně uveden přístup pomocí silniční mapy (road map), která je v tomto případě tvořena Voroného diagramem, jehož konstrukce je uvedena dále v textu. Cesta v C podle (Latombe, 1991) je spojitá křivka spojující konfigurace q start a q cíl, formálněji je cesta spojité zobrazení τ : s [0, 1] τ( s) C, kde τ (0) = q start je počáteční konfigurace a τ (1) = q cíl je cílová konfigurace cesty. Spojité zobrazení znamená, že pro s1, s2 [0,1] : lim d( τ ( s1), τ ( s2)) = 0, s2 s1 kde d : C x C R {0} je zvolená metrika nad R. Příklad metriky v C + d( q1, q2) = max( a( q1) a( q2) ), kde x y je euklidovská metrika ve W. Volná cesta je definována a A jako τ :[0,1] Cfree = C \ CB. Algoritmy pro plánování cest dle (Latombe, 1991) zahrnují dva hlavní kroky: - předzpracování reprezentace volného konfiguračního prostoru C free mezi všemi překážkami v dané oblasti pomocí funkce nebo grafu - zpracování dotazu prohledávání grafu nebo použití funkce pro nalezení cesty Základní přístupy pro plánování cesty zahrnují: - dekompozice buněk dekompozice C free do buněk a reprezentace spojitosti C free pomocí grafu sousednosti buněk - silniční mapa reprezentace spojitosti C free grafem - potenciální pole definuje funkci nad C free, která má globální minimum v cílové konfiguraci a maxima v místě překážek. 2.1 Dekompozice buněk Krok předzpracování zahrnuje dekompozici C free do kolekce buněk a vytvoření grafu sousednosti reprezentující sousední relace mezi buňkami. Dekompozice C free může být do buněk, které přesně pokrývají celé C free nebo do buněk, jejichž sjednocení pouze aproximuje volný prostor (např. pouze čtvercové buňky). Na obrázku č. 5 je zobrazen příklad dekompozice C free do lichoběžníkových buněk (tzv. lichoběžníková dekompozice C free ). Krok zpracování dotazu zahrnuje nalezení posloupnosti sousedních buněk vedoucí z počáteční q a konfigurace do cílové konfigurace q b a transformace této posloupnosti do cesty. 7
13 Obrázek 5. Lichoběžníková dekompozice 2.2 Silniční mapa Krok předzpracování zahrnuje přímou konstrukci grafu cest (bez dekompozice do buněk jako v předchozí metodě) reprezentující spojitost v C free. Graf viditelnosti (redukovaný graf viditelnosti vzájemné propojení vrcholů všech objektů pouze tečnými hranami k těmto objektům viz obr. 6), retrakční metoda a PRM (Probabilistic Road Map Method) jsou příklady metod konstrukcí grafu cest (Latombe, 1991). Krok zpracování dotazu zahrnuje napojení počáteční q a a koncové q b konfigurace robota A ke grafu cest a nalezení nejkratší cesty. Metody založené na silničních mapách patří mezi nejefektivnější metody plánování cest (Latombe, 1991). Obrázek 6. Redukovaný graf viditelnosti 8
14 2.3 Potenciální pole Krok předzpracování zahrnuje umístění mřížky nad prostor a definice funkce (potenčního pole, viz obr. 7) s daným globálním minimem (cílová pozice) nad touto mřížkou. Krok zpracování dotazu zahrnuje nalezení cesty pomocí potenčního pole (hledáme globální minimum). Výhoda této metody spočívá v rychlosti nalezení cílové konfigurace q b, ale vážným problémem je nebezpečí uváznutí v lokálním minimu. Obrázek 7. Potenciální pole 9
15 Kapitola 3 Retrakční přístup Retrakční přístup (Latombe, 1991) umožňuje přímou konstrukci grafu cest, který reprezentuje spojitost C free (není zapotřebí dekompozice C free do buněk). Jedná se o redukci problému nalezení cesty mezi překážkami CB v C free na problém nalezení cesty v grafu tvořeného např. Voroného diagramem. Základem retrakčního přístupu je zobrazení libovolného bodu z C free do bodu na grafu cest. Pro nalezení nejkratší cesty se nejdříve určí obraz počáteční a koncové konfigurace q Cfree v tomto grafu a následuje samotné nalezení cesty z q a do q b pomocí A* algoritmu popsaného v první podkapitole. Formálněji je retrakce zobrazení ρ :Cfree R, R Cfree platí li zároveň, že se jedná o spojité a identické zobrazení ( ρ ( R ) = R). Tedy ρ ( x) R pro x Cfree a zároveň ρ ( y) = y pro y R. Volná cesta τ z q a do q b existuje právě tehdy, když existuje cesta v R mezi ρ ( qa) a ρ ( qb) (Latombe, 1991). 3.1 A* algoritmus A* algoritmus patří mezi tzv. best first algoritmy pro nalezení nejkratších cest. Jedná se o výpočetně nejvýkonnější algoritmus garantující nalezení nejkratší cesty. Nechť n označuje libovolný uzel. Algoritmus je postaven na formuli f ( n) = g( n) + h( n), kde f (n) je odhadnutá cena nejlevnějšího řešení přes n, g (n) je cena cesty z počátečního uzlu do uzlu n, a h(n) je heuristická cena udávající nejlevnější cestu z n do cíle. Pro nalezení nejkratší cesty je opakovaně vybírán uzel s nejnižší cenou f (n) a dále je prováděna relaxační operace podobně jako v Dijkstrově algoritmu (Russel & Norvig, 1995), (LaValle, 2005). Heuristická funkce h musí být vybrána takovým způsobem, aby nedošlo k nadhodnocení ceny cesty do cíle (heuristická funkce musí být tzv. přípustná). Nejjednodušší příklad přípustné heuristiky je vzdálenost přímé viditelnosti. Mezi algoritmy, které rozšiřují vyhledávácí cestu z kořene, je A* algoritmus optimálně výkonný (optimally efficient) pro libovolnou danou heuristickou funkci, což znamená, že neexistuje takový algoritmus, který by garantoval expanzi menšího počtu uzlů než A*. Časová složitost A* algoritmu závisí na přesnosti heuristické funkce. Například, pokud heuristická funkce je schopná naprosto přesně odhadnout cenu do cíle, pak A* algoritmus běží v lineárním čase expandující pouze ty uzly ležící na optimální výsledné cestě. Důkazy optimality, úplnosti a další diskuze o složitosti A* algoritmu mohou být dále nalezeny v (Russel & Norvig, 1995), (Korf, 1999), (Konar, 2000) a (LaValle, 2005). 3.2 Voroného diagram pro množinu bodových generátorů Nechť je dána množina konečného počtu různých bodů P = { p1,..., pn} R, kde 2 < n < a pi p j pro i j, i, j In (I n je množina přirozených čísel o mohutnosti n). Všechna umístění v prostoru jsou přiřazena k jejich nejbližším generátorům (bodům) z množiny P s ohledem na euklidovskou 2 vzdálenost. Výsledkem je zobrazení prostoru R do množiny regionů 2 V ( pi ) = { x x pi x p j pro x R, i, j In; j i} asociované s p i. Samotný Voroného o diagram (viz obr. 8) je daný množinou regionů V P) = { V ( p ),..., V ( p )} generované množinou P. ( 1 n 2 10
16 Osa souměrnosti dvou generátorů p a q rozdělující rovinu do dvou polorovin je definována jako kolmá přímka na spojnici pq vedoucí uprostřed této spojnice. Otevřená polorovina obsahující p je definována jako h(p, q) a otevřená polorovina obsahující q je definována jako h(q, p). Samozřejmě 2 e h( p, q), kde e R je libovolná lokace v rovině, právě tehdy, když d ( e, p) < d( e, q). Samotná buňka V (P), která je generována p i je definována jako V ( pi) = I h( pi, pj) (de Berg a kol., 2000). 1 j n, j i Nechť C p (v) popisuje největší možnou kružnici, která má střed v libovolném bodě v a neobsahuje žádný generátor. Potom pro V (P) platí následující věty: (i) Umístění v je vrcholem Voroného diagramu V (P) pouze tehdy, když C p (v) obsahuje na obvodu tři nebo více generátorů p (viz obr. 8), (ii) osa souměrnosti mezi generátory p i a p j definuje hranu V (P) pouze tehdy, když zde existuje takový bod v ležící na této ose tak, že na obvodu C p (v) leží jak p i, tak i p j a zároveň žádný jiný generátor (viz obr. 8). Obrázek 8. Voroného diagram pro bodové generátory Základní metody pro výpočet Voroného digramu jsou: inkrementální metoda, metoda rozděl a panuj (divide and conquer) a zametací metoda (plane sweep). Inkrementální metoda má časovou složitost O ( n 2 ), kdežto rozděl a panuj metoda a zametací metoda mají časovou složitost O ( n log n). Důkazy časových složitostí těchto metod jsou provedeny v (Okabe a kol., 2000) a (de Berg a kol., 2000). Nejjednodušší případ retrakce pro zobecněný Voroného diagram V ( Cfree) (i pro liniové nebo polygonové generátory) může být definován následovně: ρ : C free V ( Cfree) 1. případ: q V ( Cfree ) : ρ ( q) = q 2. případ: q V ( Cfree) : nechť p je nejbližší bod k bodu q na hranici C free, nechť L je vedená polopřímka z bodu p přes q, pak ρ (q) je průsečík L z V (C free ). Retrakce je použita jako nástroj pro nalezení cesty z počáteční (nebo do koncové) konfigurace, která neleží na vypočteném V (C free ), k tomuto diagramu. 11
17 Výhodou Voroného diagramu v roli grafu cest mezi překážkami v prostoru je jeho implicitní udržování největší vzdálenosti od překážek, avšak bohužel za cenu relativně složité implementace algoritmů pracujících v logaritmickém čase (např. zametací algoritmus, který bude dále rozebrán v textu). 3.3 Zametací algoritmus (plane sweep) Následuje rozbor implementovaného zametacího algoritmu, který navrhl Steve Fortune (1985) a který byl použit pro výpočet Voroného diagramu s bodovými generátory. Další detaily algoritmu jsou uvedeny v kapitole vlastní implementace. Hlavní část algoritmu tvoří posun horizontální přímky l z horní části diagramu do dolní přes 2 všechny generátory P = { p1,..., pn} R. Během posunu se udržuje informace o části už vytvořeného V (P) nad l, která nemůže být dále ovlivněna generátory pod l. Část V (P) nad l je ohraničena sekvencí parabol (tzv. beach line), jak je ukázáno na obrázku č. 9. Body na parabole mají stejnou vzdálenost od generátoru této paraboly a l. Je třeba zdůraznit, že v daném kroku neexistuje informace o pozici generátorů pod l. Průsečíky jednotlivých parabol v sekvenci parabol nad l postupně tvoří hrany V (P). Místo udržování jednotlivých průsečíků V (P) s l se během posunu udržuje struktura sekvence parabol. Změna sekvence parabol nad l nastává v okamžiku vzniku nové paraboly nebo zániku paraboly existující. Obrázek 9. Sekvence oblouků parabol Nová parabola o nulové šířce vznikne v okamžiku, kdy l dosáhne dalšího generátoru, jedná se tedy pouze o vertikální úsečku spojující nový generátor se sekvencí parabol. Průsečík této úsečky (nově vzniklé paraboly) s parabolou ze sekvence parabol udává počáteční pozici nově vznikající hrany V (P). Při dalším posunu se tato parabola dále rozšiřuje a postupně mění tvar sekvence parabol, jak je ukázáno na obrázku č. 10. Tento typ události se nazývá událost generátoru (site event). Obrázek 10. Vznik události generátoru 12
18 Druhým typem události je smrštění existující paraboly do bodu a následný její zánik, jak je ukázáno na obrázku č. 11. Bod q na obrázku č. 11 má stejnou vzdálenost od l a od všech tří generátorů p i, p j a p k. Tedy existuje kružnice procházející třemi generátory a její nejnižší bod leží na l. Uvnitř kružnice se nemůže vyskytovat žádný jiný generátor, protože takový generátor by byl bližší k bodu q než q k l a to odporuje faktu, že bod q leží na sekvenci oblouků parabol. Z toho plyne, že q je vrcholem Voroného diagramu. Tato událost, která vznikne dosáhnutím l na nejnižší bod kružnice procházející třemi generátory definující sousední paraboly v sekvenci se nazývá kružnicová událost (circle event). Obrázek 11. Vznik kružnicové události (zánik paraboly a následný vznik nového vrcholu V (P)) Algoritmus používá tři datové struktury pro udržování nezbytných informací během výpočtu. Vypočtený V (P) je ukládán ve dvojitém spojovém seznamu hran (doubly connected edge list, dále DCEL). Podrobný popis struktury DCEL může být nalezen v (Okabe a kol., 2000) a (de Berg a kol., 2000). Po ukončení výpočtu se vytvoří obdélníkový okraj vypočteného V (P) a k němu se napojí okrajové hrany diagramu. Sekvence parabol je reprezentována AVL stromem T (vyvážený vyhledávací strom) (Preiss, 2000), který je zobrazen na obrázku č. 12. Jeho listy odpovídají obloukům sekvence parabol v uspořádaném pořadí. Každý list obsahuje ukazatel na generátor definující daný oblouk. Vnitřní uzly T reprezentují body přerušení v sekvenci parabol a jsou definovány jako dvojice (p i, p j ), kde p i je ukazatel na generátor levé paraboly a p j je ukazatel na generátor pravé paraboly. Díky této stromové reprezentaci sekvence parabol lze v logaritmickém čase nalézt oblouk ležící nad nově vzniklou událostí daného generátoru. Dále každý list, reprezentující oblouk α v sekvenci parabol, obsahuje ukazatel na prvek ve frontě událostí, který představuje budoucí kružnicovou událost, při které α zanikne. Tento ukazatel je NIL, pokud v dané části výpočtu neexistuje taková kružnicová událost, při které α zanikne. 13
19 Obrázek 12. Vyvážený binární vyhledávací strom pro reprezentaci sekvence oblouků parabol Fronta událostí Q je definována jako prioritní fronta, kde prioritou je y ová souřadnice události. V případě kružnicových událostí se ukládá nejnižší bod vzniklé kružnice s ukazatelem na list v T, který zanikne při vyvolání této kružnicové události. Při každé události nastane topologická změna sekvence parabol. Topologická změna může mít za následek potenciální vznik kružnicové události ze tří sousedních oblouků. Může ovšem dojít k situaci, kdy dělící čáry sousedních oblouků nekonvergují do vrcholu Voroného diagramu, jak je ukázáno na obrázku č. 13, a tedy se nejedná o kružnicovou událost. Druhým případem je stav, kdy v okamžiku zpracování kružnicové události už neexistují její tři oblouky (dané generátory tvořící tuto událost) v pořadí vedle sebe v sekvenci parabol. Tento případ je způsoben náhlým zpracováním bezprostředně předcházející události generátoru. Z tohoto důvodu se pro každý zanikající oblouk v T provádí kontrola, zda neexistuje odpovídající kružnicová událost v Q. Pokud odpovídající kružnicová událost existuje, jedná se o nekorektní událost (false alarm), která je následně vymazána z Q. Obrázek 13. Demonstrace nekonvergence dělících čar generátorů p 1, p 2 a p 3 14
20 Algoritmus č. 2: PLANE_SWEEP(P) Vstup: Množina = p1,..., pn} 2 P { R generátorů v rovině. Výstup: Voroného diagram V (P) uzavřený v obdélníkové oblasti a uložený v DCEL. 1. Naplnění fronty událostí Q všemi událostmi generátorů, inicializace prázdné struktury T a prázdného DCEL. 2. while Q 3. do Odstraň z Q událost U s největší y ovou souřadnicí 4. if U je událostí generátoru p i 5. then ZPRACUJ_UDÁLOST_GENERÁTORU(p i ) 6. else ZPRACUJ_KRUŽNICOVOU_UDÁLOST( φ ), kde φ je list z T reprezentující parabolický oblouk, který při zpracování zanikne. 7. Vytvoř hraniční obdélník a připoj hrany V (P), které jsou dány ukazateli z vnitřních uzlů T k hranici tohoto obdélníka. 1 ZPRACUJ_UDÁLOST_GENERÁTORU(p i ) 1.1 Pokud je T prázdný, vlož do něj p i a proveď návrat z procedury (T v tomto případě obsahuje pouze list). Jinak pokračuj kroky Nalezni parabolický oblouk α (daný generátorem p j ) vertikálně nad p i. Pokud α obsahuje ukazatel na kružnicovou událost v Q, pak tuto událost odstraň z Q (jedná se o nekorektní událost). 1.3 Nahraď list z T reprezentující oblouk α podstromem mající tři listy. Prostřední list ukazuje na oblouk daný generátorem p i a zbylé dva listy ukazují na oblouky (rozštěpený původní oblouk) dané generátorem p j. Dále podstrom obsahuje vnitřní uzly (p i, p j ) a (p j, p i ) reprezentující zlomy (breakpoints) mezi oblouky. Proveď převážení stromu. 1.4 V DCEL struktuře vytvoř novou hranu V (P) o nulové délce rozdělující V(p i ) a V(p j ). Ukazatele na nově vytvořenou hranu ulož do odpovídajících vnitřních uzlů stromu T (p i, p j ) a (p j, p i ). 1.5 Pokud trojice sousedních oblouků, kde p i je generátor nejlevějšího oblouku, tvoří kružnicovou událost, vlož ji do Q (vkládá se nejspodnější bod vzniklé kružnice!) a nastav ukazatel mezi prostředním obloukem (listem ve stromě T) a nově vloženou kružnicovou událostí. Proveď to stejné pro případ, kdy p i je generátor nejpravějšího oblouku. 2 ZPRACUJ_KRUŽNICOVOU_UDÁLOST( φ ) 2.1 Vymaž list φ z T reprezentující zanikající oblouk α. Proveď úpravu záznamů zlomů ve vnitřních uzlech stromu T a proveď jeho vyvážení. Vymaž všechny kružnicové události, které se odkazují na α z Q (jsou nalezeny pomocí ukazatelů předchůdce a následníka φ v T). 15
21 2.2 Střed kružnice přidej do DCEL jako nový vrchol V (P) a na tento vrchol napoj konce hran os souměrnosti sousedních generátorů (ukazatele na hrany uloženy ve vnitřních uzlech stromu T). Vytvoř novou hranu o nulové délce na místě středu kružnice. Nastav ukazatele mezi nimi odpovídajícím způsobem (viz obr. 14). Do vnitřních uzlů reprezentujících zlom mezi levým a pravým generátorem vlož ukazatel na nově vytvořenou hranu (v případě na obr. 14 se vloží ukazatel do (p 1, p 3 ) a (p 3, p 1 ). 2.3 Pokud trojice nově vzniklých sousedních oblouků, kde levý soused zaniklého α je středem této trojice a tvoří kružnicovou událost, vlož ji do Q (vkládá se nejspodnější bod vzniklé kružnice!) a nastav ukazatel mezi prostředním obloukem a nově vloženou kružnicovou událostí. Proveď to stejné pro případ, kdy pravý soused zaniklého α je středem této trojice. Obrázek 14. DCEL V (P) pro tři generátory (bez hraničního diagramu) Degenerované případy při výpočtu mohou být následující: Zpracování událostí se stejnou y ovou souřadnicí. Řeší se imaginárním natočením roviny o velmi malý úhel na pravou stranu. Tím dochází při výběru z prioritní fronty k upřednostnění událostí s menší x ovou souřadnicí. Problém dále nastává na počátku výpočtu, kdy události se stejnou y ovou souřadnicí neumožňují nalezení odpovídající paraboly nad druhým generátorem v řadě (průsečík parabol leží v nekonečnu), situace je zobrazená na obrázku č. 15. Řešení spočívá v minimálním kladném posunu y ové souřadnice prvního generátoru nebo ošetřením pomocí speciálního kódu v implementaci algoritmu. Obrázek 15. Degenerovaný případ, generátory se stejnou y ovou souřadnicí na počátku výpočtu Problém výskytu několika stejných kružnicových událostí, tj. existence kružnice s větším počtem generátorů na obvodu, jak je zobrazeno na obrázku č. 16. Střed takovéto kružnice je vrchol V (P) o stupni alespoň 4. V tomto případě algoritmus vytvoří dva vrcholy V (P) se stejnými 16
22 souřadnicemi a hranou o nulové délce, která je propojuje. Tyto hrany mohou být dále po výpočtu z DCEL odstraněny. Obrázek 16. Degenerovaný případ, kružnicová událost Při zpracování události generátoru může dojít k nalezení průsečíku nově vzniklé paraboly (vertikální úsečka) se sekvencí parabol přesně v průsečíku dvou sousedních parabol. V tomto případě algoritmus rozdělí jednu z těchto sousedních parabol a vloží novou parabolu mezi dvě části původní paraboly, kde jedna část bude mít nulovou délku (ta část, která leží blíže k průsečíku původních parabol). Část paraboly s nulovou délkou tvoří prostřední oblouk trojice definující kružnicovou událost. Po obsloužení této kružnicové události je vytvořena hrana s nulovou délkou, která může být později vymazána z DCEL. Časová složitost algoritmu je O ( n log n) a prostorová složitost je O (n), důkaz časové složitosti následuje v textu. Nechť n je počet událostí generátoru. Operace vkládání nebo odebírání prvku v T nebo Q (vkládání nebo výmaz elementů) mají časovou složitost O (log n). Primitivní operace v DCEL jsou v O (1) časové složitosti. Obsluha události zahrnuje sadu primitivních operací, výsledkem je celková časová složitost obsluhy události O (log n). Každá kružnicová událost definuje vrchol Voroného diagramu. Kružnicové události jsou vytvářeny a odstraňovány při zpracování události generátoru. Čas potřebný pro obsloužení kružnicové události je zahrnut do zpracování události generátoru. Nekorektní kružnicové události jsou před zpracováním vymazány z Q. Maximální počet kružnicových událostí obsluhovaných algoritmem je 2n 5 a algoritmus korektně ošetřuje i degenerované případy (de Berg a kol., 2000). Ve výsledku dává celkovou časovou složitost O ( n log n). 3.4 Zobecněný Voroného diagram pro bodové a liniové generátory 2 Nechť L = { l1,..., ln } R (1 n < ), kde li ( 1 i n) reprezentuje bodový generátor, liniový generátor nebo posloupnost liniových generátorů (sekvence liniových generátorů, kde koncový bod daného liniového generátoru je shodný s počátečním bodem následujícího liniového generátoru). Pak 2 V ( li) = { x ds( x, li) ds( x, lj) pro x R, i, j In, i j} reprezentuje liniový Voroného region (line 2 Voronoi region), kde ds( x, li) = min{ x xi xi li, x R } je nejkratší možná euklidovská xi vzdálenost mezi bodem x a bodem xi li, který je nejbližší ze všech bodů generátoru k bodu x. Množina V ( L) = { V ( l1),..., V ( ln) tvoří liniový Voroného diagram generovaný množinou L. V případě, že l i degeneruje na bod pro všechny i, pak liniový Voroného digram redukuje na Voroného diagram pro bodové generátory. 17
Úvod do mobilní robotiky AIL028
md at robotika.cz, zbynek.winkler at mff.cuni.cz http://robotika.cz/guide/umor07/cs 27. listopadu 2007 1 Mapa světa Exaktní plánování 2 3 Plánování s otáčením Mapa světa - příklad Obsah Mapa světa Exaktní
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,
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
Úvod do mobilní robotiky AIL028
zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 5. prosince 2005 1 Mapa světa Exaktní plánování 2 3 Plánování s otáčením (náznak řešení) Mapa světa - příklad Obsah Mapa
Algoritmizace prostorových úloh
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Grafové úlohy Daniela Szturcová Tento
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
Úvod do mobilní robotiky AIL028
Pravděpodobnostní plánování zbynek.winkler at mff.cuni.cz, md at robotika.cz http://robotika.cz/guide/umor05/cs 12. prosince 2005 1 Co už umíme a co ne? Jak řešit složitější případy? Definice konfiguračního
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
Dynamické datové struktury IV.
Dynamické datové struktury IV. Prioritní fronta. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra
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í
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
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
STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta
STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
Výpočetní geometrie Computational Geometry
Datové struktury a algoritmy Část 11 Výpočetní geometrie Computational Geometry Petr Felkel 20.12.2005 Úvod Výpočetní geometrie (CG) Příklady úloh Algoritmické techniky paradigmata řazení - jako předzpracování
Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost
Amortizovaná složitost. Prioritní fronty, haldy binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost 1. Asymptotické odhady Asymptotická složitost je deklarována na základě
Základní datové struktury III: Stromy, haldy
Základní datové struktury III: Stromy, haldy prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní
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
Algoritmy výpočetní geometrie
Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)
1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10
Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10
Geometrické vyhledání.
Geometrické vyhledání. Ray algoritmus. Winding algoritmus. Lichoběžníkové (trapezoidální) mapy Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie. Přírodovědecká fakulta
Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy
Stromy úvod Stromy Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy Neorientovaný strom Orientovaný strom Kořenový orientovaný
AVL stromy. pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1 stromy jsou samovyvažující
Stromy 2 AVL AVL stromy jména tvůrců stromů: dva Rusové Adelson-Velskii, Landis vyvážené binární stromy pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1
Vzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
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,
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA
INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Vektorová data Michal Kačmařík, Daniela
Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest
Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem
Algoritmy a datové struktury
Algoritmy a datové struktury Stromy 1 / 32 Obsah přednášky Pole a seznamy Stromy Procházení stromů Binární stromy Procházení BS Binární vyhledávací stromy 2 / 32 Pole Hledání v poli metodou půlení intervalu
NPRG030 Programování I, 2018/19 1 / :03:07
NPRG030 Programování I, 2018/19 1 / 20 3. 12. 2018 09:03:07 Vnitřní třídění Zadání: Uspořádejte pole délky N podle hodnot prvků Měřítko efektivity: * počet porovnání * počet přesunů NPRG030 Programování
Dijkstrův algoritmus
Dijkstrův algoritmus Hledání nejkratší cesty v nezáporně hranově ohodnoceném grafu Necht je dán orientovaný graf G = (V, H) a funkce, která každé hraně h = (u, v) H přiřadí nezáporné reálné číslo označované
Triangulace. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.
11 RNDr., Ph.D. Katedra didaktiky matematiky Univerzita Karlova v Praze Matematicko-fyzikální fakulta petra.surynkova@mff.cuni.cz http://surynkova.info Význam triangulace trojúhelník je základní grafický
Ú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
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
Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620
Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 1. Vymezení pojmů Strom: Strom je takové uspořádání prvků - vrcholů, ve kterém lze rozeznat předchůdce - rodiče a následovníky - syny.
autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy
9 Krátké povídání o průnikových grafech Od této lekce teorie grafů se zaměříme lehce na několik vybraných partíı teorie grafů bĺızkých autorovu srdci... Naším prvním výběrem jsou průnikové grafy, což jsou
Matematická morfologie
/ 35 Matematická morfologie Karel Horák Rozvrh přednášky:. Úvod. 2. Dilatace. 3. Eroze. 4. Uzavření. 5. Otevření. 6. Skelet. 7. Tref či miň. 8. Ztenčování. 9. Zesilování..Golayova abeceda. 2 / 35 Matematická
P L A N I M E T R I E
M T E M T I K P L N I M E T R I E rovinná geometrie Základní planimetrické pojmy od - značí se velkými tiskacími písmeny, např.,,. P, Q. Přímka - značí se malými písmeny, např. a, b, p, q nebo pomocí bodů
Úvod do teorie grafů
Úvod do teorie grafů Neorientovaný graf G = (V,E,I) V množina uzlů (vrcholů) - vertices E množina hran - edges I incidence incidence je zobrazení, buď: funkce: I: E V x V relace: I E V V incidence přiřadí
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ě
Semestrální práce z předmětu KMA/MM. Voroneho diagramy
Semestrální práce z předmětu KMA/MM Voroneho diagramy Jméno a příjmení: Lenka Skalová Osobní číslo: A08N0185P Studijní obor: Finanční informatika a statistika Datum: 22. 1. 2010 Obsah Obsah... 2 1 Historie...
Základy umělé inteligence
Základy umělé inteligence Automatické řešení úloh Základy umělé inteligence - prohledávání. Vlasta Radová, ZČU, katedra kybernetiky 1 Formalizace úlohy UI chápe řešení úloh jako proces hledání řešení v
ZÁKLADNÍ PLANIMETRICKÉ POJMY
ZÁKLADNÍ PLANIMETRICKÉ POJMY Základní geometrické pojmy jsou bod, přímka a rovina. Geometrie je chápána jako část matematiky, která se zabývá studiem geometrických útvarů v rovině. Body určujeme jako průsečíky
Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.
1 3 4 5 6 7 8 9 10 11 1 13 14 15 16 17 18 19 0 1 3 4 5 6 7 8 9 30 31 3 Zdůvodněte, proč funkce f(n) = n log(n) 1 n 1/ roste rychleji než funkce g(n) = n. Zdůvodněte, proč funkce f(n) = n 3/ log(n) roste
Křivky a plochy technické praxe
Kapitola 7 Křivky a plochy technické praxe V technické praxi se setkáváme s tím, že potřebujeme křivky a plochy, které se dají libovolně upravovat a zároveň je jejich matematické vyjádření jednoduché.
Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021
Maturitní témata MATEMATIKA 1. Funkce a jejich základní vlastnosti. Definice funkce, def. obor a obor hodnot funkce, funkce sudá, lichá, monotónnost funkce, funkce omezená, lokální a globální extrémy funkce,
1.1 Napište středovou rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem
Analytická geometrie - kružnice Napište středovou rovnici kružnice, která má střed v počátku soustavy souřadnic a prochází bodem A = ; 5 [ ] Napište středový i obecný tvar rovnice kružnice, která má střed
Topologická kostra. Medial Axis. Straight Skeleton.
Topologická kostra Medial Axis. Straight Skeleton. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie. Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra
Datové struktury pro prostorové vyhledávání
Datové struktury pro prostorové vyhledávání 1998-2011 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ SpatialData 2011 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1
TGH07 - Chytré stromové datové struktury
TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 5. dubna 2017 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním
MATURITNÍ TÉMATA Z MATEMATIKY
MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické
Matematika pro informatiky
(FIT ČVUT v Praze) Konvexní analýza 13.týden 1 / 1 Matematika pro informatiky Jaroslav Milota Fakulta informačních technologíı České vysoké učení technické v Praze Letní semestr 2010/11 Extrémy funkce
TGH07 - Chytré stromové datové struktury
TGH07 - Chytré stromové datové struktury Jan Březina Technical University of Liberec 1. dubna 2014 Prioritní fronta Datová struktura s operacemi: Odeber Minum (AccessMin, DeleteMin) - vrat prvek s minimálním
TGH08 - Optimální kostry
TGH08 - Optimální kostry Jan Březina Technical University of Liberec 14. dubna 2015 Problém profesora Borůvky řešil elektrifikaci Moravy Jak propojit N obcí vedením s minimální celkovou délkou. Vedení
Matematická analýza III.
1. - limita, spojitost Miroslav Hušek, Lucie Loukotová UJEP 2010 Úvod Co bychom měli znát limity posloupností v R základní vlastnosti funkcí jedné proměnné (definiční obor, monotónnost, omezenost,... )
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.
Generování sítě konečných prvků
Generování sítě konečných prvků Jaroslav Beran Modelování a simulace Tvorba výpočtového modelu s využitím MKP zahrnuje: Tvorbu (import) geometrického modelu Generování sítě konečných prvků Definování vlastností
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í
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)
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
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 31. března 2015 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
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
Zobrazte si svazy a uspořádané množiny! Jan Outrata
LatVis Zobrazte si svazy a uspořádané množiny! Jan Outrata Motivace potřeba visualizovat matematické (algebraické) struktury rychle, přehledně a automaticky počítačovými prostředky ruční kreslení je zdlouhavé
Algoritmy na ohodnoceném grafu
Algoritmy na ohodnoceném grafu Dvě základní optimalizační úlohy: Jak najít nejkratší cestu mezi dvěma vrcholy? Dijkstrův algoritmus s t Jak najít minimální kostru grafu? Jarníkův a Kruskalův algoritmus
Maturitní otázky z předmětu MATEMATIKA
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu MATEMATIKA 1. Výrazy a jejich úpravy vzorce (a+b)2,(a+b)3,a2-b2,a3+b3, dělení mnohočlenů, mocniny, odmocniny, vlastnosti
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
KMA/GPM Barycentrické souřadnice a
KMA/GPM Barycentrické souřadnice a trojúhelníkové pláty František Ježek jezek@kma.zcu.cz Katedra matematiky Západočeské univerzity v Plzni, 2008 19. dubna 2009 1 Trojúhelníkové pláty obecně 2 Barycentrické
Kristýna Bémová. 13. prosince 2007
Křivky v počítačové grafice Kristýna Bémová Univerzita Karlova v Praze 13. prosince 2007 Kristýna Bémová (MFF UK) Křivky v počítačové grafice 13. prosince 2007 1 / 36 Pojmy - křivky a jejich parametrické
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů
Stavový prostor a jeho prohledávání SP = formalismus k obecnějšímu uchopení a vymezení problému, který spočívá v nalezení posloupnosti akcí vedoucích od počátečního stavu úlohy (zadání) k požadovanému
Vzorce počítačové grafiky
Vektorové operace součet vektorů rozdíl vektorů opačný vektor násobení vektoru skalárem úhel dvou vektorů velikost vektoru a vzdálenost dvojice bodů v rovině (v prostoru analogicky) u = B A= b a b a u
7. Rozdělení pravděpodobnosti ve statistice
7. Rozdělení pravděpodobnosti ve statistice Statistika nuda je, má však cenné údaje, neklesejte na mysli, ona nám to vyčíslí Jednou z úloh statistiky je odhad (výpočet) hodnot statistického znaku x i,
Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39
Základy algoritmizace Michal Krátký 1, Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Základy algoritmizace, 2006/2007 Základy algoritmizace c2005, 2007 Michal Krátký, Jiří Dvorský1/39
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
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII
PŘÍMKA A JEJÍ VYJÁDŘENÍ V ANALYTICKÉ GEOMETRII V úvodu analytické geometrie jsme vysvětlili, že její hlavní snahou je popsat geometrické útvary (body, vektory, přímky, kružnice,...) pomocí čísel nebo proměnných.
Konvexní obal a množina
Definice M Množina se nazývá konvení, jestliže úsečka spojující libovolné dva její bod je částí této množin, tj. ab, M, t 0, : ta+ ( tb ) M konvení množina a b a b nekonvení množina Definice Konvení obal
Úvod do mobilní robotiky NAIL028
md at robotika.cz http://robotika.cz/guide/umor08/cs 11. listopadu 2008 1 2 PID Sledování cesty Modely kolových vozidel (1/5) Diferenční řízení tank b Encoder Motor Centerpoint Motor Encoder Modely kolových
2. Vyšetřete všechny možné případy vzájemné polohy tří různých přímek ležících v jedné rovině.
ZS1BK_PGE1 Geometrie I: Vybrané úlohy z elementární geometrie 1. Které geometrické útvary mohou vzniknout a) jako průnik dvou polopřímek téže přímky, b) jako průnik dvou polorovin téže roviny? V případě
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice
Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u
Tvorba výpočtového modelu MKP
Tvorba výpočtového modelu MKP Jaroslav Beran (KTS) Modelování a simulace Tvorba výpočtového modelu s využitím MKP zahrnuje: Tvorbu (import) geometrického modelu Generování sítě konečných prvků Definování
Grafové algoritmy. Programovací techniky
Grafové algoritmy Programovací techniky Grafy Úvod - Terminologie Graf je datová struktura, skládá se z množiny vrcholů V a množiny hran mezi vrcholy E Počet vrcholů a hran musí být konečný a nesmí být
TGH09 - Barvení grafů
TGH09 - Barvení grafů Jan Březina Technical University of Liberec 15. dubna 2013 Problém: Najít obarvení států na mapě tak, aby žádné sousední státy neměli stejnou barvu. Motivační problém Problém: Najít
07 Základní pojmy teorie grafů
07 Základní pojmy teorie grafů (definice grafu, vlastnosti grafu, charakteristiky uzlů, ohodnocené grafy) Definice grafu množina objektů, mezi kterými existují určité vazby spojující tyto objekty. Uspořádaná
Vyvažování a rotace v BVS, všude se předpokládá AVL strom
Vyvažování a rotace v BVS, všude se předpokládá AVL strom 1. Jednoduchá levá rotace v uzlu u má operační složitost a) závislou na výšce levého podstromu uzlu u b) mezi O(1) a Θ(n) c) závislou na hloubce
Předpokládané znalosti žáka 1. stupeň:
Předpokládané znalosti žáka 1. stupeň: ČÍSLO A POČETNÍ OPERACE používá přirozená čísla k modelování reálných situací, počítá předměty v daném souboru, vytváří soubory s daným počtem prvků čte, zapisuje
Dynamické datové struktury III.
Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované
Datový typ prioritní fronta Semestrální práce z předmětu 36PT
Datový typ prioritní fronta Semestrální práce z předmětu 36PT Martin Tůma Cvičení 113, Út 18:00 22. května 2004 Specifikace problému Často potřebujeme přístup k informacím, tak aby tyto byly seřazeny podle
Numerické metody a programování. Lekce 8
Numerické metody a programování Lekce 8 Optimalizace hledáme bod x, ve kterém funkce jedné nebo více proměnných f x má minimum (maximum) maximalizace f x je totéž jako minimalizace f x Minimum funkce lokální:
bfs, dfs, fronta, zásobník, prioritní fronta, halda
bfs, dfs, fronta, zásobník, prioritní fronta, halda Petr Ryšavý 20. září 2016 Katedra počítačů, FEL, ČVUT prohledávání grafů Proč prohledávání grafů Zkontrolovat, zda je sít spojitá. Hledání nejkratší
TGH06 - Hledání nejkratší cesty
TGH06 - Hledání nejkratší cesty Jan Březina Technical University of Liberec 26. března 2013 Motivační problémy Silniční sít reprezentovaná grafem. Najdi nejkratší/nejrychlejší cestu z místa A do místa
ŠVP Školní očekávané výstupy. - vytváří konkrétní soubory (peníze, milimetrový papír, apod.) s daným počtem prvků do 100
5.2 MATEMATIKA A JEJÍ APLIKACE 5.2.1 MATEMATIKA A JEJÍ APLIKACE Matematika 1. období 3. ročník RVP ZV Obsah RVP ZV Kód RVP ZV Očekávané výstupy ŠVP Školní očekávané výstupy ŠVP Učivo M3101 používá přirozená
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
Gymnázium Jiřího Ortena, Kutná Hora
Předmět: Cvičení z matematiky Náplň: Systematizace a prohloubení učiva matematiky Třída: 4. ročník Počet hodin: 2 Pomůcky: Učebna s dataprojektorem, PC, grafický program, tabulkový procesor Číselné obory
Rastrová reprezentace geoprvků model polí Porovnání rastrové a vektorové reprezentace geoprvků Digitální model terénu GIS 1 153GS01 / 153GIS1
GIS 1 153GS01 / 153GIS1 Martin Landa Katedra geomatiky ČVUT v Praze, Fakulta stavební 14.11.2013 Copyright c 2013 Martin Landa Permission is granted to copy, distribute and/or modify this document under
TGH05 - aplikace DFS, průchod do šířky
TGH05 - aplikace DFS, průchod do šířky Jan Březina Technical University of Liberec 28. března 2017 Grafová formulace CPM (critical path method) Orientovaný acyklický graf (DAG) je orientovaný graf neobsahující
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á
Systematizace a prohloubení učiva matematiky. Učebna s dataprojektorem, PC, grafický program, tabulkový procesor. Gymnázium Jiřího Ortena, Kutná Hora
Předmět: Náplň: Třída: Počet hodin: Pomůcky: Cvičení z matematiky Systematizace a prohloubení učiva matematiky 4. ročník 2 hodiny Učebna s dataprojektorem, PC, grafický program, tabulkový procesor Číselné
CVIČNÝ TEST 35. 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 35 Mgr. Tomáš Kotler OBSAH I. Cvičný test II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Vypočtěte [( 3 3 ) ( 1 4 5 3 0,5 ) ] : 1 6 1. 1 bod VÝCHOZÍ TEXT K ÚLOZE
IB112 Základy matematiky
IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic
2. úkol MI-PAA. Jan Jůna (junajan) 3.11.2013
2. úkol MI-PAA Jan Jůna (junajan) 3.11.2013 Specifikaci úlohy Problém batohu je jedním z nejjednodušších NP-těžkých problémů. V literatuře najdeme množství jeho variant, které mají obecně různé nároky