Operace s uzavřenými oblastmi v GIS

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

Download "Operace s uzavřenými oblastmi v GIS"

Transkript

1 Operace s uzavřenými oblastmi v GIS Booleovské operace s uzavřenými oblastmi. Minkowského suma. Offset polygonu. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie. Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 1 / 111

2 Obsah přednášky 1 Ukázka použití offsetu polygonu a množinových operací 2 Množinové operace, formulace problému 3 Množinové operace s nekonvexními regiony 4 Konstrukce bufferu, dissolving Analytická konstrukce offsetu Vlastnosti Minkowského sumy Ukázky Minkowského sumy různých množin Algoritmy pro konstrukci Minkowského sumy Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 2 / 111

3 Ukázka použití offsetu polygonu a množinových operací 1. Nalezení lesů ležících do 2 km od dálnice Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 3 / 111

4 Množinové operace, formulace problému 2. Formulace problému Dáno: Dvojice uzavřených, ohraničených regionů A, B v R 2. Hledáme: C = A B, C = A B, C = A B, C = B A, Množinové operace nad uzavřenými oblastmi. Základních analytický nástroj GIS. Syntéza a integrace dat z různých zdrojů. Přehled množinových operací: Sjednocení (Union): C = A B. Průnik (Intersection): C = A B. Rozdíl (Difference): C = A B resp. C = B A. Symmetric difference (XOR): C = A B = (A B) ( A B ). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 4 / 111

5 Množinové operace, formulace problému 3. Ilustrace množinových operací Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 5 / 111

6 Množinové operace, formulace problému 4. Vlastnosti množinových operací Komutativita: A B = B A, A B = B A, A B B A, ( ) ( ) (A B) A B = (B A) B A Asociativita A (B C) = (A B) C, A (B C) = (A B) C, kde A (B C) (A B) C, A (B C) = (A B) C, A (B C) = (A [(B C) (B C)]) (A [(B C) (B C)], (A B) C = ([(A B) (A B)] C) ([(A B) (A B)] C). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 6 / 111

7 Množinové operace s nekonvexními regiony 5. Princip algoritmu Algoritmus funguje pro jednoduché nekonvexní regiony (včetně otvorů). Uzavřené oblasti A = {p i } n i=1, B = {q j } m j=1. Složitost O(m n). Výsledkem operace C = A B, prázdná množina, 0D entita, 1D entita, 2D entita, kombinace. A, B reprezentovány kruhovými seznamy. CCW orientace. Fáze algoritmu: A) Výpočet průsečíků A, B + setřídění B) Update A, B. C) Ohodnocení vrcholů A, B dle pozice vůči B, A. D) Výběr vrcholů dle ohodnocení. E) Vytvoření fragmentů. F) Vytvoření oblastí z fragmentů. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 7 / 111

8 6. Ukázka, oblasti A, B A p 1 p 2 p 3 p 4 B q 1 q 2 q 3 q 4 q 5 q 6 q 7 p 1 p 4 A q 6 q 4 q 2 p 2 p 3 q 5 B q 3 q 7 q 1

9 7. Výpočet průsečíků A, B Oblasti A, B mají k průsečíků b ij, b ij = e i e j, e i = (p i, p i+1 ), e j = (j, q j+1 ). Metoda výpočtu průsečíků: 1) Naivní algoritmus Složitostí O(m n), test všech kombinací e i e j. 2) Line Sweep (Bentley-Ottman). Složitostí θ(n log(n)), obtížnější implementace. Výpočet průsečíku b ij segmentů e i, e j : b ij = p i + α u = p j + β v, směrové vektory u, v, w u = (xi+1 x i, y i+1 y i ), Parametry α, β v = (xj+1 x j, y j+1 y j ), w = (xi x j, y i y j ). α = k 1 k 3, β = k 2 k 3, k 1 = v x w y v y w x, k 2 = u x w y u y w x, k 3 = v y u x v x u y. k 1 = 0, k 2 = 0, k 3 = 0: e i, e j kolineární. k 1 = 0 a k 2 = 0: e i, e j rovnoběžné. α 0, 1 a β 0, 1 : b ij, jinak mimoběžné.

10 8. Ukázky průsečíků segmentů p i+1 p i+1 p j p j+1 p i+1 p i p j p j+1 p i p j p j+1 p i p j p j+1 p i+1 p j p i+1 p j+1 p i+1 p i p j p i pj+1 p i p j p i+1 p j p j+1 p i+1 p i+1 p j p j+1 pj+1 p i p i p i

11 Množinové operace s nekonvexními regiony 9. Operace s průsečíky Dle hodnot α, β s průsečíky provádíme: α = 0, β = 0: p i b ij q j b ij, atribut průsečíku pro p i, q j, α = 0, β = 1: p i b ij q j+1 b ij, atribut průsečíku pro p i, q j+1, α = 1, β = 0: p i+1 b ij q j b ij, atribut průsečíku pro p i+1, q j, α = 1, β = 1: p i+1 b ij q j+1 b ij, atribut průsečíku pro p i+1, q j+1, α = 0, β (0, 1): p i b ij b ij e j, atribut průsečíku pro p i, B b ij, α = 1, β (0, 1): p i+1 b ij b ij e j, atribut průsečíku pro p i+1, B b ij, α (0, 1),β = 0: b ij e i b ij q j, A b ij, atribut průsečíku pro q j, α (0, 1),β = 1: b ij e i b ij q j+1, A b ij, atribut průsečíku pro q j+1, α (0, 1),β (0, 1): b ij e i b ij e j, A b ij, B b ij. Pro hodnoty 0,1 upravíme atributy odpovídajícího vrcholu: průsečíku. V opačném případě přidáme bod do A, B nebo do obou. Řešeno v samostatné proceduře. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 11 / 111

12 Množinové operace s nekonvexními regiony 10. Implementační detaily Odvozená struktura uchovává další vlastnosti: class QPointFB : public QPointF{ double alpha; double beta; bool inters; TPointPolygonPosition pos; //Value of α parameter //Value of β parameter //Is it an intersection? //Midpoint p = 0.5(p i + p i+1 ) position Kromě parametrů α, β, je/není průsečíkem i polohu M vůči 2. oblasti. Zpracování průsečíku b v oblasti P s n vrcholy, i index poč. bodu hrany e: Algoritmus 2: ProcessIntersection(b,t,P,i) 1: if ( t < ɛ): 2: P[i] inters //Startovní bod průsečíkem 3: if ( t 1 < ɛ): 4: P[(i + 1)%m] inters //Koncový bod průsečíkem 5: else: 6: i i + 1 //Inkrementuj pozici 7: P (b, i) //Přidej průsečík na pozici i + 1. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 12 / 111

13 Množinové operace s nekonvexními regiony 11. Výpočet průsečíků, naivní algoritmus Hledání všech průsečíků b ij. Pro segment e i = (p i, p i+1 ) procházíme postupně všechny segmenty e j = (q j, q j+1 ). Zásady: 1) Segment e j protíná e i nejvýše jednou Průsečík b ij lze přidat mezi body q j a q j+1 přímo. 2) Segment e i může být protnut více segmenty e j Průsečík b ij zatím nelze přidat mezi p i a p i+1. Nutno spočítat všechny b ij : e i testován vůči všem e j b ij = e i e j, i = const, j = 1,..., m 1. Dvojice (key, val) uchovávány v mapě M dle α Následně M přidána mezi body p i a p i+1. Složitost O(m, n). M(α) = (α i, b ij ). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 13 / 111

14 12. Ukázka průsečíků segmentů p 1 q 6 q 4 A q 2 p 4 b 26 b 25 b 24 b 23 b 22 b 21 p 2 p 3 q 5 B q 3 q 7 q 1

15 13. Update seznamů A, B S každým nalezeným průsečíkem e i e j, j = 1,..., m 1, updatován B. Průsečík b ij vložen mezi body p j, p j+1. Pro A průsečíky b ij ukládány do M(α). Po nalezení všech b ij průsečíků e i e j hromadně updatován A. M(α) přidána mezi body p i, p i+1. A p 1 p 2 p 3 p 4 B q 1 q 2 q 3 q 4 q 5 q 6 q 7 1. B q 1 b 21 q 2 q 3 q 4 q 5 q 6 q 7 2. B q 1 b 21 q 2 b 22 q 3 q 4 q 5 q 6 q 7 3. B q 1 b 21 q 2 b 22 q 3 b 23 q 4 q 5 q 6 q 7 4. B q 1 b 21 q 2 b 22 q 3 b 23 q 4 b 24 q 5 q 6 q 7 5. B q 1 b 21 q 2 b 22 q 3 b 23 q 4 b 24 q 5 b 25 q 6 q 7 6. B q 1 b 21 q 2 b 22 q 3 b 23 q 4 b 24 q 5 b 25 q 6 b 26 q 7 7. A p 1 p 2 b 26 b 25 b 24 b 23 b 22 b 21 p 3 p 4 Op. b 21 M(α) b 22 b 21 b 23 b 22 b 21 b 24 b 23 b 22 b 21 b 25 b 24 b 23 b 22 b 21 b 26 b 25 b 24 b 23 b 22 b 21 b 26 b 25 b 24 b 23 b 22 b 21

