Konvexní obálka množiny bodů.

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

Download "Konvexní obálka množiny bodů."

Transkript

1 Konvexní obálka množiny bodů. Graham Scan. Jarvis Scan. Quick Hull. Inkrementální metoda. Divide and Conquer. Rotating Calipers. Tomáš Bayer Katedra aplikované geoinformatiky a kartografie. Přírodovědecká fakulta UK. 1 / 56

2 Obsah přednášky 1 Úvod do problému 2 Formulace problému 3 Metody konstrukce konvexní obálky 4 Minimum Area Enclosing Rectangle 5 Detekce hlavních směrů budov 2 / 56

3 Úvod do problému 1. Detekce obrysu budovy z klasifikovaných dat Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Konvexní geoinformatiky obálkaamnožiny kartografie. bodpr írodov u. e decká fakulta UK.) 3 / 56

4 2. Formulace problému Formulace problému Dáno: Hledáme: Množina n bodů S = {p 1,, p 2,..., p n} v R 2, kde p i = [x i, y i]. Nejmenší konvexní množinu C, p i C. (Convex Hull Problem) Definice 1: Konvexní obálka množiny H konečné množiny S v E 2 představuje nejmenší konvexní mnohoúhelník P obsahující S (tj. neexistuje P P splňující definici). Definice 2: Konvexní obálka H množiny konečné množiny S představuje konvexní mnohoúhelník P s nejmenší plochou. Definice 3: Konvexní obálka H množiny konečné množiny S představuje průsečnici všech polorovin obsahujících S. Definice 4: Konvexní obálka H množiny konečné množiny S představuje sjednocení všech trojúhelníků, jejichž vrcholy tvoří body v S. Množinu S označíme jako konvexní, pokud spojnice libovolných dvou prvků leží zcela uvnitř této množiny. 4 / 56

5 Formulace problému 3. Ukázka konvexní obálky H množiny S 5 / 56

6 Formulace problému 4. Využití konvexní obálky Jedna z nejpoužívanějších geometrických struktur, pomocná struktura pro řadu algoritmů. Často používána jako první odhad tvaru prostorového jevu Příklady použití: Detekce kolizí: plánování pohybu robotů. Konstrukce MBR: využití v kartografii pro detekci tvaru a natočení budov. Analýza tvarů (Shape Analysis): analýza tvarů objektů. Statistická analýza: analýza rozptylů, odhady, např. metoda Onion Peeling. Analýza shluků (Cluster Analysis): vlastnosti clusterovaných dat. Poznámka: Konvexní obálka H existuje v R d., budeme se zabývat pouze R 2. variantou. 6 / 56

7 Formulace problému 5. Odhad centroidu metodou Onion Peeling 7 / 56

8 Metody konstrukce konvexní obálky 6. Metody konstrukce konvexní obálky Přehled nejčastěji používaných metod pro konstrukci konvexní obálky: Jarvis Scan (Gift Wrapping). Graham Scan. Quick Hull. Inkrementální kontrukce. Zametací přímka. Divide and Conquer. Některé z metod použitelné pouze pro R 2, jiné převeditelné do vyšší dimenze. 8 / 56

9 Metody konstrukce konvexní obálky 7. Jarvis Scan (Jarvis, 1973) Připomíná postup balení dárku do papíru (Gift Wrapping Algorithm). Jednoduchá implementace, lze rozšířit i do R 3. Předpoklad: v S nejsou tři kolineární body. Nutnost předzpracování O(n): nalezení pivotu q q = min (y i ). p i S Princip algoritmu: Dva poslední body H označenyp j 1, p j. Aktuálně přidávaný bod p j+1 do H maximalizuje úhel p j+1 = arg max (p j 1, p j, p i ). p i S Bod p j+1 hledáme ze všech p i S, které dosud nejsou součástí H. Lze je značkovat. 9 / 56

10 Metody konstrukce konvexní obálky 8. Algoritmus Jarvis Scan Nevýhodou složitost O(n 2 ), nehodí se pro velké S. Snadná implementace. Algoritmus 1: Gift Wrapping (P, H) 1: Nalezení pivota q, q = min(y i ), 2: Přidej q H. 3: Inicializuj: p j 1 X, p j = q, p j+1 = p j 1. 4: Opakuj, dokud p j+1 q: 5: Nalezni p j+1 = arg max pi P (p j 1, p j, p i ) 6: Přidej p j+1 H. 7: p j 1 = p j ; p j = p j / 56

11 Metody konstrukce konvexní obálky 9. Ukázka Jarvis Scan p j+1 p j+1 ω j p j p x q=p j p j-1 j-1 x p j+1 ω j p j ω j p j p j+1 ω j pj-1 p j-1 x x 11 / 56

