Konvexní obálka množiny bodů.



Podobné dokumenty
Konvexní obálka množiny bodů.

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

Geometrické vyhledání.

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

Dynamické datové struktury III.

Geometrické vyhledávání

Dynamické datové struktury IV.

Topologická kostra. Medial Axis. Straight Skeleton.

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

Dynamické datové struktury I.

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

Konvexní obal a množina

Výpočetní geometrie Computational Geometry

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

Vzorce počítačové grafiky

Kartografické generalizační algoritmy

Detekce kartografického zobrazení z množiny

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

Syntetická geometrie II

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

Zákony hromadění chyb.

Algoritmizace prostorových úloh

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

Operace s uzavřenými oblastmi v GIS

Grafové algoritmy. Programovací techniky

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

Grafové algoritmy. Programovací techniky

Vlastnosti pravděpodobnosti, geometrická pravděpodobnost

Numerické metody a programování. Lekce 8

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

Dynamické programování

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

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

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

Algoritmy výpočetní geometrie

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

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

KMA/GPM Barycentrické souřadnice a

Maturitní téma: Programovací jazyk JAVA

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

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

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

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

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

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.

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

68. ročník Matematické olympiády 2018/2019

Algoritmizace prostorových úloh

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

Shodná zobrazení v rovině

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

Teorie sférické trigonometrie

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

Analytická geometrie ( lekce)

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

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

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

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

1 Analytická geometrie

Vzdálenost uzlů v neorientovaném grafu

4. Digitální model terénu.

6. ANALYTICKÁ GEOMETRIE

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

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

MATURITNÍ TÉMATA Z MATEMATIKY

1. jarní série Termín odeslání: 4. února 2019

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

Syntetická geometrie I

1 Projekce a projektory

ŘEŠENÉ PŘÍKLADY DESKRIPTIVNÍ GEOMETRIE. ONDŘEJ MACHŮ a kol.

10. Analytická geometrie kuželoseček 1 bod

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Úloha - rozpoznávání číslic

IB111 Úvod do programování skrze Python

Stromy, haldy, prioritní fronty

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.

Arnoldiho a Lanczosova metoda

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

Tělesa Geometrické těleso je prostorový omezený geometrický útvar. Jeho hranicí neboli povrchem je uzavřená plocha. Geometrická tělesa dělíme na

Úlohy krajského kola kategorie A

REGRESNÍ ANALÝZA V PROSTŘEDÍ MATLAB

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

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Základy matematické analýzy

Prohledávání do šířky = algoritmus vlny

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

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

AB = 3 CB B A = 3 (B C) C = 1 (4B A) C = 4; k ]

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

A STEJNOLEHLOST,, EUKLIDOVYE VĚTY 2.

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.

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

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

Ú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

Vícerozměrné statistické metody

Matematika I 12a Euklidovská geometrie

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

Křivky a plochy technické praxe

Transkript:

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. Přírodovědecká fakulta UK. 1 / 39

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

Ú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 / 39

Formulace problému 2. 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 / 39

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

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

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

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 Divide and Conquer Některé z metod použitelné pouze pro R 2, jiné převeditelné do vyšší dimenze. 8 / 39

7. Jarvis Scan Připomíná postup balení dárku do papíru (tzv. Gift Wrapping Algorithm), autorem Jarvis 1973. 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 y = min(y i ). Princip algoritmu: Necht p j 1, p j představují dva poslední body H a bod p j+1 aktuálně nalezený bod přidávaný do H. Bod p j+1 musí splňovat kritérium minimálního úhlu θ mezi stranou p j+1 p j a prodloužením strany p j 1 p j. Bod p j+1 hledáme ze všech p i, které dosud nejsou součástí H. 9 / 39

8. Algoritmus Jarvis Scan Nevýhodou složitost O(n 2 ), nehodí se pro velké S. Algoritmus 1: Gift Wrapping (S, H) 1: Nalezení pivota q, q = min(y i ), 2: Přidej q H. 3: Inicializuj: p j 1 =lib. bod ležící na ose x, p j = q, p i = p j 1. 4: Opakuj, dokud p i q: 5: Opakuj pro p i / H a body p j 1, p j : 6: Nalezni p i takové, že θ = min(θ i ); 7: Přidej p i H. 8: p j 1 = p j ; p j = p i. 10 / 39

9. Ukázka Jarvis Scan 11 / 39

10. Graham Scan Algoritmus není možné rošířit do R 3 (Graham 1972). Výrazně nižší časová složitost O(n log(n)), lze použít i na rozsáhlé datasety S. Princip: Každá uspořádaná trojice bodů p j 1, p j, p j+1 H musí splňovat kritérium levotočivosti. Pokud pro libovolnou trojici bodů p j 1, p j, p j+1 platí kritérium levotočivosti: Body zřejmě leží na H (avšak nemusí!). Pak testování následující trojice p j, p j+1, p j+2... neplatí kritérium levotočivosti: Odstraníme vrchol p j z H, tj. prostřední bod p j nemůže ležet na H. Pak testování trojice p j 2, p j 1, p j+1, tj. bod p j doplněn na trojici dvěma nejbližšími předchůdci p j 2, p j 1 H. Jako kritérium levotočivosti je používán Half Edge test. 12 / 39

11. Ilustrace kritéria levotočivosti 13 / 39