16 14. Algoritmus výpočtu průsečíků Pro segment e i = (p i, p i+1 ) hledány průsečíky b ij se všemi e j = (q j, q j+1 ). Pokud b ij, pro e j zpracován přímo (přidán nebo updatován q j /q j+1 ). Pro segment e i přidán do M (zatím neznáme všechny b ij ). Po nalezení všech b ij postupně sekvenčně přidány z M. Algoritmus 2: ComputeIntersections(A, B) 1: for (i = 0; i < n;i++): 2: M = map double, QPointFB //Vytvoření mapy 3: for (j = 0; j < m;j++): 4: if b ij = (p i, p (i+1)%m ) (q j, q (j+1)%m ) //Existuje průsečík 5: M[α i ] b ij //Přidej do M 6: ProcessIntersection(b ij,β,b,j) //Zpracuj první průsečík pro e j 7: if ( M > 0) //Nějaké průsečíky jsme nalezli 8: for m M: //Procházej všechny průsečíky v M 9: b m.second //Získej 2. hodnotu z páru 10: ProcessIntersection(b,α,A,i) //Zpracuj aktuální průsečík pro e i

17 15. Poloha hran A, B O poloze e i = (p i, p i+1 ) k B rozhoduje poloha libovolného vnitřního bodu p i = 0.5(p i + p i+1 ), analogicky pro e j = (q j, q j+1 ) vzhledem k A q j = 0.5(q j + q j+1 ). Každému p i A určíme polohu vzhledem k B. Každému q j B určíme polohu vzhledem k A. Ohodnocovací fce g OUT, p i / B, g(e i, B) = g(p i, B) = BND, p i B, IN, p i B, OUT, q j / A, g(e j, A) = gq j, A) = BND, q j A, IN, q j A. Hrany rozděleny na vnitřní, vnější, ležící na hranci A/B. Tato informace uložena do počátečního bodu hrany : TPointPolygonPosition pos; //Midpoint p = 0.5(p i + p i+1 ) position

18 16. Ukázka ohodnocení vrcholů A, B p 1 q 6 q 4 A q 2 p 4 p 1 q 6 q 4 A q 2 p 4 b 26 b 25 b 24 b 23 b 22 b 21 p 2 p 3 b 26 b 25 b 24 b 23 b 22 b 21 p 2 p 3 q 5 B q 3 q 5 B q 3 q 7 q 1 q 7 q 1 Inner Outer

19 17. Ukázka ohodnocení hran A, B p 1 q 6 q 4 A q 2 p 4 Outer Inner b 26 b 25 b 24 b 23 b 22 b 21 p 2 p 3 q 5 B q 3 q 7 q 1

20 Množinové operace s nekonvexními regiony 18. Ukázka ohodnocení hran A, B Ohodnocení hran vrcholů A, B: A p 1 p 2 b 26 b 25 b 24 b 23 b 22 b 21 p 3 p 4 g(e i, B) O O I O I O I O O O B q 1 b 21 q 2 b 22 q 3 b 23 q 4 b 24 q 5 b 25 q 6 b 26 q 7 g(e j, A) O I I O O I I O O I I O O V A, B se nevyskytují singulární segmenty (kolineární). Chybí ohodnocení BND (boundary). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 20 / 111

21 Množinové operace s nekonvexními regiony 19. Singulární A, B Přibude ohodnocení BND, kolineární segmenty. p 1 p 4 A Outer q 5 Inner q 8 q 7 b 25 b 24 q 3 q 2 Boundary p 2 p 3 q 6 B q 4 q 9 q 1 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 21 / 111

22 Množinové operace s nekonvexními regiony 20. Výběr hran dle ohodnocení Výběr hran A, B dle prováděné množinové operace. Z hran následně sestaveny fragmenty. Operace A B C = A B Inner Inner C = A B Outer Outer C = A B Outer Inner C = B A Inner Outer C = A B, Inner + Outer Inner + Outer Nestabilita: nepřesné určení polohy bodu a oblasti. Pro singulární případy atribut BND. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 22 / 111

23 Množinové operace s nekonvexními regiony 21. Výsledek množinových operací p 1 p 4 A q 6 q 4 q 2 b 26 b 25 b 24 b 23 b 22 b 21 p 2 p 3 q 5 B q 3 q 7 q 1 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 23 / 111

24 22. Vytvoření fragmentů Spojení vrcholů (hran) se stejným ohodnocením do polylinií (fragmentů). Uchovány v samostatných seznamech f, F jejich seznam. Každý fragment f začíná startovním bodem: průsečík. Koncový bod: první bod s jiným ohodnocením (další průsečík). Difference: f má opačné pořadí vrcholů (CW místo CCW)! Princip vytvoření fragmentů: 1) Nalezení: g(p[i s]) = g, P[i s] = inters, 1. průsečík s ohodnocení G, index i s. 2) Dokud i i s, opakuj: 2a) Najdi průsečík s ohodnocením g: g(p[i]) = g P[i] = inters. 2b) Vytvoř prázdný fragment f. 2bi) Přidej všechny vrcholy s ohodnocení g do fragmentu f. 2c) Přidej první následující průsečík do f. 2d) Pokud se jedná o Difference, reverse f. 2e) Přidej aktuální fragment f do seznamu: F f.

25 Množinové operace s nekonvexními regiony 23. Ukázka změny orientace: Difference A B CW CW Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 25 / 111

26 Množinové operace s nekonvexními regiony 24. Algoritmus: vytvoření fragmentů Vstupem polygon P s n vrcholy, ohodnocení g, swap orientation s, seznam fragmentů F. Polygon projedeme více než 1x, kruhový list, pozor na %. Algoritmus 2: CreateFragements(P, g, s, F ) 1: i 0 2: while (g(p[i]) g P[i] inters) //Dokud P[i] není průsečík s orientací g 3: i i + 1 4: if (i n) return; //Žádný bod s touto orientací neexistuje 5: i s i //Zapamatuj startovní index prvního průsečíku 6: do 7: f = //Prázdný fragment 8: if (createfragmentfromvertices(i s, P, g, i, f )) //Nalezen fragment 9: if (s) f.reverese() //Swapuj prvky fragmentu, je -li třeba 10: F [f [0]] f //Přidej fragment do mapy, klíč poč. bod 11: i (i + 1)%m 12: while (i i s) //Dokud nedojdeme k počátečnímu průsečíku Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 26 / 111

27 Množinové operace s nekonvexními regiony 25. Algoritmus: vytvoření fragmentu Vytvoření fragmentu f z bodů stejné orientace g. Následně přidán do f první bod s rozdílnou orientací. Algoritmus 2: createfragementfromvertices(i s, P, g, i, f ) 1: if g(p[i]) g P[i] inters //Bod není průsečíkem s orientací g 2: return false 3: for (;;) 4: f P[i] //Přidej bod do fragmentu 5: i (i + 1)%n 6: if (i i s) //Obešli jsme celý polygon 7: return false 8: if g(p[i]) g //První bod s rozdílnou orientací 9: f P[i] //Přidej ho do seznamu 10: return true //Úspěšně skončeno Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 27 / 111

28 Množinové operace s nekonvexními regiony 26. Ukázka fragmentů F A,F B p 1 f 12 p 4 A q 6 q 4 q 2 f 5 f 3 b 26 b 25 b 24 b 23 b 22 b 21 f 1 p 2 f 7 f 8 f 9 f p 10 f 3 11 f 4 f 2 q 5 q 3 B q 7 f 6 q 1 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 28 / 111

29 Množinové operace s nekonvexními regiony 27. Ukázka fragmentů F A,F B, seznamy Oblast A: Inner F A Outer f 7 b 26 b 25 f 8 b 25 b 24 f 9 b 24 b 23 f 10 b 23 b 22 f 11 b 22 b 21 f 12 b 21 p 3 p 4 p 1 p 2 b 26 Oblast B: Inner F B Outer f 1 b 21 q 2 b 22 f 2 b 22 q 3 b 23 f 3 b 23 q 4 b 24 f 4 b 24 q 5 b 25 f 5 b 25 q 6 b 26 f 6 b 26 q 7 q 1 b 21 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 29 / 111