12 10. Graham Scan Metody konstrukce konvexní obálky Algoritmus není možné rošířit do R 3 (Graham 1972). Časová složitost O(n log(n)), lze použít i na rozsáhlé datasety. Převod star-shaped polygonu na H. Princip: Konstrukce star-shaped polygonu z pivotu q. Tvořen vrcholy setříděnými dle úhlu ω = (p i, q, x). Body ve star-shaped polygonu: index j. Kritérium levotočivosti: p j { / H, p j+1 σ r(p j, p j+1),? H, p j+1 σ l(p j, p j+1). Implementace: Prvky v zásobníku S: t (top), t 1 (second). Reflexní vrchol p t odebrán z S, konvexní p j přidán { pop(), p j σ r(p t 1, p t), S push(p j), p j σ l(p t 1, p t). 12 / 56

13 Metody konstrukce konvexní obálky 11. Ilustrace kritéria levotočivosti 13 / 56

14 Metody konstrukce konvexní obálky 12. Algoritmus Grahamova skenování Přezpracování O(n): pivot q q = min (y i ). p i S Přezpracování O(n log(n)): setřídění datasetu S podle úhlu k ose x v q. Algoritmus 2: Graham Scan (P, S) 1: Nalezení pivota q = min pi S(y i ), q H. 2: Setřídění p i S dle ω i = (p i, q, x), index j odpovídá setříděnému pořadí. 3: Pokud ω k = ω l, vymaž bod p k, p l bližší ke q. 4: Inicializuj j = 2; S = 5: S q, S p 1 (indexy posledních dvou prvků p t, p t 1 ) 5: Opakuj pro j < n: 6: if p j vlevo od p t 1, p t : 7: S p j 8: j = j + 1 9: else pop S. 14 / 56

15 Metody konstrukce konvexní obálky 13. Ukázka konstrukce Graham Scan 15 / 56

16 Metody konstrukce konvexní obálky 14. Ukázka konstrukce Graham Scan 16 / 56

17 Metody konstrukce konvexní obálky 15. Algoritmus Quick Hull Rychlý, Θ(n lg n), analogie s QuickSortem. Strategie Divide and Conquer, worst case O(n 2 ). Obálka expanduje všemi směry. Princip algoritmu: Předzpracování: setřídění bodů dle x, O(n lg n). Rozdělení S na S U(upper) a S L (lower) vzhledem k (q 1, q 3) q 1 = min (x i), q 3 = max(x i). p i S p i S H konstruována ze 2 částí: Upper Hull (H U), Lower Hull (H L). H U nad S U, H L nad S L. H U, H L zpracovávány separátně, výsledkem sjednocení H(S) = H u(s u) H l(s l). Důvod rychlosti: Většinou málo rekurzivních kroků, málo bodů vně aproximace H U, H L. Pokud S H worst case. 17 / 56

18 Metody konstrukce konvexní obálky 16. Rozdělení na S U, S L q 4 S U σ U q 3 σ ul q 1 S L q 2 18 / 56

19 Metody konstrukce konvexní obálky 17. Algoritmus Quick Hull, lokální procedura Nalezení bodu p s indexem ī p = arg max p i (p s, p e) 2, p σ r(p s, p e). p i S Vytvoření nových segmentů (p s, p) a (p, p e). Rekurzivní volání nad prvním segmentem (p s, p). Přidání H p. Rekurzivní volání nad druhým segmentem (p, p e). V lokální proceduře předávány pouze indexy s, e koncových bodů segmentu. Index i odpovídá bodu p. Algoritmus 3: Quick Hull (s, e, S, H), lokální procedura 1: Najdi bod p = arg max pi S p i (p s, p e), p σ r(p s, p e). 2: If p /O ; //Eexistuje bod vpravo od hrany. 3: Quick Hull(s, i, S, H) //Upper Hull, i index p 4: H p. //Přidej bod c do H. 5: Quick Hull(i, e, S, H) //Lower Hull, i index p 19 / 56

20 Metody konstrukce konvexní obálky 18. Lokální procedura S U i i e i S U σ U s S U σ U s S U σ U s e e i e i s i s S U σ U S U σ U S U U σ U s e e 20 / 56

21 Metody konstrukce konvexní obálky 19. Lokální procedura S L e e s σ ul s σ ul S L i S L i s σ ul s σ ul L S L i e S L i e 21 / 56

22 20. Algoritmus Quick Hull, globální procedura Nalezení q 1, q 2,nutné předzpracování. Rozdělení S na: S U S(upper) a S L S (lower) vzhledem k (q 1, q 2 ). Přidání H U q 1, q 3, rekurzivní procedura nad S U. Přidání H L q 3, q q, rekurzivní procedura nad S L. Při CCW orientaci vede ke konstrukci H bez nutnosti spojení. Algoritmus 3: Quick Hull (S, H), globální procedura 1: H =, S U =, S L = 2: q 1 = min pi S(x i ), q 3 = max pi S(x i ). 3: S U q 1, S U q 3. 4: S L q 1, S L q 3. 5: for p i S 6: if (p i σ l (q 1, q 3 )) S U p i 7: else S L p i 8: H q 3. //Přidej bod c do H. 9: Quick Hull(1, 0, S U, H) //Upper Hull 10: H q 1. //Přidej bod c do H. 11: Quick Hull(0, 1, S L, H) //Lower Hull

23 21. Spojení do H Metody konstrukce konvexní obálky Vhodné načasováním rekurzivních operací zajistí spojení H U a H L. 1. Přidání q 3. 2) Rekurze H U. 3) přidání q 1. Rekurze H L. 2. U 1. σ u 3. L / 56

24 Metody konstrukce konvexní obálky 22. Doba běhu QHull algoritmu Časová funkce T (n) v závislosti na velikosti vstupu n: T (1) = 1 T (n) = T (n/2) + T (n/2) + n, = 2T (n/2) + n, = 2[2T (n/4) + n] + n, = 4T (n/4) + 3n, = 2{2[2T (n/8) + k] + k} + k, = 8T (n/8) + 7n, = it (n/i) + (i 1)n... = nt (1) + (n 1)n, = n + (n 1)n, = n 2 Doba běhu kvadratickou funkcí velikostí vstupu, O(n 2 ). 24 / 56

25 Metody konstrukce konvexní obálky 23. Aproximací body MBR První aproximace H představuje konvexní čtyřúhelník q 1, q 2, q 3, q 4. H zpracováván postupně po jednotlivých segmentech. Algoritmus využívá čtveřici rekurzivních volání procedury QuickHull nad každou stranou (q i q i+1 ) urychlení. q 1 = [min(x i ), y];q 2 = [x, min(y i )];q 3 = [max(x i ), y];q 4 = [x, max(y i )]; Split S to S 1, S 2, S 3, S 4 ; H q 1 QuickHull(0, 1, S 1, H); H q 2 QuickHull(0, 1, S 2, H); H q 3 QuickHull(0, 1, S 3, H); H q 4 QuickHull(0, 1, S 4, H); 25 / 56