12. Algoritmus Grahamova skenování Přezpracování O(n): pivot q, nejpravější bod q y = min(y i ). Přezpracování O(n log(n)): setřídění datasetu S podle úhlu k ose x v bodě p. Algoritmus 2: Graham Scan (S, Q) 1: Nalezení pivota q, nejpravější bod q y = min(y i ), q H. 2: Setřídění všech bodů S úhlově dle q, index j odpovídá setříděnému pořadí. 3: Pokud dva body mají stejný úhel, vymaž bod bližší q. 4: Inicializuj j = 2; Stack Q. 5: push (q, p 1 ) Q, (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: push p t do Q. 8: j = j + 1. 9: else pop Q. 14 / 39

13. Ukázka konstrukce Graham Scan 15 / 39

14. Algoritmus Quick Hull Nazván QuickHull pro analogii s QuickSortem. Založen na přístupu Divide and Conquer, složitost O(n 2 ). Princip algoritmu: Konvexní obálka je konstruována ze dvou částí, z horní části nazývané Upper Hull a dolní části nazývané Lower Hull. Upper Hull je nad spojnicí dvou bodů q 1, q 3 MBR s extrémními souřadnicemi x, q 1 = min(x i), q 3 = max(x i), Lower Hull pod touto spojnicí q 1, q 3. Nad každou nalezenou stranou obálky a, b hledáme nejvzdálenější bod c ležící vpravo od této strany, který se stává novým bodem konvexní obálky každá nalezená strana se rozpadne na dvě nové. Obě části konvexní obálky zpracovávány separátně, výslednou konvexní obálku složíme z obou částí. Důvod rychlosti algoritmu (navzdory kvadratickému odhadu nejhoršího případu): při vytváření konvexní obálky se nesnažíme pracovat se všemi body vstupní množiny, ale pouze s body, které nacházejí blízko konvexní obálky. 16 / 39

15. Algoritmus Quick Hull Algoritmus využívá dvojici rekurzivních volání procedury QuicHull nad nově vzniklými stranami ac, cb z původní strany ab. Parametry: počáteční a koncový bod dělené strany a jí příslušející podmnožiny datasetu S, H. Nutnost předzpracování, nalezení MBR, rozdělení množiny. Algoritmus 3: Quick Hull (a, b S, H) 1: if (a + 1 b) S = Ø; return; //Hrana neobsahuje mezilehlé body 2: else: 3: Najdi bod c S, d(c, a, b) = max ležící vpravo od a, b 4: If c = /O return; //Neexistuje bod vpravo od hrany. 5: H c. //Přidej bod c do H. 6: Quick Hull(a, c, S, H) //Upper Hull 7: Quick Hull(c, b, S, H) //Lower Hull Volání: q 1 = [min(x i ), y] q 3 = [max(x i ), y] Split S to S1, S2; QuickHull(q 1, q 3, S1); //Upper Hull QuickHull(q 3, q 1, S2); //Lower Hull 17 / 39

16. Ukázka konstrukce Quick Hull 18 / 39

17. Implementace s 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í. Volání: 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 S1, S2, S3, S4; QuickHull(q 1, q 2, S 1, H); QuickHull(q 2, q 3, S 2, H); QuickHull(q 3, q 4, S 3, H); QuickHull(q 4, q 1, S 4, H); 19 / 39

18. Ukázka konstrukce Quick Hull s aproximací body MBR 20 / 39

19. Inkrementální konstrukce 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, pak H m+1 = H m 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 m+1. Test polohy p vzhledem k H m realizován prostřednictvím Half Edge testu. p / H m Bod p ovlivní tvar H m+1. Nutno najít horní a dolní tečny t 1, t 2 procházející p kolmé k H m. 21 / 39

20. Ukázka nalezení horní a dolní tečny 22 / 39

21. 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). 23 / 39

22. Konstrukce metodou Divide and Conquer Algoritmus se složitostí O(n log(n)). Lze snadno převést do vyšší dimenze. Jeho implementace je poněkud obtížnější. Princip algoritmu: Rozdělení problému nad množinou S na dvě podmnožiny S 1, S 2 stejné velikosti, které zpracovávány samostatně. Obě řešení poté spojena s využitím horní a dolní společné tečny t 1, t 2 množin S 1, S 2, spojení lze realizovat v lineárním čase O(n). Tyto podmnožiny mohou být opět děleny na další podmnožiny S i poloviční velikosti tak dlouho, dokud řešení problému není geometricky jednoduché konvexní obálka množiny tvořené třema body. Popis algoritmu bude ilustrován pro dvojici podmnožin A, B. 24 / 39

23. 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. 25 / 39

24. 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 + 1 26 / 39

25. Princip nalezení dolní tečny 27 / 39

Minimum Area Enclosing Rectangle 26. 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. 28 / 39

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

Minimum Area Enclosing Rectangle 28. 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. 30 / 39

Minimum Area Enclosing Rectangle 29. 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 δ) 31 / 39

Minimum Area Enclosing Rectangle 30. 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. 32 / 39

Minimum Area Enclosing Rectangle 31. Znázornění metody Rotating Calipers 33 / 39

Detekce hlavních směrů budov 32. 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. 34 / 39

Detekce hlavních směrů budov 33. 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. 35 / 39

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

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

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

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