30 28. Sestavení oblastí z fragmentů Algoritmus procházky po fragmentech... Po fragmentech postupujeme tak dlouho, dokud nedosáhneme poč. bodu. Vstupem seznam fragmentů F, výstupem seznam polygonů C. Postupně hledány navazující segmenty. Fragment uložen v mapě (f [0], (bool, f ) std::map<qpointf, std::pair<bool, std::vector<qpointf> > > Jako klíč použit počáteční bod. Atribut bool indikuje, zda je hrana zpracována nutno značkovat. Algoritmus 2: MergeFragementsv(F, C) 1: for f F 2: P //Vytvoř prázdný polygon 3: s f.first //Najdi startovní bod fragmentu 4: if (!f.second.first) //Pokud fragment již nebyl zpracován 5: if(createpolygonfromfragments(s, F, P)) 6: C P //Přidej polygon do seznamu

31 29. Ukázka sestavení z fragmentů: Union p 1 f 13 p 4 p 1 f 13 A q 6 q 4 q 2 q 6 q 4 A q 2 p 4 b 26 f f 5 b 25 b 24 3 b 23 b 22 f 1 b 21 b f 5 b f b 24 3 b 23 b 22 f 1 b 21 f7 f7 p 2 f 8 f 9 f 10 f 12 p 3 p 2 f 4 f 2 f 8 f 9 f 10 f 12 p 3 q 5 B q 3 q f 4 5 B f q 2 3 q 7 f 6 q 1 q 7 f 6 q 1 p 1 f 13 p 4 p 1 f 13 p 4 A A q 6 q 4 q 2 q 6 q 4 q 2 b 26 f 5 b 25 b 24 f 3 b 23 b 22 f 1 b 21 b 26 f 5 b 25 b 24 f 3 b 23 b 22 f 1 b 21 p 2 f 7 f 8 f 9 f 10 f 12 p 3 p 2 f 4 f 2 f 7 f 8 f 9 f 10 f 12 f 4 f 2 p 3 q 5 B q 3 q 5 B q 3 q 7 f 6 q 1 q 7 f 6 q 1

32 30. Ukázka sestavení z fragmentů: Union p 1 f p 13 4 p 1 f 13 p 4 A A q 6 q 4 q 2 q 6 q 4 q 2 f 5 f 3 f 1 b 26 b 25 b 24 b 23 b 22 b 21 b 26 b 25 b 24 b 23 b 22 b 21 f 5 f 3 f 1 p 2 f f 7 8 f 9 f 10 f 12 p 3 p 2 f 4 f 2 f 7 f 8 f 9 f 10 f 12 f 4 f 2 p 3 q 5 q 3 q 5 q 3 B B q 7 f 6 q 1 q 7 f 6 q 1

33 31. Ukázka sestavení z fragmentů: Union Outer fragmenty: F A : Outer F B : Outer f 8 * b 25 b 24 f 2 ** b 22 q 3 b 23 f 10 ** b 23 b 22 f 4 * b 24 q 5 b 25 f 12 *** b 21 p 3 p 4 p 1 p 2 b 26 f 6 *** b 26 q 7 q 1 b 21 Sestavené fragmenty (bez počátečního bodu f [0]): C f 8 f 8 [0] C f 8 f 8 [0] f 4 f 4 [0] C f 10 f 10 [0] C f 10 f 10 [0] f 2 f 2 [0] 1 b 25 b 24 1 b 25 b 24 b 24 q 5 b 25 1 b 24 q 5 b 25 1 b 24 q 5 b 25 2 b 23 b 22 2 b 23 b 22 b 22 q 3 b 23 C f 12 f 12 [0] 1 b 24 q 5 b 25 2 b 22 q 3 b 23 3 b 21 p 3 p 4 p 1 p 2 b 26 C f 12 f 12 [0] f 6 f 6 [0] 1 b 24 q 5 b 25 2 b 22 q 3 b 23 3 b 21 p 3 p 4 p 1 p 2 b 26 b 26 q 7 q 1 b 21

34 Množinové operace s nekonvexními regiony 32. Algoritmus vytvoření polygonu Vstupem seznam fragmentů F, výstupem seznam polygonů C. Postupně hledány navazující segmenty. Hledání v mapě O(c). Algoritmus 2: createpolygonfromfragments(s, F, P) 1: QPoint n s //Inicializuj následující bod 2: for (;;) //Projdi všechny fragmenty tvořící polygon 3: f F.find(n) //Najdi navazující fragment 4: if (f F.end) //Fragment s takovým poč. bodem neexistuje 5: return false 6: f.second.first true //Fragment označen za zpracovaný 7: n f.second.second.back() //Najdi následující bod 8: P f.second.second {f.second.second[0]} //Přidej bez poč. bodu 9: if (n s) //Obešli jsme polygon, jsme na startu 10: return true Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 34 / 111

35 33. Výsledný algoritmus Výše uvedené kroky sestaveny do algoritmu. U obou polygonů CCW orientace. Algoritmus 3: BooleanOperations(A, B, oper) 1: if (o(a)! = CCW ) 2: A.switchOr() //Změň orientaci na CCW 3: if (o(b)! = CCW ) 4: B.switchOr() //Změň orientaci na CCW 5: ComputeIntersections(A, B) //Urči průsečíky A, B 6: SetPositions(A, B) //Urči polohu vrcholů vůči oblastem 7: map QPointFI, pair bool, vector QPointFB F 8: pos1 = (oper Intersection oper DifBA?Inner : Outer) 9: pos2 = (oper Intersection oper DifAB?Inner : Outer) 10: swap1 = (oper DifAB : true : false 11: swap2 = (oper DifBA) : true : false 12: CreateFragments(A, pos1, swap1, F ) 13: CreateFragments(B, pos2, swap2, F ) 14: MergeFragments(A, B, C)

36 Množinové operace s nekonvexními regiony 34. Problematické situace Při odladění algoritmu nutné zohlednit řadu singularit: např. oblasti mající společný pouze jeden vrchol, stranu, část strany... Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 36 / 111

37 35. Formulace problému Dáno: Uzavřený a ohraničený region C v R 2 či linie. Hledáme: Offset C d oblasti C. Definice 1: Offset C d oblasti C představuje ekvidistantu oblasti tvořenou hraniční křivkou této oblasti c(t) ve vzdálenosti d. Offset obecné oblasti nemusí být racionální křivkou. Rovnoběžné křivky (tzv. Bertrandovy křivky) mají společné hlavní normály (platí pro C a C d ). Definice 2: Offset C d definován jako obálka soustavy kružnic s poloměrem d, jejichž střed se pohybuje po c(t). Offset C d může protínat sám sebe, na C d. Vznikají singulární body, jejichž vzdálenost od C je menší než d singulární část offsetu. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 37 / 111

38 36. Ukázka offsetu C d Offset C d obsahující singulární body. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 38 / 111

39 37. Konstrukce offsetu: diskrétní aproximace Konstrukce offsetu pro diskretiyované tvary: 1 Analytická konstrukce Použití pro linie, lomené čáry i oblasti. Převod aproximační oblasti na buffer: metoda Winding number. Snadná implementace. 2 Opakované sjednocení bufferů Metoda dissolvingu: opakované sjednocení bufferů nad jednotlivými segmenty. Použití lomené čáry i oblasti. Snadná implementace, avšak nestabilní. Nad offsety pro linie provedena operace dissolve. 3 Minkowského suma Pro libovolný typ uzavřené oblasti (netřeba diskretizovat). Složitější konstrukce: dekompozice na konvexní oblasti. Nad každou oblast Minkowského suma: offset. Poté dissolving dílčích offsetů. Obecné problémy: numerická přesnost, stabilita, množství singularit. Topologicky korektní implementace je náročná. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 39 / 111

40 38. Ukázky offsetu pro různé prvky Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 40 / 111

41 39. Konstrukce offsetu pro liniové segmenty Definice bufferu nad segmentem e i = (p i, p i+1 ) C d (e i ) = {c c e i = d}. Tvořen 2 úsečkami a 2 kružnicovými oblouky C d (e i ) = { k i,1, l i,1, k i,2, l i,2 k i,1 p i+1 = l i,1 e i = k i,2 p i = l i,2 e i = d }, kde k i,1 (c i,1, c i,2, d), l i,1 = (c i,2, c i,3 ), k i,2 (c i,3, c i,4, d), l i,2 = (c i,4, c i,1 ). c i,4 k i,2 p i+1 d l i,2 d c i,3 c i,1 e i l i,1 p i φ i k i,1 d c i,2

42 40. Diskrétní tvar offsetu Parametrické rovnice oblouků k i,1, k i,2 (x i,1, y i,1 ) = (x i + d cos ϕ i,j,1, y i + d sin ϕ i,j,1 ), (x i,2, y i,2 ) = (x i+1 + d cos ϕ i,j,2, y i+1 + d sin ϕ i,j,2, ). Koncové body c i,1 (ϕ i,s,1, d), c i,2 (ϕ i,e,1, d), c i,3 (ϕ i,s,2, d),c i,4 (ϕ i,e,2, d) k i,1 : ϕ i,s,1 = ϕ i + π 2, ϕ i,e,1 = ϕ i π 2, k i,2 : ϕ i,s,2 = ϕ i π 2, ϕ i,e,2 = ϕ i + π 2, kde Vnitřní body k i,1, k i,2 vzorkovány: ϕ i = arctan y i+1 y i x i+1 x i. A) V celočíselném kroku ϕ s + β ϕ, ϕ i,s ϕ i,j ϕ i,e, nevhodné. B) V celočíselném násobku β kroku ϕ, ϕ i,s < ϕ i,j < ϕ i,e ϕ i,j,0 = α ϕ, α = { α, α α = 0 α + 1 α α = 0, α = ϕ i,s ϕ, kde ϕ i,j = ϕ i,j,0 + β ϕ, β = α, α + 1, α + 2,...

43 41. Diskrétní offset, vzorkování:ϕ s + β ϕ

44 42. Diskrétní offset, vzorkování:β ϕ

45 43. Offset liniového segmentu, algoritmus Postupně vzorkovány body na obou kružnicových obloucích. Parametrem velikost offsetu d a krok vzorkování ϕ. Algoritmus 2: createoffset(p 1, p 2, d, ϕ) 1: c 2: ϕ atan2(y 2 y 1, x 2 x 1 ) 3: ϕ s,1 ϕ + π/2 4: ϕ e,1 ϕ s,1 + π 5: samplearc(p 1, d, ϕ s,1, ϕ e,1, ϕ, c) 6: ϕ s,2 ϕ π/2 7: ϕ e,2 ϕ s,2 + π 8: samplearc(p 2, d, ϕ s,2, ϕ e,2, ϕ, c) 9: return c Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 45 / 111

46 44. Vzorkování kružnicového oblouku Vzorkování kružnicového oblouku s krokem ϕ v intervalu (ϕ s, ϕ e ). Počáteční bod, vnitřní body, koncový bod. Zaokrouhlování nahoru, ceil: a. Algoritmus 2: samplearc(p, d, ϕ s, ϕ e, ϕ, c) 1: c i (p + d cos ϕ s, p + d sin ϕ s ) 2: c c i 3: α ϕ i,s ϕ 4: α ( α α < ε)?α + 1 : α. 5: for (ϕ α ϕ; ϕ < ϕ e ; f f + ϕ) 6: c i (p + d cos ϕ, p + d sin ϕ) 7: c c i 8: c i (p + d cos ϕ e, p + d sin ϕ e ) 9: c c i Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 46 / 111

47 45. Liniový offset, různá vzorkování

48 46. Analytický tvar offsetu Neprováděno vzorkování kružnic. oblouků. Segmenty k i,1, l i,1, k i,2, l i,2 v analytickém tvaru: 2 x kruž. oblouky: střed + koncové body. 2 x liniové segmenty: koncové body. Výhodou přesnější výpočet průsečíků při dissolvingu (úsečka, kružnice). Nevýhodou obtížnější výpočet průsečíků: dekompozice na segmenty. Průsečíky: L x L, L x C, C x C. Robustnější vůči zaokrouhlovacím chybám. Datová reprezentace: class Offset{ QPointF p1, p2; //St edy kruº. obouk double d //Polom r oblouku QPointF c1, c2, c3, c4 //Konc. body segmentu }; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 48 / 111

49 47. Offset, polylinie Polylinie L = {p 1,..., p n}. Nad každým segmentem e i = (p i, p i+1 ) vygenerován liniový buffer C d (e i ) = {c c e i = d}. Sjednocení n liniových bufferů nad L, dissolving: C d (L n) = n C d (e i ), i=1 = (C d (e 1 ) C d (e 2 )... C d (e n 1 )) C d (e n), = C d (L n 1 ) C d (e n). Reflexní vrchol generuje kružnicový oblouk, jinak liniové segmenty. Tento princip využívá inkrementální algoritmus: Offset nad k segmenty polylinie L z offsetu pro k 1 segmenty. Tento následně sjednocen s offsetem k-tého segmentu C d (L k ) = C d (L k 1 ) C d (e k ). Může obsahovat i uzavřené oblasti. Problém singularit: odstraněny z výsledku. Výpočetně obtížný: zaokrouhlovací chyby (dotyk bufferů). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 49 / 111

50 48. Offset nad segmenty polylinie p 5 p 1 d p 2 p 4 p6 p 7 p8 p 3 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 50 / 111

51 49. Offset polylinie: dissolve, bez singularit (GIS) p 5 p 1 d p 4 p 6 p 2 p 7 p8 p 3 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 51 / 111

52 50. Offset polylinie: dissolve, singularity p 5 p 1 d p 4 p6 p 2 p 7 p8 p 3 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 52 / 111

53 51. Vlastnosti offsetu Reflexní vrchol p i generuje kružnicový oblouk. Střed oblouku leží na bisektoru b i (p i 1, p i, p i+1 ). Počáteční body oblouků na kolmicích, svírají úhel ω i π. Konvexní vrchol p i generuje liniové segmenty, průsečík na bisektoru b i (p i 1, p i, p i+1 ). b i i i - p i p i-1 p i+1 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 53 / 111

54 52. Reflexní vrchol Reflexní vrchol může vést k rozpadu C d (L) na vnitřní a vnější C d (L) = {C d,o (L), C d,i (L) C d,i (L) C d,o (L)}. Offset tvořen 1x C d,o (L) a mx C d,i (L) { } C d (L) = C d,o (L), Cd,i(L), 1..., Cd,i(L) m, C j d,i (L) C d,o(l). Hovoříme o vnitřním C d,i (L) a vnějším C d,i (L) offsetu. Materiálová interpretace: vnější (Solid), vnitřní (Hole). Vnitřní offset nemusí existovat pro různá d. Důsledek: Offset není spojitý, rozpadá se do několika částí. Obtížnější implementace dissolvingu { } C d (L k ) = C d,o (L k 1 ) C d (e k ), Cd,i(L 1 k 1 ) C d (e k ),..., Cd,i(L m k 1 ) C d (e k ). Dissolving nutno řešit pro 1 vnější a m vnitřních offsetů (cyklus). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 54 / 111

55 53. Rozpad offsetu Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 55 / 111

56 54. Rozpad offsetu: dissolving Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 56 / 111

57 55. Zánik vnitřního offsetu I. Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 57 / 111

58 56. Zánik vnitřního offsetu II. Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 58 / 111

59 57. Hledání průsečíků offsetu Existují 3 typy průsečíků: Linie x linie. Linie x kružnicový oblouk. Kružnicový oblouk x kružnicový oblouk. Pozor na singularity: dotyk. Hledání průsečíku offsetů: A) Naivní algoritmus Každý offset s každým, neefektivní. Kvadratická složitost vzhledem k počtu bufferů. B) Sweep Line Příznivější složitost, modifikovaný Bentley-Ottman algoriotmus. Pro každý element uchovány body x, x. Segment vstoupí do PQ pro x, vystoupí pro x. Vzájemně řešeny průsečíky segmentů pouze v PQ. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 59 / 111