26 Metody konstrukce konvexní obálky 24. Konstrukce Quick Hull s aproximací body MBR 26 / 56

27 Metody konstrukce konvexní obálky 25. Inkrementální vkládání Rychlá konstrukce, složitost O(n log(n)). Lze převést do vyšší dimenze. Princip algoritmu: Body z S přidávány po jednom do vytvořené konvexní obálky H, jejíž tvar je modifikován. Necht P představuje podmnožinu datasetu S obsahující m bodů a p přidávaný bod H(P(m + 1)) = H(P(m)) + H(p), Při přidání bodu p do H m mohou nastat dvě situace: p H m Bod p může být zanedbán, neovlivní tvar H(P(m)) H(P(m + 1)) = H(P(m)). p / H m Bod p ovlivní tvar H m. Nutno najít horní a dolní tečny t 1, t 2 procházející p kolmé k H m. 27 / 56

28 Metody konstrukce konvexní obálky 26. Ukázka nalezení horní a dolní tečny 28 / 56

29 Metody konstrukce konvexní obálky 27. Princip nalezení horní a dolní tečny t 1, t 2 V každém bodě H(m) lestujeme polohu incidujících dvou stran e j, e j+1 vzhledem k přidávanému bodu p. V bodech dotyku tečen platí: Dolní tečna t 1: Bod p vlevo od e j a vpravo od e j+1. Horní tečna t 2: Bod p vpravo od e j a vlevo od e j+1. Pro ostatní vrcholy p i leží bod p na stejné straně od e j, e j+1. Konvexní obálka mezi dotykovými body tečen odstraněna a nahrazena dvojicí tečen. Algoritmus 4: Upper and Lower Tangent 1: for i = 0 to n 1 2: if XOR(p vlevo od/na p i 1p i, p vlevo od/na p ip i+1) 3: p i je dotykový bod. Poznámka: XOR(A, B) = (A B) (B A). 29 / 56

