270 likes | 453 Views
Et eller andet datalogi…. Voronoi Diagrammer. Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus Universitet. Datalogi, Studiestart 2014. Kasper. Gerth. Ph.d. Datalogi, Aarhus Universitet (2005-2013) Ansat ved Institut for Datalogi (2014-)
E N D
Et eller andet datalogi… Voronoi Diagrammer Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus Universitet Datalogi, Studiestart 2014
Kasper Gerth • Ph.d. Datalogi, Aarhus Universitet (2005-2013) • Ansat ved Institut for Datalogi (2014-) • Forskning og undervisning: Algoritmik PhD AU GymnasiumViborg AU 04 05 08 13 14 01 11 Gymnasium Aabenraa AU PhD PostDoc AU 88 89 93 95 96 97 98 83 85 Ph.d. Datalogi, Aarhus Universitet (1989-1997) Ansat ved Institut for Datalogi (1998-) Forskning og undervisning: Algoritmik
Algoritmik på Datalogi • Andre algoritmikkurser • Algoritmer i bioinformatik • Dynamiske algoritmer • Spilteori • Kompleksitetsteori • … Denne forelæsning Ph.d.
Punkter og Linier p3 irrational p1 Dist( ? overløb ≤ 242949672952 p2 Undgå kvadratrødder Vurder størrelsen af mellemresultater koordinater = heltal 0..4294967295
Punkter og Linier p3 tættest på p2 q2 = q1 + p1 -p2 = (a2,b2) P3 p3 til venstre for linien gennem q1 og q2 p1 (a1-x3)(b2-y3) - (b1-y3)(a2-x3) > 0 q1 = (p1 +p2)/2 = (a1,b1) Ikke heltal Gang alle koordinater med 2 for at ungå 1/2 p2 koordinater = heltal 0..4294967295
Punkter og Linier p1 p3 Linieskæringer har rationale koordinater Regn med brøkker Ikke heltal (x,y) p4 p2 (x1y2 - y1x2)(x3 - x4) - (x1 - x2)(x3y4 - y3x4) x= (x1 - x2)(y3 - y4) - (y1 - y2)(x3 - x4) (x1y2 - y1x2)(y3 - y4) - (y1 - y2)(x3y4 - y3x4) y = (x1 - x2)(y3 - y4) - (y1 - y2)(x3 - x4) koordinater = heltal 0..4294967295
l3 l5 l1 Voronoi Celle l4 l2 p4 p5 p3 p6 p2 p1
Voronoi Diagram Konvekse hylster Voronoi knuder centrum for cirkel med tre randpunkter Største tomme cirkel har centrum i en Voronoi knude ”Uendelige” Voronoi kanter kanter på det konvekse hylster
Descartes 1644 Dirichlet 1850, Voronoi 1908, Boldyrev 1909, …
Hvilken Triangulering ? p2 p5 spidse vinkler p6 p8 p7 p4 P9 p1 p3
Delauney Triangulering Delauney triangulering Dual Delauney trianguleringer maximerer mindste vinkel Voronoi diagram
InkrementelKonstruktion afDelauney Triangulering / Voronoi Diagram Antag vi har konstrueret Delauney triangulering for 28 punkter, og indsætter punkt nummer 29
Inkrementel Konstruktion afDelauney Triangulering / Voronoi Diagram p Indsæt punkterne i tilfældig rækkefølge: Find trekanten indeholdene næste punkt p Lav kanter til trekantens hjørner ”Flip” kanter i ulovlige trekanter
Euler’s Sætning for Plane Grafer knude Voronoi diagrammer og Delauney trianguleringer indeholder ≤ 3n segmenter kant flade # knuder + # flader - # kanter = 2 15 + 4 - 17 = 2 (gælder for sammenhængendegrafer der kantegnesudenkrydsendekanter)
Inkrementel Konstruktion afDelauney Triangulering / Voronoi Diagram p Forventet≤ 6 ”flips” per indsættelse totalt forventet ≤ 6n”flips”
2. ordens Voronoi Diagram B AB A
3. ordens Voronoi Diagram A ABC C B
Længst Væk Voronoi Diagram A Konvekse hylster A
Manhattan Bar B You are here Bar A Bar C
Afstandsmål P1 Euklidisk afstand = L2 afstand Manhattan afstand = L1 afstand P2 L2 Voronoi Diagram L1 Voronoi Diagram
Opsummering www.cs.au.dk/~gerth/slides/voronoi14.pdf Algoritmik – et datalogisk forskningsområde Voronoi diagrammer = eksempel inden for delområdet ”computational geometry” Matematiske begreber og bevisførelser essentielle for at kunne arbejde med algoritmik