60 58. Ukázky průsečíků bufferů Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 60 / 111

61 59. Průsečíky offsetů: Sweep Line Sweep Line varianta, segmenty seřazeny dle x. Hledány průsečíky segmentů, jejichž x intervaly se protínají. Každý segment v PQ přítomen ve svém [x, x] intervalu. x

62 Konstrukce bufferu, dissolving 60. Konstrukce offsetu metodou dissolvingu Inkrementální konstrukce, C d (L k ) approximací offsetu C d (L). Postupné sjednocování offsetu segmentu C d (e k ) s offsetem k 1 segmentů C d (L k 1 ) C d (L k ) = C d (L k 1 ) C d (e k ). Existence m vnitřních offsetů { } C d (L k ) = C d,o (L k 1 ) C d (e k ), Cd,i 1 (L k 1) C d (e k ),..., Cd,i m (L k 1) C d (e k ) vede k cyklu C 1 d,i (L k 1) C d (e k ),..., C m d,i (L k 1) C d (e k ). Offsety značkovány jako Solid, Hole. Výsledky dílčích sjednocení C d (L k ) { C d,o (L k ), C d (L k 1 ) C d (e k ), C d,i (L k ), C d (L k 1 ) C d (e k ) =. Neprováděno in-place, do temporary C T d (L k ) postupně přidávány sjednocené offsety. Následně C d (L k ) C T d (L k ). Výhodou snadná implementace. Algoritmus citlivý vzhledem k zaokrouhlovacím chybám. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 62 / 111

63 Konstrukce bufferu, dissolving 61. Klasifikace oblastí: Solid/Hole Klasifikace oblastí do 2 skupin (materiálová interpretace): A) Solid: Neobsahuje žádné otvory. CCW orientace. B) Hole: Oblast uvnitř oblasti. CW orientace. Hole uvnitř Solid, ale Solid také uvnitř Hole. Testování vzájemné polohy oblastí vůči ostatním. Modifikovaný Ray algoritmus: vertikální paprsek. Pro každý offset C d (e i ) uložen bod p i s nejmenší x souřadnicích. Offsety zpracovány v PQ dle p i. Lichý počet průsečíků: Hole, jinak Solid. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 63 / 111

64 Konstrukce bufferu, dissolving 62. Klasifikace oblastí: Sweep Line (0) (2) (1) (2) H p 2 p 3 S p 0 S p 1 S x Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 64 / 111

65 63. Offset polylinie: jednotlivé fáze Konstrukce bufferu, dissolving C d (L 1 ) C d (L 2 ) C d (e 3 ) C d (e 2 ) C d (L 3 ) C d (e 4 ) C d (L 4 ) C d (e 5 ) C d (L 5 ) C d,o (L 6 ) 1 C d,i (L 6 ) C d (e 6 ) C d (e 7 ) Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 65 / 111

66 Konstrukce bufferu, dissolving 64. Klasifikace oblastí: jednotlivé fáze 1 1 C d,i (L 6 ) C d,i (L 6 ) C d,o (L 7 ) C d,o (L 8 ) C d (e 8 ) C d (e 7 ) C d (e 10 ) 1 1 C d,i (L 6 ) C C d (e 9 ) d,i (L 6 ) C d,o (L 9 ) 2 C d,i (L 10 ) C d,o (L 10 ) C d,o (L 10 ) C d,o (L 11 ) 1 C d,i (L 6 ) C d (e 11 ) 1 C d,i (L 6 ) 2 2 C d,i (L 10 ) C d,i (L 10 ) C d (e 12 ) Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 66 / 111

67 65. Offset, polylinie, algoritmus Inkrementální konstrukce C d (L) z C d (e). Všechny segmenty C d (L k 1 ) sjednoceny s C d (e l ). Pomocná datová datová struktura (temporary) C d (L) C d (L k ), neprováděno in-place. Výsledek k-tého offsetu uložen do C d (L), následně: C d (L k ) C d (L). Algoritmus 2: offsetpolyline(p, d, ϕ) 1: C d (L) //Prázdný offset polylinie 2: C d (e) createoffset(p[0], P[1], d, ϕ) //Offset prvního segmentu 3: C d (L) C d (e) //Přidání prvního offsetu 4: for i = 1,..., n 1 5: C d (e) createoffset(p[k], P[(k + 1)%n], d, ϕ) //Offset k tého segmentu 6: C d (L) //Vytvoření pomocné struktury 7: for j = 0,..., m 1 //Pro všechny Inner/Outer segmenty stávajíícj offsetu 8: C d (e) = C d (e) C d (L)[j] //Sjednocení se stávajícím offsetem 9: if C d (e) //Hole z předchozích iterací 10: C d (L) C d (L)[j] //Přidej stávající Hole do C d (L k ) 11: else //Nový Solid, Holes 12: C d (L) C d (e) //Přidej nový Solid a Holes do C d (L k ) 13: C d (L) C d (L) //Aktualizuj offset polyline: C d (L k ) = C d (L k 1 )