30 28. Metoda zametací přímky Realizace strategie inkrementální konstrukce. Nadrovina rozděluje S na zpracovanou/nezpracovanou část. Složitost O(n log(n)), lze převést do vyšší dimenze. Citlivost vůči singularitám: duplicitní body v P. Princip algoritmu: Předzpracování: setřídění S dle souřadnice x, složitost O(n log(n)). Nad P S se pohybuje nadrovina σ (L->P) přes p i P s. Iniciální řešení tvořeno trojúhelníkem H(P s(3)) (p 1, p 2, p 3 ). Pro přidávaný bod p updatována H(P s(m)), expanduje v kladném směru x H(P s(m)) = H(P s(m 1) + H(p). Algoritmus 1: Sweep Line (P, H) 1: unique(p) //Odstraň duplicitní body 2: Sort P s = sort(p) by x 3: H(P s(3)) (p 1, p 2, p 3 ) //Iniciální řešení pro i 3 4: i 4. 5: Opakuj pro p i P s 6: H(P s(m)) = H(P s(m 1) + H(p i ) //Aktualizace řešení

31 29. Sweep-line, konvexní obálka

32 30. Datový model Metody konstrukce konvexní obálky Použity celkem 3 seznamy, popis H formou circular listu. První seznam obsahuje všechny vrcholy P s Dva pomocné seznamy: předchůdci p[i] a následníci n[i]. Vrchol bez předchůdce: p[i] = -1. Vrchol bez následníka: n[i] = -1. Pokud p i H, pak p[i] = -1, n[i] = -1 Příklady: p[i]... n[i]... p edch dce i-tého vrcholu, (i-1)-ty vrchol. následník i-tého vrcholu, (i+1)-ty vrchol. p[p[i]]... p edch dce p edch dce, (i-2)-ty vrchol. n[n[i]]... následník následníka, (i+2)-ty vrchol. n[p[i]]... následník p edch dce, i-ty vrchol. p[n[i]]... p edch dce následníka, i-ty vrchol. 32 / 56

33 31. Ukázka reprezentace H [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] p: S: x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... x=... y=... n:

34 32. Iniciální fáze První hrana tvořená body p 1, p 2, kde x 0 = min pi P s (x i ). Třetí bod p 3 v levé nebo pravé polorovině, nutno zachovat CCW orientaci σ L σ L 1 1 σ R 1 1 σ R Algoritmus 1: Initial phase(p, H) 1: if (p 3 σ L (p 1, p 2 )) // (p 1, p 2, p 3 ) 2: n[1] = 2; n[2] = 3; n[3] = 1 3: p[1] = 3; p[2] = 1; p[3] = 2 4: else // (p 1, p 3, p 2 ) 5: n[1] = 3; n[3] = 2; n[2] = 1 6: p[1] = 2; p[3] = 1; p[2] = 3 Alternativně lze vytvořit dvojúhelník : 1: n[1] = 2; n[2] = 1 2: p[1] = 2; p[2] = 1

35 33. Iterativní fáze I. Vytvoření aproximace H se zachovanou CCW orientací. H nemusí být konvexní, převod na H. Rozpojení H mezi body {i 1, n[i 1]} resp. {p[i 1], i 1}. Náhrada sekvence vrcholů: { {p[i 1], i 1, i, n[i 1]}, {p[i 1], i 1, n[i 1]} {p[i 1], i, i 1, n[i 1]}, y > y i 1, y y i 1. Algoritmus 1: Iterativní fáze I., konstrukce H 1: if (y i > y i 1) //p i σ U 2: p[i] = i-1; n[i] = n[i-1]; // Spojeni p[i] s predchudcem/naslednikem 3: else //p i σ L 4: n[i] = i-1; p[i] = p[i-1]; // Spojeni p[i] s predchudcem/naslednikem 4: n[p[i]] = i; //Propojeni predchudce s p[i] 4: p[n[i]] = i; //Propojeni naslednika s p[i] Oboustranné korektní napojení segmentů v H: {p[p[i]], p[i], i, n[i], n[n[i]]}

36 34. Iterativní fáze I, ukázka. n[i-1] i-1 i σ U n[i-1] i σ U i-1 p[i-1] σ L p[i-1] σ L n[i-1] n[i-1] i-1 σ U i-1 σ U 3 6 p[i-1] i σ L p[i-1] i σ L

37 35. Iterativní fáze I, indexy. n[i-1] i-1 i n[n[i]] n[i] i p[i] p[i-1] p[p[i]]

38 Metody konstrukce konvexní obálky 36. Iterativní fáze II. Převod nekonvexní H na H. Náhrada sekvence nekonvexních vrcholů horní a dolní tečnou. Nekonvexní vrcholy vynechány. Horní tečna: Nekonvexita n[i] v trojici {i, n[i], n[n[i]]} řešena vynecháním: Přemostění vrcholu možnou horní tečnou. {i, n[i], n[n[i]]} {i, n[n[i]]}. Dolní tečna: Nekonvexita p[i] v trojici {p[p[i]], p[i], i} řešena vynecháním: Přemostění vrcholu možnou dolní tečnou. Algoritmus 1: Iterativní fáze II., převod H na H {p[p[i]], p[i], i} {p[p[i]], i}. 1: while (n[n[i]]) σ P (i, n[i]) //Neni horni tecna: n[n[i]]) vpravo od (i, n[i]) 2: p[n[n[i]]] = i; n[i] = n[n[i]]; //Vynech n[i], aproximuj horni tecnou, poradi! 3: while (p[p[i]]) σ L (i, p[i]) //Neni dolni tecna: p[p[i]]) vlevo od (i, p[i]) 4: n[p[p[i]]] = i; p[i] = p[p[i]]; //Vynech p[i], aproximuj dolni tecnou, poradi! 38 / 56

39 37. Iterativní fáze II., ukázka n[n[i]] n[i] i σ R n[n[i]] n[i] t u i σ L p[i] p[i] p[p[i]] p[p[i]] n[n[i]] n[i] i σ R n[n[i]] n[i] i σ L p[i] p[p[i]] t l p[p[i]] p[i]

40 38. Algoritmus Sweep Line, kompletní Algoritmus 1: Sweep Line 1: Sort P s = sort(p) by x 2: if (p 3 σ L (p 1, p 2 )) 3: n[1] = 2; n[2] = 3; n[3] = 1 4: p[1] = 3; p[2] = 1; p[3] = 2 5: else 6: n[1] = 3; n[3] = 2; n[2] = 1 7: p[1] = 2; p[3] = 1; p[2] = 3 8: for p i P s, i > 3 9: if (y i > y i 1 ) 10: p[i] = i-1; n[i] = n[i-1]; 11: else 12: n[i] = i-1; p[i] = p[i-1]; 13: n[p[i]] = i; p[n[i]] = i; 14: while (n[n[i]]) σ R (i, n[i]) 15: p[n[n[i]]] = i; n[i] = n[n[i]]; //Poradi! 16: while (p[p[i]]) σ L (i, p[i]) 17: n[p[p[i]]] = i; p[i] = p[p[i]]; //Poradi!

41 39. Konverze reprezentrace Přechod na reprezentaci H tvořenou posloupností vrcholů. Uchování CCW orientace, procházíme následníky. Zapamatován index prvního vrcholu polygonu. Složitost O(n). Algoritmus 1: Sweep Line: konverze reprezentace 1: H p 1 2: i =n[1]) 3: do 4: H p i 5: i =n[i] 6: while (i 1)

42 Metody konstrukce konvexní obálky 40. Algoritmus Divide and Conquer Předpoklad: žádná trojice bodů není kolineární a žádné dva body v datasetu nemají stejné souřadnice x. Dělení S na dvě podmnožiny A, B a jejich následné spojení s nalezením horní a dolní tečny t 1, t 2. Algoritmus 5: Divide and Conquer. 1: Setřídění S podle x. 2: Rozdělení S na dvě podmnožiny A, B obsahující n/2 bodů. 3: Konstrukce konvexních obálek H(A) a H(B). 4: Spojení konvexních obálek H = H(A) H(B). 5: Nalezení dolní tečny t 1. 6: Nalezení horní tečny t 2. 7: Nahrazení úseků konvexních obálek A, B mezi oběma tečnami. 42 / 56

43 Metody konstrukce konvexní obálky 41. Algoritmus nalezení dolní tečny t 1 Existence řady algoritmů pro spojení dvojice konvexních obálek. Ukázka spojení nalezení dolní tečny t 1 procházkou, Walking Algorithm (Preprata & Hong, 1977). Z extrémních bodů a, b množin A, B nalezneme k bodu a bod b takový, že jejich spojnice je dolní tečnou B. Z bodu b hledáme bod a takový, aby jejich spojnice byla dolní tečnou A. Postup opakujeme, dokud a, b není dolní tečnou A i B. Algoritmus 6: Lower Tangent t 1, Walk 1: Najdi bod a: nejpravější bod A. 2: Najdi bod b: nejpravější bod B. 3: Opakuj, dokud t 1 = ab není dolní tečnou A a B. 4: Opakuj, dokud t 1 není dolní tečnou A: 5: a = a 1. 6: Opakuj, dokud t 1 není dolní tečnou B: 7: b = b / 56

44 Metody konstrukce konvexní obálky 42. Princip nalezení dolní tečny 44 / 56

45 Minimum Area Enclosing Rectangle 43. Využití konvexní obálky pro konstrukci obdélníka s minimální plochou Dáno: Množina n bodů S v R 2. Hledáme: Obdélník R s nejmenší plochou opsaný S. (Minimum Area Enclosing Box) Naivní algoritmy problém řeší v kvadratickém čase O(n 2 ). Definice: Nejméně jedna strana obdélníka s minimální plochou R opsaného množině S je kolineární se stranou H. Algoritmy pro konstrukci obdélníka s minimální plochou R opsaného množině S pracují s konvexní obálkou H předzpracování. Složitost konstrukce konvexní obálky H : O(n log(n)). Složitost konstrukce obdélníku R nad H: pouze O(n)! Algoritmus řeší problém v čase O(n log(n)). Využití v kartografii pro detekci tvaru a natočení budov. 45 / 56

46 Minimum Area Enclosing Rectangle 44. Ukázka obdélníku s minimální plochou opsaného množině S 46 / 56

47 Minimum Area Enclosing Rectangle 45. Rotating Calipers Algoritmus Rotating Calipers pro nalezení R nad datasetem S v lineárním čase (Toussaint, 1983). V prvním kroku nalezen MBR, který se dotýká H v bodech s extrémními souřadnicemi p i, p j, p k, p l. Úhly stran příslušející 4 extrémním bodům sevřené se stranami MBTR označme θ i, θ j, θ k, θ l. 47 / 56

48 Minimum Area Enclosing Rectangle 46. Princip metody Rotating Calipers Pro délky hran l 1, l 2 MBR a plochu A platí: l 1 = d ik cos ϕ k l 2 = d jl cos ϕ j A = l 1 l 2 Otočení obdélníku o úhel ±δ, nové délky hran l 1, l 2 a plocha A l 1 = d ik cos(ϕ k ± δ) l 2 = d jl cos(ϕ j ± δ) A = l 1 l 2. Rotace dle ±δ lze sčítat, jak určit plochu obdélníku po i-tém otočení z plochy předchozího? Pro vztah mezi A i+1 a A i platí po úpravě: A i+1 = A i (cos 2 δ + (tan ϕ k tan ϕ j ) cos δ sin δ tan ϕ k tan ϕ j sin 2 δ) 48 / 56

49 Minimum Area Enclosing Rectangle 47. Algoritmus metody Rotating Calipers Algoritmus 7: Rotating Calipers 1: Inicializuj A min =, rot = 0, θ sum = 0. 2: Nalezení MBR nad S. 3: Výpočet úhlů ϕ j, ϕ k a plochy A(R). 4: A min = A. 5: Opakuj, dokud θ sum < π 4 : 6: Výpočet úhlů θ i, θ j, θ k, θ l a stran l 1, l 2 7: θ = min(θ i, θ j, θ k, θ l ). 8: Otočení R o úhel θ 9: Určení A(R) z předchozí A. 10: if (A < A min ) 11: A min = A;rot = rot + θ; L 1 = l 1 ; L 2 = l 2. 12: θ sum = θ sum + θ. Možné problémy: numerická nepřesnost vlivem rekurentního výpočtu formule mezi A i+1, A i. 49 / 56

50 Minimum Area Enclosing Rectangle 48. Znázornění metody Rotating Calipers 50 / 56

51 Detekce hlavních směrů budov 49. Detekce úhlu natočení budovy Častý problém při kartografické generalizaci budov či jejich automatickém rozpoznávání. Budova před generalizací a po generalizaci musí mít uchovánu orientaci vzhledem k ostatním obsahovým prvkům mapy (např. zachování uliční čáry). Nutnost detekovat tzv. hlavní směry budovy (jsou na sebe kolmé). Popisují orientaci (tj. natočení) budovy vzhledem k ostatním prvkům mapy. Metody detekce natočení budov: Longest Edge. Weighted Bisektor Minimum Area Enclosing Rectangle. Wall Average. 51 / 56

52 Detekce hlavních směrů budov 50. Metody detekce hlavních směrů budov Longest Edge První hlavní směr budovy představován nejdelší stranou v budově, druhý hlavní směr na ní kolmý. Nedosahuje příliš dobrých výsledků Wieghted Bisector: V budově hledány dvě nejdelší úhlopříčky se směry ϕ 1, ϕ 2 a s délkami s 1, s 2. První hlavní směr je dán váženým průměrem. Dává velmi dobré výsledky. ϕ = s 1ϕ 1 + s 2 ϕ 2 s 1 + s 2. Minimum Area Enclosing Rectangle První hlavní směr představuje delší ze stran R, druhý kratší strana. Dává dobré výsledky, problémy s budovami tvaru L a Z. Wall Average Na každou stranu budovy aplikována operace mod( π 2 ). Zbytky po dělení leží v intervalu < 0, π ). Z hodnot 2 spočten vážený průměr, váhou je délka strany. ϕ = n i=1 s i (ϕ i mod π 2 ) s i. 52 / 56

