CS133
Computational Geometry
Voronoi Diagram Delaunay Triangulation
5/17/2018 1
CS133 Computational Geometry Voronoi Diagram Delaunay - - PowerPoint PPT Presentation
CS133 Computational Geometry Voronoi Diagram Delaunay Triangulation 5/17/2018 1 Nearest Neighbor Problem Given a set of points and a query point , find the closest point to , ,
5/17/2018 1
5/17/2018 2
5/17/2018 3
Voronoi Diagram
5/17/2018 4
5/17/2018 5
5/17/2018 6
5/17/2018 7
π1 π2 π π1 π π2
5/17/2018 8
π1 π2 π π1 π π2 π3 π π3
5/17/2018 9
π1 π2 π π1 π π2 π3 π π3
5/17/2018 10
5/17/2018 11
5/17/2018 12
http://forum.woodenboat.com/showthread.php?112363-Voronoi-Diagrams-in-Nature
5/17/2018 13
5/17/2018 14
http://forum.woodenboat.com/showthread.php?112363-Voronoi-Diagrams-in-Nature
5/17/2018 15
Onion cells under the microscope
5/17/2018 16
http://forum.woodenboat.com/showthread.php?112363-Voronoi-Diagrams-in-Nature
A thin slice of carrot under the scope
5/17/2018 17
http://forum.woodenboat.com/showthread.php?112363-Voronoi-Diagrams-in-Nature
A dead maple leaf at 160X
5/17/2018 18
http://forum.woodenboat.com/showthread.php?112363-Voronoi-Diagrams-in-Nature
An oak leaf
5/17/2018 19
5/17/2018 20
5/17/2018 21
The edges of πΈ π do not intersect Is πΈ π unique?
Yes, if no four sites are co-circular
If ππ and ππ are the closest pair
If ππ and ππ are nearest neighbors, they are connected with an edge in DT The circumcircle of ππ, ππ, and ππ is empty βΊ ππ, ππ, ππ is a triangle in DT
5/17/2018 22
The number of edges/faces in a Delaunay Triangulation is linear in the number of vertices. The number of edges/vertices in a Voronoi Diagram is linear in the number of faces. The number of vertices/edges/faces in a Voronoi Diagram is linear in the number of sites.
5/17/2018 23
5/17/2018 24
ππ ππ π ππ π ππ
5/17/2018 25
5/17/2018 26
5/17/2018 27
5/17/2018 28
5/17/2018 29
5/17/2018 30
5/17/2018 31
This area is closer to some site than the beach line β¦ closer to some site than any future site We already know the nearest site to those areas
5/17/2018 32
Each parabola is x-monotone At each x-coordinate, the beach line takes one value which is the minimum of all the parabolas Therefore, it is x-monotone
5/17/2018 33
Credits: http://www.cs.sfu.ca/~binay/813.2011/Fortune.pdf
Each breakpoint is equidistant from two sites A breakpoint is as close to some site as to the sweep line The sweep line is (closer) to the blue sites than future sites
5/17/2018 34
5/17/2018 35
A new arc appears An existing arc is removed
5/17/2018 36
5/17/2018 37
5/17/2018 38
Lemma: The only way in which a new arc can appear on the beach line is through a site event Proof by contradiction The arc π½π of site ππ = πππ¦, πππ§ has the function π§ = 1 2 π¦ β πππ¦ 2 πππ§ β βπ§ + βπ§ + πππ§
1 2 π¦βπππ¦ 2 πππ§ββπ§ + βπ§ + πππ§
5/17/2018 39
πππ¦, πππ§ Ξπ§ Ξπ§ 2 > Ξπ§ 2
Consequence: The beach line can have at most 2π β 1 arcs
An existing arc shrinks into a point and disappears This happens when three (or more) sites become closer to a point than the sweep line shielding the point from the sweep line
5/17/2018 40
The sweep line will only go further while the points stay This results in a vertex on the Voronoi Diagram Lemma: The only way in which an existing arc can disappear from the beach line is through a circle event
5/17/2018 41
5/17/2018 42
Circle event
Site event: A new site that adds a new arc to the
Circle event: The disappearance of an arc resulting in a vertex in VD. Can only be discovered along the way
5/17/2018 43
Leaves store arcs Internal nodes store the breakpoints as a pair of sites ππ, ππ
5/17/2018 44
5/17/2018 45
5/17/2018 46
π π log π
5/17/2018 47
5/17/2018 48
Consider all possible triangles π π3
Check if the circumcircle of the triangle is empty π π
Running time π π4
5/17/2018 49
5/17/2018 50
If (|P| <= 3)
return TrivialDT(P)
Split P into P1 and P2 DT1 = DelaunayTriangulation(P1) DT2 = DelaunayTriangulation(P1) Merge(DT1, DT2)
5/17/2018 51
5/17/2018 52
Pre-sort by x
5/17/2018 53
P TrivialDT(P)
5/17/2018 54
5/17/2018 55
5/17/2018 56
5/17/2018 57
5/17/2018 58
Upper tangent of πβ π
1 , πβ π2 Base LR edge
5/17/2018 59
5/17/2018 60
5/17/2018 61
5/17/2018 62
New Base LR edge
5/17/2018 63
5/17/2018 64
5/17/2018 65
5/17/2018 66
5/17/2018 67
5/17/2018 68
5/17/2018 69
5/17/2018 70
5/17/2018 71
5/17/2018 72
5/17/2018 73
5/17/2018 74
5/17/2018 75
5/17/2018 76
5/17/2018 77
5/17/2018 78
5/17/2018 79
5/17/2018 80
5/17/2018 81
5/17/2018 82
5/17/2018 83
5/17/2018 84
5/17/2018 85
5/17/2018 86
5/17/2018 87
5/17/2018 88
5/17/2018 89
5/17/2018 90
5/17/2018 91
5/17/2018 92
5/17/2018 93
5/17/2018 94
5/17/2018 95
5/17/2018 96
5/17/2018 97
5/17/2018 98
5/17/2018 99
5/17/2018 100
5/17/2018 101
5/17/2018 102
ππ ππ
5/17/2018 103
ππ ππ
5/17/2018 104
ππ ππ
5/17/2018 105
ππ ππ
5/17/2018 106
ππ ππ
5/17/2018 107
5/17/2018 108
5/17/2018 109
5/17/2018 110
5/17/2018 111
5/17/2018 112
π½1 π½2 π½3 π½4 π½5 π½6
1β€πβ€6 π½π < min 1β€πβ€6 π½π β²
5/17/2018 113
π½1 π½2 π½3 π½4 π½5 π½6 ππ ππ ππ ππ π½1
β²
π½2
β²
π½3
β²
π½4
β²
π½5
β²
π½6
β²
ππ ππ ππ ππ Edge Flip
5/17/2018 114
π π π π π π‘ π·
5/17/2018 115
ππ ππ ππ ππ Illegal Edge
5/17/2018 116
5/17/2018 117
5/17/2018 118
5/17/2018 119
5/17/2018 120
5/17/2018 121
5/17/2018 122
πβ1 πβ2
5/17/2018 123
5/17/2018 124
5/17/2018 125
5/17/2018 126
5/17/2018 127
5/17/2018 128
5/17/2018 129
5/17/2018 130