68 Konstrukce bufferu, dissolving 66. Offset uzvařené oblasti Uzavřená oblast P = {p 1,..., p n}. Nad každým segmentem e i = (p i, p i+1 ) vygenerován liniový buffer C d (e i ) = {c c e i = d}. Proces dissolvingu n C d (P n) = C d (e i ). i=1 Reflexní vrchol generuje kružnicový oblouk, jinak liniové segmenty. Vždy existuje vnější offset, v některých případech i vnitřní offset Inkrementální konstrukce Offset nad k segmenty oblasti P z offsetu pro k 1 segmentů P. Poté sjednocen s offsetem k-tého segmentu C d (L k ) = C d (L k 1 ) C d (e k ). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 68 / 111

69 67. Offset uzavřené oblasti Konstrukce bufferu, dissolving Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 69 / 111

70 Konstrukce bufferu, dissolving 68. Offset uzavřené oblasti, dissolving Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 70 / 111

71 Konstrukce bufferu, dissolving 69. Offset uzavřené oblasti: singularity Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 71 / 111

72 70. Reflexní vrchol Konstrukce bufferu, dissolving Reflexní vrchol p i generuje kružnicový oblouk. Střed oblouku leží na bisektoru b i (p i 1, p i, p i+1 ). Počáteční body oblouků na kolmicích, svírají úhel ω i π. Reflexní vrchol může vést k rozpadu C d (P) na vnitřní a vnější C d (P) = {C d,o (P), C d,i (P) C d,i (P) C d,o (P)}. Offset tvořen 1x C d,o (P) a mx C d,i (P) { } C d (P) = C d,o (P), Cd,i(P), 1..., Cd,i(P) m, C j d,i (P) C d,o(p). Offset není spojitý, rozpadá se do několika částí. Dissolving C d (P k ) = Algoritmus konstrukce: { } C d,o (P k 1 ) C d (e k ), Cd,i(P 1 k 1 ) C d (e k ),..., Cd,i(P m k 1 ) C d (e k ). Analogický jako u offsetu polylinie. Postupný dissolving offsetů nad segmenty. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 72 / 111

73 71. Rozpad offsetu: dissolving Konstrukce bufferu, dissolving Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 73 / 111

74 72. Offset oblasti: jednotlivé fáze Konstrukce bufferu, dissolving Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 74 / 111

75 Analytická konstrukce offsetu 73. Analytická konstrukce metodou Winding Number Metoda dissolvingu výpočetně obtížná. Citlivost na singularity, zaokrouhlovací chyby. Jednotlivé segmenty offsetu lze určit analyticky. Tvar segmentu závisí na reflexivitě/konvexitě vrcholu. Offset aproximován polygonem se smyčkami (topologicky nekorektní). Smyčky dle orientace CW/CCW odstraněny/ponechány. Pro výpočet orientace použito Winding number. Výhodou snadná implementace a robustnost metody. Použitelné i pro oblasti s otvory (Holes). Použitelné pro lomené čáry i uzavřené oblasti. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 75 / 111

76 74. Konvexita/konkavita vrcholu Analytická konstrukce offsetu Pokud (p i 1, p i, p i+1 ) tvoří left turn, pak p i konvexní. p i = { CVX, p i+1 σ L (p i 1, p i ), CNC, jinak. p 5 p 3 p 4 p 9 p 7 p 8 p 6 p 10 p 1 p 2 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 76 / 111

77 74. Modifikovaný Winding number Analytická konstrukce offsetu Uzavřená oblast P = {p i } m i=1,bod q P. Bodem q veden paprsek r. Modifikovaný winding number kde ω(r, P) = n ψ(r, e i ), e i = (p i, p i+1 ), e i P 0, r e i =, ψ(r, e i ) = 1, q σ L (p i, p i+1 ), 1, q σ R (p i, p i+1 ). Hodnota ω(r, P) nezávislá na volbě q, R. Pro sousedící polygony oddělené 1 hranou se liší o 1. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 77 / 111

78 Analytická konstrukce offsetu 75. Ukázka modifikovaného Windimg numberu (-1) +1 P (-1) (-1) Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 78 / 111

79 Analytická konstrukce offsetu 76. Klasifikace Solid/Hole s využitím WN (2) (1) (0) (1) Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 79 / 111

80 77. Self-intersected polygon Analytická konstrukce offsetu Topologicky nekorektní části: ω(r, P) > 1. (+2) (+1) (0) Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 80 / 111

81 78. Algoritmus konstrukce offsetu Analytická konstrukce offsetu Analytická konstrukce offsetu bez nutnosti aplikace množinových operací. Lze aplikovat na vnitřní i vnější offfset. Vnitřní offset: Nejprve zkonstruovány rovnoběžky ve vzdálenosti d ke všem prvkům. Podle typu vrcholu zkonstruován: 1 Konvexní vrchol: Kružnicový oblouk, střed leží na ose úhlu. 2 Konkávní vrchol: Propojení koncových bodů posunutých segmentů s tímto vrcholem. Umělé vytvoření smyčky: topologicky nekorektní. Vnější offset: Konkávní - kružnicový oblouk, konvexní - propojení. Následně určeny průsečíky se segmenty offsetu. Odstranění smyček dle hodnot winding numberu. Vnitřní offset: vynechání oblastí ω(r, P) < 0. Vnější offset: vynechání oblastí ω(r, P) > 1. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 81 / 111

82 79. Konstrukce vnitřního offsetu Analytická konstrukce offsetu (-1) (-1) (+1) (-1) (-1) Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 82 / 111

83 80. Konstrukce vnějšího offsetu Analytická konstrukce offsetu (+2) (+2) (+1) Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 83 / 111

84 Vlastnosti Minkowského sumy 30. Minkowského suma v E 2 Definice: Necht A, B jsou dvě množiny bodů v E 2. Minkowského suma A B je definována jako A B = b B A b, kde množina A b = {a + b a A b B} = A + b je množina A posunutá o vektor b. Komutativita Minkowského sumy: A B = B A. Asociativita Minkowského sumy: (A B) C = A (B C). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 84 / 111

85 Vlastnosti Minkowského sumy 31. Ilustrace Minkowského sumy: C = A B Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 85 / 111

86 Vlastnosti Minkowského sumy 32. Další vlastnosti Minkowského sumy V1: Necht A, B jsou dvě množiny bodů v E 2 a s, t dva vektory z E 2. Pak A s B t = (A B) s+t. Posunutí množin A, B nemá vliv na velikost a tvar Minkowského sumy. Posuneme-li množiny A, B o vektory s, t, Minkowského suma A, B bude posunuta o součet vektorů s + t. V2: Oblasti A, B mají společný bod, tj. A B 0, právě když (0, 0) A ( B). Existuje společný bod dvou oblastí A, B, pokud Minkowského suma A ( B) obsahuje bod (0, 0). Tato věta je používána k detekci kolizí obou oblastí. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 86 / 111

87 Vlastnosti Minkowského sumy 33. Znázornění A s B t = (A B) s+t Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 87 / 111

88 Vlastnosti Minkowského sumy 34. Znázornění detekci kolizí dvou oblastí Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 88 / 111

89 Vlastnosti Minkowského sumy 35. Další vlastnosti Minkowského sumy Extrémní bod množiny: Extrémní bod množiny A ve směru daném vektorem d představuje takový bod x A, pro který všechny ostatní body množiny A leží v polorovině (q, r), kde q(x, d) a r(x, d). V3: Necht A, B jsou dvě množiny bodů v E 2 a C = A B. Extrémní bod množiny C ve směru d je součtem extrémních bodů množin A, B ve Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 89 / 111

90 Vlastnosti Minkowského sumy 36. Znázornění vztahu extrémních bodů Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 90 / 111

91 Vlastnosti Minkowského sumy 37. Další vlastnosti Minkowského sumy V4: Minkowského suma C = A B dvou konvexních množin A, B je konvexní množina. V5: Minkowského suma C = A B dvou nekonvexních množin A, B je konvexní nebo nekonvexní množina. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 91 / 111

92 Vlastnosti Minkowského sumy 38. Ukázka Minkowského sumy 2 nekonvexních množin V tomto případě výsledkem konvexní množina. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 92 / 111

93 Vlastnosti Minkowského sumy 39. Další vlastnosti Minkowského sumy V6: Necht P i a Q j jsou množiny v E 2. Pak P i i j Q j = i,j (P i Q j ). Tato vlastnost používána při hledání Minkowského sumy nekonvexních množin. Konstrukce Minkowského sumy nekonvexních množin: Nekonvexní množinu rozdělíme na sjednocení disjunktních konvexních množin. Minkowského sumu nekonvexních množin získáme jako sjednocení Minkowského sum konvexních množin. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 93 / 111

94 Vlastnosti Minkowského sumy 40. Konstrukce Minkowského sumy sjednocením konvexních množin Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 94 / 111

95 41. Minkowského suma 2 bodů Ukázky Minkowského sumy různých množin Minkowského suma dvou jednobodových množin je jednobodová množina. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 95 / 111

96 Ukázky Minkowského sumy různých množin 42. Minkowského suma bodu a úsečky Minkowského suma dvou jednobodových množin je jednobodová množina. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 96 / 111

97 43. Minkowského suma 2 úseček Ukázky Minkowského sumy různých množin Pokud jsou úsečky rovnoběžné, je výsledkem úsečka. V opačném případě je výsledkem konvexní 4-úhelník. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 97 / 111

98 44. Minkowského suma 2 úseček Ukázky Minkowského sumy různých množin Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 98 / 111

99 Ukázky Minkowského sumy různých množin 45. Minkowského úsečky a trojúhelníku Pokud není úsečka rovnoběžná s žádnou stranou trojúhelníku, výsledkem je konvexní pětiúhelník. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 99 / 111

100 Ukázky Minkowského sumy různých množin 46. Minkowského suma 2 trojúhelníků Minkowského suma dvou trojúhelníků představuje konvexní n úhelník s počty vrcholů n (3, 6). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 100 / 111

101 47. Minkowského suma linie a kruhu Ukázky Minkowského sumy různých množin Pokud kruh k s poloměrem r má počátek v bodě [0, 0], výsledkem Minkowského sumy kruhu a linie L ekvidistanta nazývaná v GIS liniový buffer ve vzdálenosti r of linie L. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 101 / 111

102 Ukázky Minkowského sumy různých množin 48. Minkowského suma uzavřené oblasti a kruhu Pokud kruh k s poloměrem r má počátek v bodě [0, 0], výsledkem Minkowského sumy kruhu k a uzavřeného regionu C ekvidistanta nazývaná v GIS plošný buffer ve vzdálenosti r. 3 varianty bufferu nad uzavřenou oblastí C: Vnitřní i vnější buffer: Ekvidistanta konstruována uvnitř i vně C. Vnější buffer Ekvidistanta pouze vně C, nejčastěji používaná varianta. Vnitřní buffer Ekvidistanta pouze uvnitř C, nelze vždy zkonstruovat, problém singulárních segmentů. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 102 / 111

103 Ukázky Minkowského sumy různých množin 49. Minkowského suma uzavřené oblasti a kruhu Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 103 / 111

104 50. Naivní algoritmus Algoritmy pro konstrukci Minkowského sumy Necht A, B jsou konvexní regiony s m a n vrcholy, hledáme C = A B. Princip algoritmu: Minkowského suma C tvořena součtem polohových vektorů vrcholů A, B. Vrcholy Minkowského sumy C tvoří pouze některé z těchto součtů. Algoritmus provádí součty všech vrcholů (resp. polohových vektorů) regionů A, B. n m c ij = (p i + q j ). Minkowského sumu C tvoří body ležící na konvexní obálce H(c ij ). Časová složitost O(mn log(mn)), v praxi není používán. Algoritmus 1: Minkowski (A, B, C) i=1 1: Opakuj pro každý bod p i A: 2: Opakuj pro každý bod p j B: 3: c ij = p i + q j, c ij c. 4: C = H(c) Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 104 / 111 j=1

105 51. Algoritmus extrémních bodů Tomiczková, Algoritmy pro konstrukci Minkowského sumy Algoritmus založen na myšlence, že extrémní bod množiny C = A B je součtem extrémních bodů množin A, B ve směru d. Hranici Minkovského sumy tvoří pouze úsečky rovnoběžné s hranami A, B. Princip algoritmu: Vypočteny orientované úhly α i, β j, kde: α i definován jako úhel vektorů p i p i+1 a (0, 1). β j definován jako úhel vektorů q j p j+1 a (0, 1). Pak nový vrchol C definován jako p i+1 + q j, pokud α i > β j, C = p i + q j+1, pokud α i < β j, p i+1 + q j+1, pokud α i = β j. Do C je přidáván vrchol vznikající součtem aktuálního vrcholu a koncového vrcholu takové z dvojice stran, jejíž úhel svíraný s osou y je větší (tj. extrémního bodu ve směru d). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 105 / 111

106 52. Ilustrace algoritmu Algoritmy pro konstrukci Minkowského sumy Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 106 / 111

107 53. Implementace algoritmu Algoritmy pro konstrukci Minkowského sumy Při konstrukci bufferu kružnice nahrazována n úhelníkem. Složitost algoritmu O(m + n). Algoritmus 2: Minkowski (A, B, C) 1: Seřazení vrcholů p i, q j oblastí A, B ve směru hodinových ručiček. 2: Označ p 1 a q 1 extrémní vrcholy A, B ve směru d daném vektorem (0, 1). 3: Inicializuj i, j, k = 1. 4: C k = p 1 + q 1. 5: Opakuj pro všechny p i A a q j B: 6: α i = ( p i p i+1, (0, 1)). 7: β j = ( p j p j+1, (0, 1)). p i+1 + q j, pokud α i > β j, 8: Přidání bodu C k+1 = p i + q j+1, pokud α i < β j, p i+1 + q j+1, pokud α i = β j. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 107 / 111

108 Algoritmy pro konstrukci Minkowského sumy 54. Minkowského suma nekonvexní oblasti Algoritmus založen na principu rozkladu nekonvexního mnohohoúhelníku na monotónní polygony (např. triangulací). Na monotónní (tj. konvexní) polygony aplikovány předchozí algoritmy. Postup: A) Oblast A rozdělena na monotónní podoblasti A i. B) Oblast B rozdělena na monotónní podoblasti B j. C) Pro všechny A i a B j opakovaně konstruujeme Minkowského sumu C ij = A i B j. D) Minkowského suma C = A B určena sjednocením dílčích Minkowského sum C ij C = ij C ij. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 108 / 111

