Download pptx - Et eller andet datalogi…

Transcript
Page 1: Et eller andet datalogi…

Et eller andet datalogi…

Gerth Stølting BrodalInstitut for DatalogiAarhus Universitet

Voronoi Diagrammer

Datalogi, Studiestart 2013

Page 2: Et eller andet datalogi…

2

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

PhD PostDoc AU

83

Page 3: Et eller andet datalogi…

3Ph.d.

Algoritmik på Datalogi1 .år

dPersp dIntProg Calculus 1ComputerArkitektur dProg2 Calculus 2

dADS1 dWebTec dIntDesigndADS2 dProgSprog dRegAut

2. årdDB dBerLog Pervasive

Int. Mat. Modellering SoftwareArkitektur dConcMat. Modellering 1 dDistSys

Videnskabsteori dSik

3. årdOvs

Optimering dEkspSysKombinatorisk Søgning

4. årComputational

GeometryAlg. Engineering

Randomiserede Alg. Strengalgoritmer

5. årAvancerede

DatastrukturerI/O

AlgoritmerSpeciale

Andre algoritmikkurser• Algoritmer i bioinformatik• Dynamiske algoritmer• Spilteori• Machine learning• Kompleksitetsteori• …

Denne forelæsning

Page 4: Et eller andet datalogi…

4

Punkter og Linier

koordinater = heltal 0..4294967295

p1

p2

Dist(

irrati

onal

p3

?

⇕(𝑥3−𝑥1 )2+ (𝑦 3− 𝑦1 )2<(𝑥3−𝑥2 )2+( 𝑦3− 𝑦2 )2

overløb≤ 2 4294967295 2

1) Undgå kvadratrødder2) Vurder størrelsen af

mellemresultater

Page 5: Et eller andet datalogi…

5

Punkter og Linier

koordinater = heltal 0..4294967295

p1

p2

P3

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

Ikke heltal

Page 6: Et eller andet datalogi…

6

Punkter og Linier

koordinater = heltal 0..4294967295

p1

p2

p3

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) Linierskæringer har rationale koordinater

2) Regn med brøkkerIkke heltal

Page 7: Et eller andet datalogi…

7

p2

p3

p4

p5

p1

Voronoi Celle

Page 8: Et eller andet datalogi…

8

Voronoi Diagram

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

Konvekse hylster

Page 9: Et eller andet datalogi…
Page 10: Et eller andet datalogi…

10

Descartes 1644

Dirichlet 1850, Voronoi 1908, Boldyrev 1909, …

Page 11: Et eller andet datalogi…

11

alexbeutel.com/webgl/voronoi.html

Page 12: Et eller andet datalogi…

12

Triangulering af Terrain Data

Page 13: Et eller andet datalogi…

13

Hvilken Triangulering ?p2

p1

p4

p3

p8

p5

P9

p7

p6

spidse vi

nkler

Page 14: Et eller andet datalogi…

14

Delauney TrianguleringVoronoi diagram

Delauney trianguleringer maximerer mindste vinkel

DualDelauney

triangulering

Page 15: Et eller andet datalogi…

15

Inkrementel Konstruktion afDelauney Triangulering / Voronoi Diagram

• Indsæt punkterne i tilfældig rækkefølge– Find flade + ”Flip” kanter

• Forventet O(1) ”flips” per indsættelse

Page 16: Et eller andet datalogi…

16

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

Voronoi diagrammer og Delauney trianguleringer indeholder ≤ 3n segmenter

Page 17: Et eller andet datalogi…

17

Voronoi Diagram af Linier

Page 18: Et eller andet datalogi…

18

2. ordens Voronoi Diagram

A

B

AB

Page 19: Et eller andet datalogi…

19

3. ordens Voronoi Diagram

ABC

A

B

C

Page 20: Et eller andet datalogi…

20

Længst Væk Voronoi Diagram

A

A

Konvekse hylster

Page 21: Et eller andet datalogi…

21

Manhattan

Bar A

Bar B

Bar C

You are here

Page 22: Et eller andet datalogi…

22

Afstandsmål

L2 Voronoi Diagram L1 Voronoi Diagram

P1

P2

‖𝑝1−𝑝2‖2=√ (𝑥1−𝑥2 )2+( 𝑦1− 𝑦2 )2

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

Euklidisk afstand = L2 afstand

Manhattan afstand = L1 afstand

Page 23: Et eller andet datalogi…

23

3D Voronoi Diagram

Page 24: Et eller andet datalogi…

24

Computer Grafik : Voronoi Splinter

www.youtube.com/watch?v=FIPu9_OGFgc

Page 25: Et eller andet datalogi…

Voronoi Art

Page 26: Et eller andet datalogi…

26

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/voronoi13.pdf


Recommended