27
Et eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus Universitet Voronoi Diagrammer Datalogi, Studiestart 2014

Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Et eller andet datalogi…

Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus Universitet

Voronoi Diagrammer

Datalogi, Studiestart 2014

Page 2: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

AU

AU

Gerth • Ph.d. Datalogi, Aarhus Universitet (1989-1997) • Ansat ved Institut for Datalogi (1998-) • Forskning og undervisning: Algoritmik

Gymnasium Aabenraa

85 88 89 93 97 98 95 96

PhD PostDoc

AU

83 2

Kasper • Ph.d. Datalogi, Aarhus Universitet (2005-2013) • Ansat ved Institut for Datalogi (2014-) • Forskning og undervisning: Algoritmik

05 08 13 14 11

PhD AU Gymnasium

Viborg

01 04

Page 3: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Ph.d.

Algoritmik på Datalogi

1 .år

dPersp dIntProg Calculus 1 ComputerArkitektur dProg2 Calculus 2

dADS1 dWebTec dIntDesign dADS2 dProgSprog dRegAut

2. år

dDB dBerLog Pervasive Int. Mat. Modellering SoftwareArkitektur dConc Mat. Modellering 1 Videnskabsteori

dDistSys dSik

3. år dOvs

Optimering dEkspSys

Kombinatorisk Søgning

4. år

Computational Geometry Topics in

Discrete Geometry Alg. Engineering Strengalgoritmer

Randomiserede Alg.

5. år

Avancerede Datastrukturer

I/O Algoritmer Machine Learning

Speciale

Andre algoritmikkurser

• Algoritmer i bioinformatik • Dynamiske algoritmer • Spilteori • Kompleksitetsteori • …

Denne forelæsning

3

Page 4: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Punkter og Linier

koordinater = heltal 0..4294967295

p1

p2

Dist(𝑝1, 𝑝2) = 𝑥1 − 𝑥22 + 𝑦1 − 𝑦2

2

p3

Dist(𝑝3, 𝑝1) < Dist(𝑝3, 𝑝2) ?

𝑥3 − 𝑥12 + 𝑦3 − 𝑦1

2 < 𝑥3 − 𝑥22 + 𝑦3 − 𝑦2

2

1) Undgå kvadratrødder 2) Vurder størrelsen af

mellemresultater

4

Page 5: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Punkter og Linier

koordinater = heltal 0..4294967295

p1

p2

P3

5

q2 = q1 + p1 -p2 = (a2,b2)

p3 tættest på p2

p3 til venstre for linien gennem q1 og q2

(a1-x3)(b2-y3) - (b1-y3)(a2-x3) > 0 ⇕

q1 = (p1 +p2)/2 = (a1,b1)

Gang alle koordinater med 2 for at ungå 1/2

Page 6: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Punkter og Linier

koordinater = heltal 0..4294967295

p1

p2

p3

6

p4

(x,y)

(x1y2 - y1x2)(y3 - y4) - (y1 - y2)(x3y4 - y3x4)

(x1y2 - y1x2)(x3 - x4) - (x1 - x2)(x3y4 - y3x4) (x1 - x2)(y3 - y4) - (y1 - y2)(x3 - x4)

(x1 - x2)(y3 - y4) - (y1 - y2)(x3 - x4)

x =

y =

1) Linieskæringer har rationale koordinater

2) Regn med brøkker Ikke heltal

Page 7: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

7

p2

p3

p4

p5

p1

Voronoi Celle l2

l5

l4

l3 l1

p6

Page 8: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

8

Voronoi Diagram

1) Voronoi knuder centrum for cirkel med tre randpunkter 2) Største tomme cirkel har centrum i en Voronoi knude 3) ”Uendelige” Voronoi kanter kanter på det konvekse hylster

Konvekse hylster

Page 9: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus
Page 10: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Descartes 1644

10 Dirichlet 1850, Voronoi 1908, Boldyrev 1909, …

Page 11: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

alexbeutel.com/webgl/voronoi.html 11

Page 12: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Triangulering af Terrain Data

12

Page 13: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Hvilken Triangulering ?

13

p2

p1

p4

p3

p8

p5

P9

p7

p6

Page 14: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Delauney Triangulering

Voronoi diagram

14

Delauney trianguleringer maximerer mindste vinkel

Dual Delauney

triangulering

Page 15: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

15

Inkrementel Konstruktion af Delauney Triangulering / Voronoi Diagram Antag vi har konstrueret Delauney triangulering for 28 punkter, og indsætter punkt nummer 29

Page 16: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Inkrementel Konstruktion af Delauney Triangulering / Voronoi Diagram

16

p

Indsæt punkterne i tilfældig rækkefølge: 1. Find trekanten indeholdene næste punkt p 2. Lav kanter til trekantens hjørner 3. ”Flip” kanter i ulovlige trekanter

Page 17: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Euler’s Sætning for Plane Grafer

# knuder + # flader - # kanter = 2 15 + 4 - 17 = 2

(gælder for sammenhængende grafer der kan tegnes uden krydsende kanter)

knude

kant

flade

17

Voronoi diagrammer og Delauney trianguleringer indeholder ≤ 3n segmenter

Page 18: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Inkrementel Konstruktion af Delauney Triangulering / Voronoi Diagram

18

p

Forventet ≤ 6 ”flips” per indsættelse ⟹ totalt forventet ≤ 6n ”flips”

Page 19: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Voronoi Diagram af Linier

19

Page 20: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

2. ordens Voronoi Diagram

20

A

B

AB

Page 21: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

3. ordens Voronoi Diagram

21

ABC

A

B

C

Page 22: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Længst Væk Voronoi Diagram

22

A

A

Konvekse hylster

Page 23: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Manhattan

Bar A

Bar B

23

Bar C

You are here

Page 24: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Afstandsmål

L2 Voronoi Diagram L1 Voronoi Diagram

P1

P2

𝑝1 − 𝑝2 2 = 𝑥1 − 𝑥22 + 𝑦1 − 𝑦2

2

𝑝1 − 𝑝2 1 = 𝑥1 − 𝑥2 + 𝑦1 − 𝑦2

Euklidisk afstand = L2 afstand

Manhattan afstand = L1 afstand

24

Page 25: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

3D Voronoi Diagram

25

Page 26: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

Voronoi Art

Page 27: Voronoi Diagrammer - Aarhus Universitettildeweb.au.dk/au121/slides/voronoi14.pdfEt eller andet datalogi… Gerth Stølting Brodal / Kasper Green Larsen Institut for Datalogi Aarhus

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

www.cs.au.dk/~gerth/slides/voronoi14.pdf 27