109 Algoritmy pro konstrukci Minkowského sumy 55. Ilustrace Bufferu nad liniovým prvkem Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 109 / 111

110 Algoritmy pro konstrukci Minkowského sumy 56. Ilustrace Bufferu nad liniovým prvkem (Dissolve) Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 110 / 111

111 Algoritmy pro konstrukci Minkowského sumy 57. Ilustrace bufferu nad uzavřenou oblastí Tomáš Bayer (Katedra aplikované Operace s uzavřenými geoinformatiky oblastmia kartografie. v GIS Přírodovědecká fakulta UK.) 111 / 111

Geometrické vyhledání.

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

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

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

Úvod do výpočetní geometrie. Základní vztahy.

Úvod do výpočetní geometrie. Základní vztahy. Úvod do výpočetní geometrie. Základní vztahy. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie. Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra

Více

Dynamické datové struktury III.

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é

Více

Dynamické datové struktury IV.

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

Více

Vzorce počítačové grafiky

Vzorce počítačové grafiky Vektorové operace součet vektorů rozdíl vektorů opačný vektor násobení vektoru skalárem úhel dvou vektorů velikost vektoru a vzdálenost dvojice bodů v rovině (v prostoru analogicky) u = B A= b a b a u

Více

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

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

Více

Topologická kostra. Medial Axis. Straight Skeleton.

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

Více

P L A N I M E T R I E

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ů

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

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

Konvexní obálka množiny bodů.

Konvexní obálka množiny bodů. Konvexní obálka množiny bodů. Graham Scan. Jarvis Scan. Quick Hull. Inkrementální metoda. Divide and Conquer. Rotating Calipers. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie.

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

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

Algoritmy pro ořezávání 2D polygonů

Algoritmy pro ořezávání 2D polygonů Algoritmy pro ořezávání 2D polygonů Využití ořezávání v praxi odstranění částí obrazu nacházejících se mimo zobrazitelnou oblast výstupního zařízení Využití ořezávání v praxi Vyplňování 3D objektů Vytvoření

Více

Příklady k analytické geometrii kružnice a vzájemná poloha kružnice a přímky

Příklady k analytické geometrii kružnice a vzájemná poloha kružnice a přímky Příklady k analytické geometrii kružnice a vzájemná poloha kružnice a přímky Př. 1: Určete rovnice všech kružnic, které procházejí bodem A = * 6; 9+, mají střed na přímce p: x + 3y 18 = 0 a jejich poloměr

Více

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1)

X = A + tu. Obr x = a 1 + tu 1 y = a 2 + tu 2, t R, y = kx + q, k, q R (6.1) .6. Analtická geometrie lineárních a kvadratických útvarů v rovině. 6.1. V této kapitole budeme studovat geometrické úloh v rovině analtick, tj. lineární a kvadratické geometrické útvar vjádříme pomocí

Více

Syntetická geometrie II

Syntetická geometrie II Mnohoúhelníky Pedagogická fakulta 2018 www.karlin.mff.cuni.cz/~zamboj/ Čtyřúhelníky Definice (Čtyřúhelník) Jsou dány čtyři body A, B, C, D v rovině, z nichž žádné tři nejsou kolineární. Čtyřúhelník ABCD

Více

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce.

Zavedeme-li souřadnicový systém {0, x, y, z}, pak můžeme křivku definovat pomocí vektorové funkce. KŘIVKY Křivka = dráha pohybujícího se bodu = = množina nekonečného počtu bodů, které závisí na parametru (čase). Proto můžeme křivku také nazvat jednoparametrickou množinou bodů. Zavedeme-li souřadnicový

Více

Základy matematické analýzy

Základy matematické analýzy Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

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

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ 11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ Dovednosti: 1. Chápat pojmy orientovaná úsečka a vektor a geometrický význam součtu, rozdílu a reálného násobku orientovaných úseček a vektorů..

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

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

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

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které

Kapitola 5. Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které Kapitola 5 Kuželosečky Seznámíme se ze základními vlastnostmi elipsy, hyperboly a paraboly, které společně s kružnicí jsou známy pod společným názvem kuželosečky. Říká se jim tak proto, že každou z nich

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

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b