53 Detekce hlavních směrů budov 51. Detekce hlavních směrů budovy Metody Longest Edge a Wall Average (Duchene et al, 2003). 53 / 56

54 Detekce hlavních směrů budov 52. Detekce hlavních směrů budovy Metody Smallest Area Enclosing Rectangle a Weigted Bisector (Duchene et al, 2003). 54 / 56

55 Detekce hlavních směrů budov 53. Problémy při detekci hlavních směrů Problémy s detekcí hlavních směrů u budov tvarů L, Z. 55 / 56

56 Detekce hlavních směrů budov 54. Vliv chybného určení hlavního směru na kartografickou generalizaci Algoritmus Divide and Conquer (Bayer, 2009). 56 / 56

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

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

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

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

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

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

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

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

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

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

Výpočetní geometrie Computational Geometry

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í

Více

Operace s uzavřenými oblastmi v GIS

Operace s uzavřenými oblastmi v GIS 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á

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

Kartografické generalizační algoritmy

Kartografické generalizační algoritmy Kartografické generalizační algoritmy Generace bodových prvků/skupin. Generalizace liniových prvků/skupin. Generalizace plošných prvků/skupin. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky

Více

Konvexní obal a množina

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

Více

PLANIMETRIE 2 mnohoúhelníky, kružnice a kruh

