lecture 10: voronoi diagrams
TRANSCRIPT
![Page 1: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/1.jpg)
MotivationVoronoi diagrams
Voronoi diagrams
Computational Geometry
Lecture 10: Voronoi diagrams
Computational Geometry Lecture 10: Voronoi diagrams1
![Page 2: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/2.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Given some trees, seenfrom above, which regionwill they occupy?
Computational Geometry Lecture 10: Voronoi diagrams2
![Page 3: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/3.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Given some trees, seenfrom above, which regionwill they occupy?
Computational Geometry Lecture 10: Voronoi diagrams3
![Page 4: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/4.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Given ambulance posts in a country,in case of an emergency somewhere,where should the ambulance comefrom?
Computational Geometry Lecture 10: Voronoi diagrams4
![Page 5: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/5.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Given ambulance posts in a country,in case of an emergency somewhere,where should the ambulance comefrom?
Computational Geometry Lecture 10: Voronoi diagrams5
![Page 6: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/6.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Voronoi diagram induced by a set of points (called sites):Subdivision of the plane where the faces correspond to theregions where one site is closest
Computational Geometry Lecture 10: Voronoi diagrams6
![Page 7: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/7.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Computational Geometry Lecture 10: Voronoi diagrams7
![Page 8: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/8.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Voronoi diagram
Question: Why is the Voronoi diagram not really asubdivision?
Computational Geometry Lecture 10: Voronoi diagrams8
![Page 9: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/9.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we tested the soil at anumber of sample points andclassified the results
sand
clay
chalk
limestone
clayclay
sand
chalk
Computational Geometry Lecture 10: Voronoi diagrams9
![Page 10: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/10.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we tested the soil at anumber of sample points andclassified the results
sand
clay
chalk
limestone
clayclay
sand
chalk
Computational Geometry Lecture 10: Voronoi diagrams10
![Page 11: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/11.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we tested the soil at anumber of sample points andclassified the results
sand
clay
chalk
limestone
clayclay
sand
chalk
Computational Geometry Lecture 10: Voronoi diagrams11
![Page 12: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/12.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we measured the leadconcentration at a number ofsample points
14
1322
6
7
15
1811
20
Computational Geometry Lecture 10: Voronoi diagrams12
![Page 13: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/13.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we measured the leadconcentration at a number ofsample points
14
1322
6
7
15
1811
20
?
Computational Geometry Lecture 10: Voronoi diagrams13
![Page 14: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/14.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we measured the leadconcentration at a number ofsample points
14
1322
6
7
15
1811
20
?
Computational Geometry Lecture 10: Voronoi diagrams14
![Page 15: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/15.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we measured the leadconcentration at a number ofsample points
14
1322
6
7
15
1811
20
?
Computational Geometry Lecture 10: Voronoi diagrams15
![Page 16: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/16.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Suppose we measured the leadconcentration at a number ofsample points
14
1322
6
7
15
1811
20
?A1
A2A3
A4
A5
Computational Geometry Lecture 10: Voronoi diagrams16
![Page 17: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/17.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Let AT = A1 +A2 + · · ·+A5
The interpolated value is
A1
AT13+
A2
AT11+ · · ·+ A5
AT20
14
1322
6
7
15
1811
20
?A1
A2A3
A4
A5
Computational Geometry Lecture 10: Voronoi diagrams17
![Page 18: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/18.jpg)
MotivationVoronoi diagrams
Voronoi diagramsSpatial interpolation
Spatial interpolation
Crater on Mars generated by natural neighbor interpolation
Computational Geometry Lecture 10: Voronoi diagrams18
![Page 19: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/19.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Some observations
Edges are parts of bisectors
Some edges are half-infinite
Some cells are unbounded
Question: Which ones?
Computational Geometry Lecture 10: Voronoi diagrams19
![Page 20: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/20.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Some observations
Every Voronoi cell is theintersection of n−1half-planes, if there are n sites
⇒ all cells are convex andhave up to n−1 edges in theboundary
p
Computational Geometry Lecture 10: Voronoi diagrams20
![Page 21: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/21.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Structure
The Voronoi diagram of n sites has the following structure:
If all n sites lie on a line, then the Voronoi cell boundariesare parallel lines, so the “graph” is disconnected
Otherwise, the Voronoi cell boundaries form a connected“graph”
Computational Geometry Lecture 10: Voronoi diagrams21
![Page 22: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/22.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Complexity
Theorem: The Voronoi diagram on f sites in the plane has atmost 2n−5 Voronoi vertices and at most 3n−6 Voronoiedges (including lines and half-lines)
Proof: If the sites are colinear, then it is trivial
Otherwise, we will use Euler’s formula for planar graphs
Computational Geometry Lecture 10: Voronoi diagrams22
![Page 23: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/23.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Complexity
Euler’s formula for planar graphs: A connected planar graphwith nv vertices, ne edges, and nf faces satisfies:
nv−ne +nf = 2
However, a Voronoi diagram is not a proper graph
Computational Geometry Lecture 10: Voronoi diagrams23
![Page 24: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/24.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Complexity
We make it proper by connecting allhalf-infinite edges to a new vertex v∞
nv = no. of Voronoi vertices VV +1
ne = no. of Voronoi edges VE
nf = no. of Voronoi cells = n, thenumber of sites
v∞
Computational Geometry Lecture 10: Voronoi diagrams24
![Page 25: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/25.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Complexity
Substitution in Euler’s formula nv−ne +nf = 2 gives
(VV +1)−VE +n = 2
Every edge is incident to exactly 2 vertices, and every vertexis incident to at least 3 edges
Sum-of-degree-of-all-vertices = 2 ·VE
Sum-of-degree-of-all-vertices ≥ 3 ·VV
= 2 ·VE ≥ 3 ·VV
Computational Geometry Lecture 10: Voronoi diagrams25
![Page 26: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/26.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Complexity
The combination of
(VV +1)−VE +n = 2
and
= 2 ·VE ≥ 3 ·VV
gives the desired bounds VV ≤ 2n−5 and VE ≤ 3n−6
Computational Geometry Lecture 10: Voronoi diagrams26
![Page 27: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/27.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Empty circle property
Every Voronoi vertex is thecenter of an empty circlethrough 3 sites
Every point on a Voronoi edgeis the center of an empty circlethrough 2 sites
Computational Geometry Lecture 10: Voronoi diagrams27
![Page 28: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/28.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Degeneracies
All sites lie on a line
More than 3 points lie on acircle
Computational Geometry Lecture 10: Voronoi diagrams28
![Page 29: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/29.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Algorithms for Voronoi diagrams
Compute the intersection of n−1 half-planes for each site,and “merge” the cells into the diagram
Divide-and-conquer (1975, Shamos & Hoey)
Plane sweep (1987, Fortune)
Randomized incremental construction (1992, Guibas, Knuth& Sharir)
Computational Geometry Lecture 10: Voronoi diagrams29
![Page 30: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/30.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Plane sweep for Voronoi diagrams
Plane sweep: Note that the Voronoi diagram above the sweepline may be affected by sites below the sweep line
Maintain and grow the portion of Voronoi diagram above thesweep line that is known for sure
Computational Geometry Lecture 10: Voronoi diagrams30
![Page 31: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/31.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Plane sweep for Voronoi diagrams
Plane sweep: Note that the Voronoi diagram above the sweepline may be affected by sites below the sweep line
Maintain and grow the portion of Voronoi diagram above thesweep line that is known for sure
Computational Geometry Lecture 10: Voronoi diagrams31
![Page 32: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/32.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Beach line
The beach line separates the known and unknown part of theVoronoi diagram, it is the minimum of the parabolas definedby sites above the sweep-line and the sweep-line itself
Computational Geometry Lecture 10: Voronoi diagrams32
![Page 33: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/33.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Beach line
The beach line changes continuously,even one parabola does
Computational Geometry Lecture 10: Voronoi diagrams33
![Page 34: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/34.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Beach line
Question: The beach line has break points, what do theyrepresent?
Computational Geometry Lecture 10: Voronoi diagrams34
![Page 35: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/35.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Beach line
The break points move andtrace out the Voronoi diagramedges
`
Computational Geometry Lecture 10: Voronoi diagrams35
![Page 36: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/36.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Status
Status: The ordered sequence of parabolic arcs that definethe beach line; each is defined by a site (and the sweep-line)
Break points are defined by two sites (and the sweep-line)
Since the beach line is x-monotone, we can store the status ina balanced binary search tree on x-coordinate
Computational Geometry Lecture 10: Voronoi diagrams36
![Page 37: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/37.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Status
pi
pj
pkpi pj pk pi
〈pj, pk〉
〈pi, pj〉 〈pk, pi〉
〈pj, pk〉
〈pi, pj〉
〈pk, pi〉
Computational Geometry Lecture 10: Voronoi diagrams37
![Page 38: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/38.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Other data structures
The sweep algorithm also needs an event list and a datastructure to store the Voronoi diagram computed so far
The Voronoi diagram will be computed inside a large boundingbox so that a doubly-connected edge list can be used
Computational Geometry Lecture 10: Voronoi diagrams38
![Page 39: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/39.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Events
The events are where the status changes = where the beachline changes
When the sweep-line reaches a new site
When a break point reaches the end of the edge it traces
Computational Geometry Lecture 10: Voronoi diagrams39
![Page 40: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/40.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site events
The sweep-line reaches a newsite, a site event: a newparabola starts
Computational Geometry Lecture 10: Voronoi diagrams40
![Page 41: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/41.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site events
The sweep-line reaches a newsite, a site event: a newparabola starts
Computational Geometry Lecture 10: Voronoi diagrams41
![Page 42: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/42.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site events
The sweep-line reaches a newsite, a site event: a newparabola starts
Computational Geometry Lecture 10: Voronoi diagrams42
![Page 43: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/43.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site events
The sweep-line reaches a newsite, a site event: a newparabola starts
Two new break pointsappear on the beach line
A new Voronoi edge isdiscovered
Computational Geometry Lecture 10: Voronoi diagrams43
![Page 44: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/44.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams44
![Page 45: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/45.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams45
![Page 46: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/46.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams46
![Page 47: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/47.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams47
![Page 48: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/48.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams48
![Page 49: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/49.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams49
![Page 50: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/50.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams50
![Page 51: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/51.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Computational Geometry Lecture 10: Voronoi diagrams51
![Page 52: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/52.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
Parabolic arcs may disappear from the beach line
Computational Geometry Lecture 10: Voronoi diagrams52
![Page 53: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/53.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The other events
We discover an empty circle and a Voronoi vertex
Computational Geometry Lecture 10: Voronoi diagrams53
![Page 54: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/54.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Circle events
At a circle event:
A parabolic arc disappears from the beach line
Two adjacent break points come together
A Voronoi vertex is discovered as the vertex incident totwo known Voronoi edges
A new break point starts to be traced
The sweep line reached the bottom of an empty circlethrough 3 sites
Computational Geometry Lecture 10: Voronoi diagrams54
![Page 55: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/55.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Circle events
Circle events can only happen for three sites that haveadjacent parabolic arcs on the beach line
Computational Geometry Lecture 10: Voronoi diagrams55
![Page 56: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/56.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site and circle events
The only way for a new parabolic arc to appear on the beachline is through a site event
The only way for a parabolic arc to disappear from the beachline is through a circle event
There are no other events
Computational Geometry Lecture 10: Voronoi diagrams56
![Page 57: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/57.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site and circle events
There are n site events and they are known in advance
Question: How can we know circle events before they occur?
Computational Geometry Lecture 10: Voronoi diagrams57
![Page 58: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/58.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting circle events
p1
p2p3
p4 p5
p6
α1
α2 α3 α4 α5
α6
Computational Geometry Lecture 10: Voronoi diagrams58
![Page 59: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/59.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting circle events
p1
p2p3
p4 p5
p6
α1
α2 α3 α4 α5
α6
C(p1, p2, p3)
C(p2, p3, p4)
C(p4, p5, p6)Computational Geometry Lecture 10: Voronoi diagrams59
![Page 60: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/60.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting circle events
A circle event occurs if the sweep line reaches the bottom ofan empty circle defined by three sites that have consecutiveparabolic arcs on the beach line
We will make sure that any three sites that have consecutivearcs on the beach line and whose circle has its lowest pointbelow the sweep line have this lowest point as circle event inthe event list
Computational Geometry Lecture 10: Voronoi diagrams60
![Page 61: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/61.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting circle events
In the status structure we can see all triples of consecutiveparabolic arcs that can give circle events
p5 p6
〈p4, p5〉
〈p5, p6〉
p1 p2 p3 p4
〈p2, p3〉
〈p1, p2〉 〈p3, p4〉
Computational Geometry Lecture 10: Voronoi diagrams61
![Page 62: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/62.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
False alarms
We may have stored a circle event in the event list, but it maybe that it never happens . . .
This is called a false alarm
There are two reasons for false alarms: site events and othercircle events
Computational Geometry Lecture 10: Voronoi diagrams62
![Page 63: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/63.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
False alarms
p1
p2p3
p4 p5
p6
α1
α2 α3 α4 α5
α6
C(p1, p2, p3)
C(p2, p3, p4)
α3 will disappear
An arc that was involved in a circle event may disappearearlier
Computational Geometry Lecture 10: Voronoi diagrams63
![Page 64: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/64.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
False alarms
p1
p2p3
p4 p5
p6
α1
α2 α3 α4 α5
α6
C(p2, p3, p4)p7
The circle of a circle event may turn out not to be empty
Computational Geometry Lecture 10: Voronoi diagrams64
![Page 65: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/65.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting false alarms
A site event that disrupts three consecutive parabolic arcs
p5 p6
〈p4, p5〉
〈p5, p6〉
p1 p2 p3 p4
〈p2, p3〉
〈p1, p2〉 〈p3, p4〉
circle event C(p2, p3, p4)
Computational Geometry Lecture 10: Voronoi diagrams65
![Page 66: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/66.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting false alarms
p1
p2p3
p4 p5
p6
α1
α2 α3 α4 α5
α6
C(p2, p3, p4)p7
Computational Geometry Lecture 10: Voronoi diagrams66
![Page 67: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/67.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting false alarms
A site event that disrupts three consecutive parabolic arcs
p3 p7
p5 p6
〈p4, p5〉
〈p5, p6〉
p1 p2 p3 p4
〈p2, p3〉
〈p1, p2〉〈p3, p4〉
circle event C(p2, p3, p4) gone
〈p3, p7〉
〈p7, p3〉
Computational Geometry Lecture 10: Voronoi diagrams67
![Page 68: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/68.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting false alarms
A circle event that disrupts three consecutive parabolic arcs
p5 p6
〈p4, p5〉
〈p5, p6〉
p1 p2 p3 p4
〈p2, p3〉
〈p1, p2〉 〈p3, p4〉
circle event C(p2, p3, p4)
circle event C(p1, p2, p3)
Computational Geometry Lecture 10: Voronoi diagrams68
![Page 69: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/69.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting false alarms
p1
p2p3
p4 p5
p6
α1
α2 α3 α4 α5
α6
C(p1, p2, p3)
C(p2, p3, p4)
α3 will disappear
Computational Geometry Lecture 10: Voronoi diagrams69
![Page 70: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/70.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Detecting false alarms
A circle event that disrupts three consecutive parabolic arcs
p5 p6
〈p4, p5〉
〈p5, p6〉
p1 p2 p4
〈p2, p4〉
〈p1, p2〉
circle event C(p1, p2, p3) gone
Computational Geometry Lecture 10: Voronoi diagrams70
![Page 71: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/71.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The data structures
Recall we have a status structure T , an event list, and aDCEL
We need pointers from T into the DCEL to be able to updateit efficiently
We need pointers from the leaves of T into the event list tobe able to remove circle events if they are false alarms
Computational Geometry Lecture 10: Voronoi diagrams71
![Page 72: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/72.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
The data structures
A leaf of T has a pointer to all events in which the parabolicarc participates
Easy question: How many can there be, at most?
Computational Geometry Lecture 10: Voronoi diagrams72
![Page 73: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/73.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Global algorithm
Algorithm VoronoiDiagram(P)1. Initialize the event queue Q with all site events, initialize
an empty status structure T and an emptydoubly-connected edge list D
2. while Q is not empty3. do remove the event with largest y-coordinate from Q
4. if the event is a site event, occurring at site pi
5. then HandleSiteEvent(pi)6. else HandleCircleEvent(γ), where γ is the
leaf of T representing the arc that willdisappear
7. When all events are handled, we must still fix thedoubly-connected edge list with respect to the boundingbox, and to add face information
Computational Geometry Lecture 10: Voronoi diagrams73
![Page 74: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/74.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Site event actions
At a site event, at a site pi on the sweep line `:
Find the parabolic arc α vertically above pi in T
Remove the false alarm with α in the middle from theevent list (if it exists)
Update T: one arc is split and a new one for pi appearsin between, and break points are updated
Make two new half-edges for the detected Voronoi edgein the DCEL
Add new circle events for the new consecutive triples(if the circle has its lowest point below `)
Computational Geometry Lecture 10: Voronoi diagrams74
![Page 75: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/75.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Circle event actions
At a circle event, for circle C(pi,pj,pk) whose bottom is onthe sweep line `, and γ is the leaf of T whose arc disappears:
Remove the false alarms that involve the parabolic arccorresponding to γ
Update T: remove the leaf γ and update break points
Make a new vertex object for the Voronoi vertex, twonew half-edge objects, and connect six half-edges and thevertex in the DCEL
Add new circle events for the new consecutive triples(if the circle has its lowest point below `)
Computational Geometry Lecture 10: Voronoi diagrams75
![Page 76: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/76.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Analysis
Any event removes at most two false alarms and generates atmost two new circle events
Any event is handled in O(logn) time
There are n site events and at most 2n−5 circle events(because a new Voronoi vertex is detected)
Computational Geometry Lecture 10: Voronoi diagrams76
![Page 77: Lecture 10: Voronoi diagrams](https://reader034.vdocument.in/reader034/viewer/2022051301/586699811a28abcd408b8695/html5/thumbnails/77.jpg)
MotivationVoronoi diagrams
PropertiesConstruction
Result
Theorem: The Voronoi diagram of a set of n point sites inthe plane can be computed in O(n logn) time
Computational Geometry Lecture 10: Voronoi diagrams77