9. Je-li cos 2x = 0,5, x 0, π, pak tgx = a) 3. b) 1. c) neexistuje d) a) x ( 4, 4) b) x = 4 c) x R d) x < 4. e) 3 3 b 008 verze 0A. Řešeními nerovnice x + 4 0 jsou právě všechna x R, pro která je x ( 4, 4) b) x = 4 c) x R x < 4 e) nerovnice nemá řešení b. Rovnice x + y x = je rovnicí přímky b) dvojice přímek c) paraboly

Více

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

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ě

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

1. Přímka a její části

1. Přímka a její části . Přímka a její části přímka v rovině, v prostoru, přímka jako graf funkce, konstrukce přímky nebo úsečky, analytická geometrie přímky, přímka jako tečna grafu, přímka a kuželosečka Přímka v rovině a v

Více

ŠROUBOVICE. 1) Šroubový pohyb. 2) Základní pojmy a konstrukce

ŠROUBOVICE. 1) Šroubový pohyb. 2) Základní pojmy a konstrukce 1) Šroubový pohyb ŠROUBOVICE Šroubový pohyb vznikne složením dvou pohybů : otočení kolem dané osy o a posunutí ve směru této osy. Velikost posunutí je přitom přímo úměrná otočení. Konstantou této přímé

Více

SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE

SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE SYLABUS 9. PŘEDNÁŠKY Z INŢENÝRSKÉ GEODÉZIE (Řešení kruţnicových oblouků v souřadnicích) 3. ročník bakalářského studia studijní program G studijní obor G doc. Ing. Jaromír Procházka, CSc. prosinec 2015

Více

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ. u. v = u v + u v. Umět ho aplikovat při

11. VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ. u. v = u v + u v. Umět ho aplikovat při . VEKTOROVÁ ALGEBRA A ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ Dovednosti:. Chápat pojmy orientovaná úsečka a vektor a geometrický význam součtu, rozdílu a reálného násobku orientovaných úseček a vektorů..

Více

Úhly a jejich vlastnosti

Úhly a jejich vlastnosti Úhly a jejich vlastnosti Pojem úhlu patří k nejzákladnějším pojmům geometrie. Zajímavé je, že úhel můžeme definovat několika různými způsoby, z nichž má každý své opodstatnění. Definice: Úhel je část roviny

Více

1 Topologie roviny a prostoru

1 Topologie roviny a prostoru 1 Topologie roviny a prostoru 1.1 Základní pojmy množin Intervaly a okolí Intervaly v rovině nebo prostoru jsou obdélníky nebo hranoly se stranami rovnoběžnými s osami souřadnic. Podmnožiny intervalů se

Více

Konvexní obálka množiny bodů.

Konvexní obálka množiny bodů. Konvexní obálka množiny bodů. Graham Scan. Jarvis Scan. Quick Hull. Inkrementální metoda. Divide and Conquer. Rotating Calipers. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie.

Více

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

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

CVIČNÝ TEST 41. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 41 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 7 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Je dán magický čtverec, pro nějž platí,

Více

1 Analytická geometrie

1 Analytická geometrie 1 Analytická geometrie 11 Přímky Necht A E 3 a v R 3 je nenulový Pak p = A + v = {X E 3 X = A + tv, t R}, je přímka procházející bodem A se směrovým vektorem v Rovnici X = A + tv, t R, říkáme bodová rovnice

Více

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci Projekt OPVK - CZ.1.07/1.1.00/26.0047 Matematika pro všechny Univerzita Palackého v Olomouci Tematický okruh: Geometrie Různé metody řešení Téma: Analytická geometrie v prostoru, vektory, přímky Autor:

Více

2. ANALYTICKÁ GEOMETRIE V PROSTORU Vektory Úlohy k samostatnému řešení... 21

2. ANALYTICKÁ GEOMETRIE V PROSTORU Vektory Úlohy k samostatnému řešení... 21 2 ANALYTICKÁ GEOMETRIE V PROSTORU 21 21 Vektory 21 Úlohy k samostatnému řešení 21 22 Přímka a rovina v prostoru 22 Úlohy k samostatnému řešení 22 23 Vzájemná poloha přímek a rovin 25 Úlohy k samostatnému

Více

Analytická geometrie přímky, roviny (opakování středoškolské látky) = 0. Napište obecnou rovnici. 8. Jsou dány body A [ 2,3,

Analytická geometrie přímky, roviny (opakování středoškolské látky) = 0. Napište obecnou rovnici. 8. Jsou dány body A [ 2,3, Analytická geometrie přímky roviny opakování středoškolské látk Jsou dány body A [ ] B [ 5] a C [ 6] a) přímky AB b) osy úsečky AB c) přímky na které leží výška vc trojúhelníka ABC d) přímky na které leží

Více

Zákony hromadění chyb.

Zákony hromadění chyb. Zákony hromadění chyb. Zákon hromadění skutečných chyb. Zákon hromadění středních chyb. Tomáš Bayer bayertom@natur.cuni.cz Přírodovědecká fakulta Univerzity Karlovy v Praze, Katedra aplikované geoinformatiky

Více

Kružnice, úhly příslušné k oblouku kružnice

Kružnice, úhly příslušné k oblouku kružnice KRUŽNICE, KRUH Kružnice, úhly příslušné k oblouku kružnice Je dán bod S a kladné číslo r. Kružnice k(s;r) je množina všech bodů (roviny), které mají od bodu S vzdálenost r. Můžeme také říci. Kružnicí k

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

Urci parametricke vyjadreni primky zadane body A[2;1] B[3;3] Urci, zda bod P [-3;5] lezi na primce AB, kde A[1;1] B[5;-3]

Urci parametricke vyjadreni primky zadane body A[2;1] B[3;3] Urci, zda bod P [-3;5] lezi na primce AB, kde A[1;1] B[5;-3] 1 Parametricke vyjadreni primky Priklad 16 Priklad 17 Priklad 18 jestlize Urci parametricke vyjadreni primky zadane body A[2;1] B[3;3] Urci, zda bod P [-3;5] lezi na primce AB, kde A[1;1] B[5;-3] Urci,

Více

Úvod do mobilní robotiky AIL028

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

Více

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK

FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK FAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK 00 007 TEST Z MATEMATIKY PRO PŘIJÍMACÍ ZKOUŠKY ČÍSLO FAST-M-00-0. tg x + cot gx a) sinx cos x b) sin x + cos x c) d) sin x e) +. sin x cos

Více

Rovnice přímky. s = AB = B A. X A = t s tj. X = A + t s, kde t R. t je parametr. x = a 1 + ts 1 y = a 2 + ts 2 z = a 3 + ts 3. t R

Rovnice přímky. s = AB = B A. X A = t s tj. X = A + t s, kde t R. t je parametr. x = a 1 + ts 1 y = a 2 + ts 2 z = a 3 + ts 3. t R Rovnice přímky Přímka p je určená dvěma různými body (A, B)(axiom) směrový vektor nenulový rovnoběžný (kolineární) s vektorem s = AB = B A pro libovolný bod X na přímce platí: X A = t s tj. Vektorová rovnice

Více

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - "uvažovat" jako počítač

PROGRAMY PRO GIS. Formovat/formulovat problém pro aplikaci v počítači. Fungování GIS programů na základní úrovni - uvažovat jako počítač PROGRAMY PRO GIS Formovat/formulovat problém pro aplikaci v počítači Fungování GIS programů na základní úrovni - "uvažovat" jako počítač Jak počítače řeší problémy procesor central processing unit - CPU

Více

Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26

Bézierovy křivky Bohumír Bastl KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Bézierovy křivky Bohumír Bastl (bastl@kma.zcu.cz) KMA/GPM Geometrické a počítačové modelování Bézierovy křivky GPM 1 / 26 Opakování Spline křivky opakování Bézierovy křivky GPM 2 / 26 Opakování Interpolace

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

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz 1/15 ANALYTICKÁ GEOMETRIE Základní pojmy: Soustava souřadnic v rovině a prostoru Vzdálenost bodů, střed úsečky Vektory, operace s vektory, velikost vektoru, skalární součin Rovnice přímky Geometrie v rovině

Více

5. Statika poloha střediska sil

5. Statika poloha střediska sil 5. Statika poloha střediska sil 5.1 Rovnoběžné sily a jejich střed Uvažujeme soustavu vzájemně rovnoběžných sil v prostoru s pevnými působišti. Každá síla má působiště dané polohovým vektorem. Všechny

Více

17 Kuželosečky a přímky