PLANIMETRIE 2 mnohoúhelníky, kružnice a kruh PLANIMETRIE 2 mnohoúhelníky, kružnice a kruh Lomená čára A 0 A 1 A 2 A 3..., A n (n 2) se skládá z úseček A 0 A 1, A 1 A 2, A 2 A 3,..., A n 1 A n, z nichž každé dvě sousední mají společný jeden krajní

Více

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál Jan Slovák Masarykova univerzita Fakulta informatiky 16. 9. 2008 Obsah přednášky 1 Literatura 2 Funkce a

Více

Třídící algoritmy. Insert Sort. Bubble Sort. Select Sort. Shell Sort. Quick Sort. Merge Sort. Heap Sort.

Třídící algoritmy. Insert Sort. Bubble Sort. Select Sort. Shell Sort. Quick Sort. Merge Sort. Heap Sort. Třídící algoritmy. Insert Sort. Bubble Sort. Select Sort. Shell Sort. Quick Sort. Merge Sort. Heap Sort. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká

Více

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Shluková analýza Cílem shlukové analýzy je nalézt v datech podmnožiny

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

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

A4B33ALG 2010/05 ALG 07. Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated. Quicksort.

A4B33ALG 2010/05 ALG 07. Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated. Quicksort. A4B33ALG 2010/05 ALG 07 Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated Quicksort Stabilita řazení 1 Selection sort Neseřazeno Seřazeno Start T O U B J R M A K D Z E min

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

Maturitní téma: Programovací jazyk JAVA

Maturitní téma: Programovací jazyk JAVA Maturitní téma: Programovací jazyk JAVA Insert Sort (třídění vkládáním) 1. Jako setříděnou část označíme první prvek pole. Jako nesetříděnou část označíme zbytek pole. 2. Vezmeme první (libovolný) prvek

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

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

4. Digitální model terénu.

4. Digitální model terénu. 4. Digitální model terénu. 154GEY2 Geodézie 2 4.1 Úvod - Digitální model terénu. 4.2 Tvorba digitálního modelu terénu. 4.3 Druhy DMT podle typu ploch. 4.4 Polyedrický model terénu (TIN model). 4.5 Rastrový

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

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Třídění, vyhledávání Daniela Szturcová

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

Omezíme se jen na lomené čáry, jejichž nesousední strany nemají společný bod. Jestliže A 0 = A n (pro n 2), nazývá se lomená čára uzavřená.

Omezíme se jen na lomené čáry, jejichž nesousední strany nemají společný bod. Jestliže A 0 = A n (pro n 2), nazývá se lomená čára uzavřená. MNOHOÚHELNÍKY Vlastnosti mnohoúhelníků Lomená čára C 0 C C C 3 C 4 protíná samu sebe. Lomená čára A 0 A A... A n- A n (n ) se skládá z úseček A 0 A, A A,..., A n- A n, z nichž každé dvě sousední mají společný

Více

Konvexní obálka v E 3 a dělení prostoru

Konvexní obálka v E 3 a dělení prostoru Konvexní obálka v E 3 a dělení prostoru Zuzana Majdišová 30.1.2015 Úvod Existující algoritmy: QuickHull O nh Divide and Conquer O n log n Inkrementální konstrukce O n log n Balení dárků O nh Hlavní myšlenka

Více

KMA/GPM Barycentrické souřadnice 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é

Více

Výpočetní geometrie. Pavel Strachota. 9. listopadu FJFI ČVUT v Praze

Výpočetní geometrie. Pavel Strachota. 9. listopadu FJFI ČVUT v Praze Výpočetní geometrie Pavel Strachota FJFI ČVUT v Praze 9. listopadu 2012 Obsah 1 Úvod 2 Jednoduché algoritmy výpočetní geometrie 3 Další problémy výpočetní geometrie Obsah 1 Úvod 2 Jednoduché algoritmy

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

Rekurze a rychlé třídění

Rekurze a rychlé třídění Rekurze a rychlé třídění Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 54 Rekurze Rychlé třídění 2 / 54 Rekurze Recursion Rekurze = odkaz na sama sebe, definice za pomoci sebe

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

Grafové algoritmy. Programovací techniky

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

Více

Přijímací zkouška na MFF UK v Praze

Přijímací zkouška na MFF UK v Praze Přijímací zkouška na MFF UK v Praze pro bakalářské studijní programy fyzika, informatika a matematika 2016, varianta A U každé z deseti úloh je nabízeno pět odpovědí: a, b, c, d, e. Vaším úkolem je u každé

Více

Rekurzivní algoritmy

Rekurzivní algoritmy Rekurzivní algoritmy 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) ZS

Více

Numerické metody a programování. Lekce 8

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

Více

IB111 Úvod do programování skrze Python

IB111 Úvod do programování skrze Python Vyhledávání, řazení, složitost IB111 Úvod do programování skrze Python 2012 Otrávené studny 8 studen, jedna z nich je otrávená laboratorní rozbor dokáže rozpoznat přítomnost jedu ve vodě je drahý (je časově

Více

NPRG030 Programování I, 2018/19 1 / :03:07

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í

Více

Grafové algoritmy. Programovací techniky

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

Více

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27 Bezkontextové jazyky 2/3 Bezkontextové jazyky 2 p.1/27 Transformace bezkontextových gramatik Bezkontextové jazyky 2 p.2/27 Ekvivalentní gramatiky Definice 6.1 Necht G 1 a G 2 jsou gramatiky libovolného

Více

MATEMATIKA III. π π π. Program - Dvojný integrál. 1. Vypočtěte dvojrozměrné integrály v obdélníku D: ( ), (, ): 0,1, 0,3, (2 4 ), (, ) : 1,3, 1,1,

MATEMATIKA III. π π π. Program - Dvojný integrál. 1. Vypočtěte dvojrozměrné integrály v obdélníku D: ( ), (, ): 0,1, 0,3, (2 4 ), (, ) : 1,3, 1,1, MATEMATIKA III Program - vojný integrál. Vpočtěte dvojrozměrné integrál v obdélníku : + dd = { < > < > } ( 3), (, ) : 0,, 0,, dd = { < > < > } ( 4 ), (, ) :,3,,, + dd = { < > < > } ( ), (, ):,0,,, + dd=

Více

1 Projekce a projektory

1 Projekce a projektory Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor

Více

Circular Harmonics. Tomáš Zámečník

Circular Harmonics. Tomáš Zámečník Circular Harmonics Tomáš Zámečník Úvod Circular Harmonics Reprezentace křivky, která je: podmonožinou RxR uzavřená funkcí úhlu na intervalu Dále budeme hovořit pouze o takovýchto křivkách/funkcích

Více

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n. 7 Konvexní množiny Motivace. Lineární programování (LP) řeší problém nalezení minima (resp. maxima) lineárního funkcionálu na jisté konvexní množině. Z bohaté škály úloh z této oblasti jmenujme alespoň

Více

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Náplň. v.0.03 16.02.2014. - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Náplň v.0.03 16.02.2014 - Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění Spojení dvou samostatně setříděných polí void Spoj(double apole1[], int adelka1, double

Více

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3 DobSort Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 V roce 1980 navrhl Dobosiewicz variantu (tzv. DobSort),

Více

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A

64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 1. Středy stran AC, BC označme postupně, N. Střed kružnice vepsané trojúhelníku KLC označme I. Úvodem poznamenejme, že body K, L

Více

Lineární algebra : Lineární (ne)závislost

Lineární algebra : Lineární (ne)závislost Lineární algebra : Lineární (ne)závislost (4. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních technologií

Více

Dynamické datové struktury II.

Dynamické datové struktury II. Dynamické datové struktury II. Stromy. Binární vyhledávací strom. DFS. BFS. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0

Matematika I (KX001) Užití derivace v geometrii, ve fyzice 3. října f (x 0 ) (x x 0) Je-li f (x 0 ) = 0, tečna: x = 3, normála: y = 0 Rovnice tečny a normály Geometrický význam derivace funkce f(x) v bodě x 0 : f (x 0 ) = k t k t je směrnice tečny v bodě [x 0, y 0 = f(x 0 )] Tečna je přímka t : y = k t x + q, tj y = f (x 0 ) x + q; pokud

Více

Úsečka spojující sousední vrcholy se nazývá strana, spojnice nesousedních vrcholů je úhlopříčka mnohoúhelníku.

Úsečka spojující sousední vrcholy se nazývá strana, spojnice nesousedních vrcholů je úhlopříčka mnohoúhelníku. Mnohoúhelníky Je dáno n různých bodů A 1, A 2,. A n, z nichž žádné tři neleží na přímce. Geometrický útvar tvořený lomenou čarou a částí roviny touto čarou ohraničenou nazýváme n-úhelníkem A 1 A 2. A n.

Více

Základní datové struktury III: Stromy, haldy

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í

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 Úvodní obrazovka Menu Návrat na hlavní stránku Obsah Výsledky Poznámky Záložky edunet Konec Matematika 2 (pro 9-12 let) LangMaster Obsah (střední část) výběr tématu - dvojklikem v seznamu témat (horní

Více

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha

Metamorfóza obrázků Josef Pelikán CGG MFF UK Praha Metamorfóza obrázků 1998-2011 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ Morphing 2011 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 21 Metamorfóza obrázků -

Více

AVDAT Mnohorozměrné metody, metody klasifikace

AVDAT Mnohorozměrné metody, metody klasifikace AVDAT Mnohorozměrné metody, metody klasifikace Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita Mnohorozměrné metody Regrese jedna náhodná veličina je vysvětlována pomocí jiných

Více

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

Více

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b.

x 2 = a 2 + tv 2 tedy (a 1, a 2 ) T + [(v 1, v 2 )] T A + V Příklad. U = R n neprázdná množina řešení soustavy Ax = b. 1. Afinní podprostory 1.1. Motivace. Uvažujme R 3. Jeho všechny vektorové podprostory jsou počátek, přímky a roviny procházející počátkem a celé R 3. Chceme-li v R 3 dělat geometrii potřebujeme i jiné

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Detekce kartografického zobrazení z množiny bodů

Detekce kartografického zobrazení z množiny bodů Detekce kartografického zobrazení z množiny bodů Tomáš Bayer Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta, Univerzita Karlova v Praze, Albertov 6, 120 78, Praha 2, Česká republika,

Více

Kybernetika a umělá inteligence, cvičení 10/11

Kybernetika a umělá inteligence, cvičení 10/11 Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu

Více

MATURITNÍ TÉMATA Z MATEMATIKY

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é

Více

Jana Dannhoferová Ústav informatiky, PEF MZLU

Jana Dannhoferová Ústav informatiky, PEF MZLU Počítačová grafika Křivky Jana Dannhoferová (jana.dannhoferova@mendelu.cz) Ústav informatiky, PEF MZLU Základní vlastnosti křivek křivka soustava parametrů nějaké rovnice, která je posléze generativně

Více

Úvod do mobilní robotiky AIL028

Úvod do mobilní robotiky AIL028 SLAM - souběžná lokalizace a mapování {md zw} at robotika.cz http://robotika.cz/guide/umor07/cs 10. ledna 2008 1 2 3 SLAM intro Obsah SLAM = Simultaneous Localization And Mapping problém typu slepice-vejce

Více

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f

Definice globální minimum (absolutní minimum) v bodě A D f, jestliže X D f Výklad Globální extrémy mají stejný význam jako u funkcí jedné proměnné. Hledáme je bud na celém definičním oboru dané funkce, nebo na předem zadané podmnožině definičního oboru. Definice 6..1. Řekneme,

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

Stromy, haldy, prioritní fronty

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

Lineární algebra : Metrická geometrie

Lineární algebra : Metrická geometrie Lineární algebra : Metrická geometrie (16. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 6. května 2014, 10:42 1 2 Úvod Zatím jsme se lineární geometrii věnovali v kapitole o lineárních

Více

Přijímací zkoušky z matematiky pro akademický rok 2018/19 NMgr. studium Učitelství matematiky ZŠ, SŠ

Přijímací zkoušky z matematiky pro akademický rok 2018/19 NMgr. studium Učitelství matematiky ZŠ, SŠ Přijímací zkoušky z matematiky pro akademický rok 8/9 NMgr studium Učitelství matematiky ZŠ, SŠ Datum zkoušky: Varianta Registrační číslo uchazeče: Příklad 3 4 5 Celkem Body Ke každému příkladu uved te

Více

Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené

Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené 2. 3. 2018 Matematika II, úroveň A ukázkový test č. 1 (2018) 1. a) Napište postačující podmínku pro diferencovatelnost funkce n-proměnných v otevřené mn. M E n. Zapište a načrtněte množinu D, ve které

Více

Gymnázium Jiřího Ortena, Kutná Hora

Gymnázium Jiřího Ortena, Kutná Hora Předmět: Náplň: Cvičení z matematiky geometrie (CZMg) Systematizace a prohloubení učiva matematiky Planimetrie, Stereometrie, Analytická geometrie, Kombinatorika, Pravděpodobnost a statistika Třída: 4.

Více

Kristýna Bémová. 13. prosince 2007

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é

Více

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel Matematická analýza IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel na množině R je definováno: velikost (absolutní hodnota), uspořádání, aritmetické operace; znázornění:

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

Různostranný (obecný) žádné dvě strany nejsou stějně dlouhé. Rovnoramenný dvě strany (ramena) jsou stejně dlouhé, třetí strana je základna

Různostranný (obecný) žádné dvě strany nejsou stějně dlouhé. Rovnoramenný dvě strany (ramena) jsou stejně dlouhé, třetí strana je základna 16. Trojúhelník, Mnohoúhelník, Kružnice (typy trojúhelníků a jejich vlastnosti, Pythagorova věta, Euklidovy věty, čtyřúhelníky druhy a jejich vlastnosti, kružnice obvodový a středový, úsekový úhel, vzájemná

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

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

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

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

Ú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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

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

Algoritmy výpočetní geometrie

Algoritmy výpočetní geometrie Algoritmy výpočetní geometrie prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

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

Každá kružnice má střed, označuje se S. Všechny body kružnice mají od středu S stejnou vzdálenost, říká se jí poloměr kružnice a označujeme ho r.

Každá kružnice má střed, označuje se S. Všechny body kružnice mají od středu S stejnou vzdálenost, říká se jí poloměr kružnice a označujeme ho r. Každá kružnice má střed, označuje se S. Všechny body kružnice mají od středu S stejnou vzdálenost, říká se jí poloměr kružnice a označujeme ho r. Kružnice k je množina všech bodů v rovině, které mají od

Více

Časová složitost / Time complexity

Časová složitost / Time complexity Časová složitost / Time complexity Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 24 Složitost algoritmů Algorithm complexity Časová a paměťová složitost Trvání výpočtu v závislosti

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

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

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41

Obsah přednášky. Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41 Obsah přednášky Analýza algoritmu Algoritmická složitost Návrhy algoritmů Urychlování algoritmů 1/41 Analýza algoritmu Proč vůbec dělat analýzu? pro většinu problémů existuje několik různých přístupů aby

Více

Syntetická geometrie I

Syntetická geometrie I Kruhová inverze Pedagogická fakulta 2018 www.karlin.mff.cuni.cz/~zamboj/ Sférická inverze Autoportrét v kulovém zrcadle M.C.Escher, 1935 Pozor! jen pro ilustraci, inverze a zrcadlení se značně liší Kruhová

Více

5 Rekurze a zásobník. Rekurzivní volání metody

5 Rekurze a zásobník. Rekurzivní volání metody 5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení

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

Syntetická geometrie I

Syntetická geometrie I Kružnice Pedagogická fakulta 2016 www.karlin.mff.cuni.cz/~zamboj/ & přímka Vzájemná poloha přímky a kružnice p 1 vnější přímka p 2 tečna s bodem dotyku T p 3 sečna X 1 X 2 tětiva Y 1 Y 2 průměr Y 1 S poloměr

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

Syntetická geometrie I

Syntetická geometrie I Kružnice Pedagogická fakulta 2018 www.karlin.mff.cuni.cz/~zamboj/ & přímka Vzájemná poloha přímky a kružnice p 1 vnější přímka p 2 tečna s bodem dotyku T p 3 sečna X 1 X 2 tětiva Y 1 Y 2 průměr Y 1 S poloměr

Více