17 Kuželosečky a přímky 17 Kuželosečky a přímky 17.1 Poznámka: Polára bodu M ke kuželosečce Nechť X = [x 0,y 0 ] je bod. Zavedeme následující úpravy: x x 0 x y y 0 y xy (x 0 y + xy 0 )/ x (x 0 + x)/ y (y 0 + y)/ (x m) (x 0 m)(x

Více

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

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ý

Více

Elementární plochy-základní pojmy

Elementární plochy-základní pojmy -základní pojmy Kulová plocha je množina bodů v prostoru, které mají od pevného bodu S stejnou vzdálenost r. Hranolová plocha je určena lomenou čarou k (k σ) a směrem s, který nenáleží dané rovině (s σ),

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

3.1.2 Polorovina, úhel

3.1.2 Polorovina, úhel 3.1.2 Polorovina, úhel Předpoklady: 3101 Přímka dělí rovinu na dvě navzájem opačné poloroviny a je jejich společnou hranicí (hraniční přímkou). p Hraniční přímka patří do obou polorovin. ody, které neleží

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

Základní topologické pojmy:

Základní topologické pojmy: Křivky Marie Ennemond Camille Jordan (88 9): Křivka je množina bodů, která je surjektivním obrazem nějakého intervalu Giuseppe Peano (858 9): Zobrazení intervalu na čtverec Wacław Franciszek Sierpiński

Více

Matematická morfologie

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á

Více

Matematika I 12a Euklidovská geometrie

Matematika I 12a Euklidovská geometrie Matematika I 12a Euklidovská geometrie Jan Slovák Masarykova univerzita Fakulta informatiky 3. 12. 2012 Obsah přednášky 1 Euklidovské prostory 2 Odchylky podprostorů 3 Standardní úlohy 4 Objemy Plán přednášky

Více

Minkowského operace. Použití. Světlana Tomiczková. Rozmisťování Robot Motion Planning Offset Optics. Pojmy:

Minkowského operace. Použití. Světlana Tomiczková. Rozmisťování Robot Motion Planning Offset Optics. Pojmy: Minkowského operace Hermann Minkowski Narodil se 22. 6. 1864. Studoval na univerzitách v Berlíně a Königsbergu. Učil na univerzitách v Bonnu, Königsbergu and Zurichu. V Zurichu byl jeho studentem A. Einstein.

Více

19 Eukleidovský bodový prostor

19 Eukleidovský bodový prostor 19 Eukleidovský bodový prostor Eukleidovským bodovým prostorem rozumíme afinní bodový prostor, na jehož zaměření je definován skalární součin. Víme, že pomocí skalárního součinu jsou definovány pojmy norma

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

Bakalářská matematika I

Bakalářská matematika I 1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,

Více

Výpočet průsečíků paprsku se scénou

Výpočet průsečíků paprsku se scénou Výpočet průsečíků paprsku se scénou 1996-2008 Josef Pelikán, MFF UK Praha http://cgg.ms.mff.cuni.cz/~pepca/ Josef.Pelikan@mff.cuni.cz NPGR004, intersection.pdf 2008 Josef Pelikán, http://cgg.ms.mff.cuni.cz/~pepca

Více

Je-li dána hranolová nebo jehlanová plocha s podstavou v rovině σ a rovina řezu ρ:

Je-li dána hranolová nebo jehlanová plocha s podstavou v rovině σ a rovina řezu ρ: Kapitola 1 Elementární plochy 1.1 Základní pojmy Elementární plochou budeme rozumět hranolovou, jehlanovou, válcovou, kuželovou a kulovou plochu. Pokud tyto plochy omezíme, popř. přidáme podstavy, můžeme

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

Úvod do mobilní robotiky AIL028

Ú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

Více

Dynamické datové struktury I.

Dynamické datové struktury I. Dynamické datové struktury I. Seznam. Fronta. Zásobník. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

5. P L A N I M E T R I E

5. P L A N I M E T R I E 5. P L A N I M E T R I E 5.1 Z Á K L A D N Í P L A N I M E T R I C K É P O J M Y Bod (definice, značení, znázornění) Přímka (definice, značení, znázornění) Polopřímka (definice, značení, znázornění, počáteční

Více

- shodnost trojúhelníků. Věta SSS: Věta SUS: Věta USU:

- shodnost trojúhelníků. Věta SSS: Věta SUS: Věta USU: 1/12 PLANIMETRIE Základní pojmy: Shodnost, podobnost trojúhelníků Středová souměrnost, osová souměrnost, posunutí, otočení shodná zobrazení Středový a obvodový úhel Obsahy a obvody rovinných obrazců 1.

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í 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 VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Na bájný zikkurat tvaru komolého kolmého jehlanu s větší podstavou u země vede

Více

Shodná zobrazení. bodu B ležet na na zobrazené množině b. Proto otočíme kružnici b kolem

Shodná zobrazení. bodu B ležet na na zobrazené množině b. Proto otočíme kružnici b kolem Shodná zobrazení Otočení Příklad 1. Jsou dány tři různé soustředné kružnice a, b a c. Sestrojte rovnostranný trojúhelník ABC tak, aby A ležel na a, B ležel na b a C ležel na c. Řešení. Zvolíme vrchol A

Více

autorovu srdci... Petr Hliněný, FI MU Brno 1 FI: MA010: Průnikové grafy

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

Více

Výpočet průsečíků paprsku se scénou

Výpočet průsečíků paprsku se scénou Výpočet průsečíků paprsku se scénou 1996-2018 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Intersection 2018 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 26 Průsečík

Více

Algoritmy používané ve výpočetní geometrii

Algoritmy používané ve výpočetní geometrii Algoritmy používané ve výpočetní geometrii Hrubá síla. Inkrementální metoda. Zametací přímka. Heuristiky. Rozděl a panuj. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie.

Více

f(x) = arccotg x 2 x lim f(x). Určete všechny asymptoty grafu x 2 2 =

f(x) = arccotg x 2 x lim f(x). Určete všechny asymptoty grafu x 2 2 = Řešení vzorové písemky z předmětu MAR Poznámky: Řešení úloh ze vzorové písemky jsou formulována dosti podrobně podobným způsobem jako u řešených příkladů ve skriptech U zkoušky lze jednotlivé kroky postupu

Více

3 Geometrie ve škole. krychle a její obrázek, koule a její stín, průměty trojrozměrného útvaru do roviny

3 Geometrie ve škole. krychle a její obrázek, koule a její stín, průměty trojrozměrného útvaru do roviny 3 Geometrie ve škole Geometrie by měla být od samého začátku orientována na poznávání prostoru, v němž žák žije, a na rozvíjení představivosti. Základem zde mohou být zkušenosti s dělením prostoru, s vyplňováním

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

3.4.2 Rovnováha Rovnováha u centrální rovinné silové soustavy nastává v případě, že výsledná síla nahrazující soustavu je rovna nule. Tedy. Obr.17.

3.4.2 Rovnováha Rovnováha u centrální rovinné silové soustavy nastává v případě, že výsledná síla nahrazující soustavu je rovna nule. Tedy. Obr.17. Obr.17. F F 1x = F.cos α1,..., Fnx = F. cos 1y = F.sin α1,..., Fny = F. sin α α n n. Původní soustava je nyní nahrazena děma soustavami sil ve směru osy x a ve směru osy y. Tutu soustavu nahradíme dvěma

Více

Detekce kartografického zobrazení z množiny

Detekce kartografického zobrazení z množiny Detekce kartografického zobrazení z množiny bodů Tomáš Bayer Katedra aplikované geoinformatiky Albertov 6, Praha 2 bayertom@natur.cuni.cz Abstrakt. Detekce kartografického zobrazení z množiny bodů o známých

Více

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY DUBNA 2017

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY DUBNA 2017 NÁRODNÍ SROVNÁVACÍ ZKOUŠKY Matematika T DUBNA 07 : 9. dubna 07 D : 830 P P P : 30 M. M. : 30 : 8,8 M. :, % S : -7,5 M. P : -,5 :,4 Zopakujte si základní informace ke zkoušce: n Test obsahuje 30 úloh a

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

Mechanika II.A Třetí domácí úkol

Mechanika II.A Třetí domácí úkol Mechanika II.A Třetí domácí úkol (Zadání je částečně ze sbírky: Lederer P., Stejskal S., Březina J., Prokýšek R.: Sbírka příkladů z kinematiky. Skripta, vydavatelství ČVUT, 2003.) Vážené studentky a vážení

Více

3.2. ANALYTICKÁ GEOMETRIE ROVINY

3.2. ANALYTICKÁ GEOMETRIE ROVINY 3.2. ANALYTICKÁ GEOMETRIE ROVINY V této kapitole se dozvíte: jak popsat rovinu v třídimenzionálním prostoru; jak analyzovat vzájemnou polohu bodu a roviny včetně jejich vzdálenosti; jak analyzovat vzájemnou

Více

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y].

Odvození středové rovnice kružnice se středem S [m; n] a o poloměru r. Bod X ležící na kružnici má souřadnice [x; y]. Konzultace č. 6: Rovnice kružnice, poloha přímky a kružnice Literatura: Matematika pro gymnázia: Analytická geometrie, kap. 5.1 a 5. Sbírka úloh z matematiky pro SOŠ a studijní obory SOU. část, kap. 6.1

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

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

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u.

Poznámka. V některých literaturách se pro označení vektoru také používá symbolu u. Vektory, operace s vektory Ž3 Orientovaná úsečka Mějme dvojici bodů, (na přímce, v rovině nebo prostoru), které spojíme a vznikne tak úsečka. Pokud budeme rozlišovat, zda je spojíme od k nebo od k, říkáme,

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

od zadaného bodu, vzdálenost. Bod je střed, je poloměr kružnice. Délka spojnice dvou bodů kružnice, která prochází středem

od zadaného bodu, vzdálenost. Bod je střed, je poloměr kružnice. Délka spojnice dvou bodů kružnice, která prochází středem Kružnice Kružnice je množina všech bodů roviny, které mají od zadaného bodu, vzdálenost. Bod je střed, je poloměr kružnice. Délka spojnice dvou bodů kružnice, která prochází středem je průměr kružnice.

Více

6.1 Vektorový prostor

6.1 Vektorový prostor 6 Vektorový prostor, vektory Lineární závislost vektorů 6.1 Vektorový prostor Nechť je dán soubor nějakých prvků, v němž je dána jistá struktura vztahů mezi jednotlivými prvky nebo v němž jsou předepsána

Více

Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly.

Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly. Kinematika rektifikace oblouku (Sobotkova a Kochaňského), prostá cykloida, prostá epicykloida, úpatnice paraboly. Výpočty trajektorií bodů při složených pohybech. Příklad 1: Je dána kružnice k s poloměrem

Více