Computational Geometry Lecture 13: More on Voronoi diagrams - - PowerPoint PPT Presentation

computational geometry
SMART_READER_LITE
LIVE PREVIEW

Computational Geometry Lecture 13: More on Voronoi diagrams - - PowerPoint PPT Presentation

Voronoi diagrams of line segments Farthest-point Voronoi diagrams More on Voronoi diagrams Computational Geometry Lecture 13: More on Voronoi diagrams Computational Geometry Lecture 13: More on Voronoi diagrams Motion planning for a disc


slide-1
SLIDE 1

Voronoi diagrams of line segments Farthest-point Voronoi diagrams

More on Voronoi diagrams

Computational Geometry

Lecture 13: More on Voronoi diagrams

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-2
SLIDE 2

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Motion planning for a disc

Can we move a disc from one location to another amidst

  • bstacles?

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-3
SLIDE 3

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Motion planning for a disc

Since the Voronoi diagram of point sites is locally “furthest away” from those sites, we can move the disc if and only if we can do so on the Voronoi diagram

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-4
SLIDE 4

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Retraction

Global idea for motion planing for a disc:

  • 1. Get center from start to Voronoi diagram
  • 2. Move center along Voronoi diagram
  • 3. Move center from Voronoi diagram to end

This is called retraction

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-5
SLIDE 5

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Voronoi diagram of points

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-6
SLIDE 6

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Voronoi diagram of line segments

For a Voronoi diagram of other

  • bjects than point sites, we

must decide to which point on each site we measure the distance This will be the closest point

  • n the site

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-7
SLIDE 7

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Voronoi diagram of line segments

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-8
SLIDE 8

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Voronoi diagram of line segments

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-9
SLIDE 9

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Voronoi diagram of line segments

The points of equal distance to two points lie on a line The points of equal distance to two lines lie on a line (two lines) The points of equal distance to a point and a line lie on a parabola

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-10
SLIDE 10

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Bisector of two line segments

Two line segment sites have a bisector with up to 7 arcs

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-11
SLIDE 11

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Bisector of two line segments

If two line segment sites share an endpoint, their bisector can have an area too

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-12
SLIDE 12

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Bisector of two line segments

We assume that the line segment sites are fully disjoint, to avid complications We could shorten each line segment from a set of non-crossing line segments a tiny amount

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-13
SLIDE 13

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Empty circles

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-14
SLIDE 14

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Voronoi vertices

The Voronoi diagram has vertices at the centers of empty circles touching three different line segment sites (degree 3 vertex) touching two line segment sites, one of which it touches in an endpoint of the line segment, and the segment is also part of the tangent line of the circle at that point (degree 2 vertex) At a degree 2 Voronoi vertex, one incident arc is a straight edge and the other one is a parabolic arc

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-15
SLIDE 15

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Constructing the Voronoi diagram of line segments

The Voronoi diagram of a set of line segments can be constructed using a plane sweep algorithm

ℓ s1 s2 s3 s4 s5

Question: What site defines the leftmost arc on the beach line?

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-16
SLIDE 16

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Breakpoints

Breakpoints trace arcs of equal distance to two different sites,

  • r they trace segments perpendicular to a line segment

starting at one of its endpoints, or they trace site interiors

ℓ s1 s2 s3 s4 s5

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-17
SLIDE 17

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Breakpoints

The algorithm uses 5 types of breakpoint:

  • 1. If a point p is closest to two site endpoints while being

equidistant from them and ℓ, then p is a breakpoint that traces a line segment (as in the point site case)

  • 2. If a point p is closest to two site interiors while being

equidistant from them and ℓ, then p is a breakpoint that traces a line segment

  • 3. If a point p is closest to a site endpoint and a site

interior of different sites while being equidistant from them and ℓ, then p is a breakpoint that traces a parabolic arc

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-18
SLIDE 18

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Breakpoints

The algorithm uses 5 types of breakpoint (continued):

  • 4. If a point p is closest to a site endpoint, the shortest

distance is realized by a segment that is perpendicular to the line segment site, and p has the same distance from ℓ, then p is a breakpoint that traces a line segment

  • 5. If a site interior intersects the sweep line, then the

intersection is a breakpoint that traces a line segment (the site interior) These two types of breakpoint do not trace Voronoi diagram edges but they do trace breaks in the beach line

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-19
SLIDE 19

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Events

ℓ s1 s2 s3 s4 s5 type 1 type 2 type 3 type 5 type 4 type 4 type 4 type 3 type 4

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-20
SLIDE 20

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Events

There are site events and circle events, but circle events come in different types

ℓ s1 s2 s3 s4 s5

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-21
SLIDE 21

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Events

The types of circle events essentially correspond to the types

  • f breakpoints that meet

Not all types of breakpoint can meet

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-22
SLIDE 22

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

The sweep algorithm

Each event can still be handled in O(logn) time There are still only O(n) events Theorem: The Voronoi diagram of a set of disjoint line segments can be constructed in O(nlogn) time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-23
SLIDE 23

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Retraction

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-24
SLIDE 24

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Algorithm Retraction(S,qstart,qend,r) 1. Compute the Voronoi diagram Vor(S) of S in a bounding box. 2. Locate the cells of Vor(P) that contain qstart and qend. 3. Determine the point pstart on Vor(S) by moving qstart away from the nearest line segment in S. Similarly, determine the point

  • pend. Add pstart and pend as vertices to Vor(S), splitting the arcs
  • n which they lie into two.

4. Let G be the graph corresponding to the vertices and edges of the Voronoi diagram. Remove all edges from G for which the smallest distance to the nearest sites is ≤ r. 5. Determine with depth-first search whether a path exists from pstart to pend in G. If so, report the line segment from qstart to pstart, the path in G from pstart to pend, and the line segment from pend to qend as the path. Otherwise, report that no path exists.

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-25
SLIDE 25

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm Computational Geometry Lecture 13: More on Voronoi diagrams

slide-26
SLIDE 26

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm Computational Geometry Lecture 13: More on Voronoi diagrams

slide-27
SLIDE 27

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Motion planning for a disc Geometry Plane sweep algorithm

Result

Theorem: Given n disjoint line segment obstacles and a disc-shaped robot, the existence of a collision-free path between two positions of the robot can be determined in O(nlogn) time using O(n) storage.

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-28
SLIDE 28

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Testing the roundness

Suppose we construct a perfectly round object, and now wish to test how round it really is Measuring an object is done with coordinate measuring machines, it is a scanner that determines many points on the surface of the object

round not so round

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-29
SLIDE 29

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Coordinate measuring machine

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-30
SLIDE 30

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Roundness

The roundness of a set of points is the width of the smallest annulus that contains the points An annulus is the region between two co-centric circles Its width is the difference in radius

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-31
SLIDE 31

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Smallest-width annulus

The smallest-width annulus must have at least one point on Couter, or else we can decrease its size and decrease the width The smallest-width annulus must have at least one point on Cinner, or else we can increase its size and decrease the width

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-32
SLIDE 32

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Smallest-width annulus

Couter contains at least three points of P, and Cinner contains at least one point of P Couter contains at least one point of P, and Cinner contains at least three points of P Couter and Cinner both contain two points of P

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-33
SLIDE 33

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Smallest-width annulus

The smallest-width annulus can not be determined with randomized incremental construction

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-34
SLIDE 34

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Smallest-width annulus

If we know the center of the smallest-width annulus (the center of the two circles), then we can determine the smallest-width annulus itself (and its width) in O(n) additional time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-35
SLIDE 35

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

The cases

Consider case 2: Cinner contains (at least) three points of P and Couter only one Then the three points on Cinner define an empty circle, and the center of Cinner is a Voronoi vertex!

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-36
SLIDE 36

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

The cases

Consider case 1: Couter contains (at least) three points of P and Cinner only one Then the three points on Couter define a “full” circle ...

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-37
SLIDE 37

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Intermezzo: Higher-order Voronoi diagrams

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-38
SLIDE 38

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

More closest points

Suppose we are interested in the two closest points, not only the one closest point, and want a diagram that captures that

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-39
SLIDE 39

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

First order Voronoi diagram

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-40
SLIDE 40

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Second order Voronoi diagram

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-41
SLIDE 41

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Third order Voronoi diagram

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-42
SLIDE 42

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

First and second order Voronoi diagram

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-43
SLIDE 43

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Tenth order, or farthest-point Voronoi diagram

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-44
SLIDE 44

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

The farthest-point Voronoi diagram is the partition of the plane into regions where the same point is farthest It is also the (n−1)-th order Voronoi diagram The region of a site pi is the common intersection of n−1 half-planes, so regions are convex, and boundaries are parts of bisectors

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-45
SLIDE 45

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-46
SLIDE 46

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Observe: Only points of the convex hull of P can have cells in the farthest-point Voronoi diagram Suppose otherwise ...

q pi pj pk

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-47
SLIDE 47

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Observe: Only points of the convex hull of P can have cells in the farthest-point Voronoi diagram Suppose otherwise ...

q pi pj pk

≥ π/2

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-48
SLIDE 48

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Also observe: All points of the convex hull have a cell in the farthest-point Voronoi diagram All cells of the farthest-point Voronoi diagram are unbounded

pi pj pk

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-49
SLIDE 49

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Also observe: All points of the convex hull have a cell in the farthest-point Voronoi diagram All cells of the farthest-point Voronoi diagram are unbounded

pi pj pk

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-50
SLIDE 50

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

If all cells are unbounded, then the edges of the farthest-point Voronoi diagram form a tree of which some edges are unbounded Question: For the normal Voronoi diagram, there was one case where its edges are not connected. Does such a case

  • ccur for the farthest-point Voronoi diagram?

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-51
SLIDE 51

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-52
SLIDE 52

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Farthest-point Voronoi diagrams

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-53
SLIDE 53

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Lower bound

Ω(nlogn) time is a lower bound for computing the farthest-point Voronoi diagram We could use it for sorting by transforming a set of reals x1,x2,... to a set of points (x1,x2

1),(x2,x2 2),...

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-54
SLIDE 54

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction

So we may as well start by computing the convex hull of P in O(nlogn) time Let p1,...,pm be the points on the convex hull, forget the rest

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-55
SLIDE 55

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction

So we may as well start by computing the convex hull of P in O(nlogn) time Let p1,...,pm be the points on the convex hull, forget the rest

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-56
SLIDE 56

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction

The simplest algorithm to construct the farthest-point Voronoi diagram is randomized incremental construction on the convex hull vertices Let p1,...,pm be the points in random order From the convex hull, we also know the convex hull order

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-57
SLIDE 57

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-58
SLIDE 58

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

p8 cw(p8) ccw(p8)

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-59
SLIDE 59

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

p8

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-60
SLIDE 60

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

p8 p7 cw(p7) ccw(p7)

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-61
SLIDE 61

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

p8 p7

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-62
SLIDE 62

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

p8 p7 p6 ccw(p6) cw(p6)

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-63
SLIDE 63

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!)

p8 p7 p6

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-64
SLIDE 64

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 1

Phase 1: Remove and Remember For i ← m downto 4 do Remove pi from the convex hull; remember its 2 neighbors cw(pi) and ccw(pi) (at removal!) p8,cw(p8),ccw(p8) p7,cw(p7),ccw(p7) p6,cw(p6),ccw(p6) p5,cw(p5),ccw(p5) p4,cw(p4),ccw(p4) p3, p2, p1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-65
SLIDE 65

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

Phase 2: Put back and Construct Construct the farthest-point Voronoi diagram F3 of p3, p2, p1 For i ← 4 to m do Add pi to the farthest-point Voronoi diagram Fi−1 to make Fi We simply determine the cell of pi by traversing Fi−1 and update Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-66
SLIDE 66

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-67
SLIDE 67

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-68
SLIDE 68

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1 bisector of pi and ccw(pi)

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-69
SLIDE 69

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-70
SLIDE 70

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-71
SLIDE 71

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1 cw(pi) cell of

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-72
SLIDE 72

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1 cw(pi) cell of

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-73
SLIDE 73

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi cw(pi) cell of cell of pi

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-74
SLIDE 74

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

The implementation of phase 2 requires a representation of the farthest-point Voronoi diagram We use the doubly-connected edge list (ignoring issues due to half-infinite edges) For any point among p1,...,pi−1, we maintain a pointer to the most counterclockwise bounding half-edge of its cell

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-75
SLIDE 75

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Construction: phase 2

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-76
SLIDE 76

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Analysis of randomized incremental construction

Due remembering ccw(pi), we have ccw(pi) in O(1) time, and get the first bisector that bounds the cell of pi Due to the pointer to the most counterclockwise half-edge of the cell of ccw(pi), we can start the traversal in O(1) time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-77
SLIDE 77

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Analysis of randomized incremental construction

If the cell of pi has ki edges in its boundary, then we visit O(ki) half-edges and vertices of Fi−1 to construct the cell of pi Also, we remove O(ki) vertices and half-edges, change (shorten) O(ki) half-edges, and create O(ki) half-edges and vertices ⇒ adding pi takes O(ki) time, where ki is the complexity of the cell of pi in Fi

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-78
SLIDE 78

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Analysis

pi cw(pi) ccw(pi) ccw(pi) cell of Fi−1

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-79
SLIDE 79

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Backwards analysis

Backwards analysis: Assume that pi has already been added and we have Fi Each one of the i points had the same probability of having been added last The expected time for the addition of pi is linear in the average complexity of the cells of Fi

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-80
SLIDE 80

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Backwards analysis

The farthest-point Voronoi diagram of i points has at most 2i−3 edges (fewer in degenerate cases), and each edge bounds exactly 2 cells So the average complexity of a cell in a farthest-point Voronoi diagram of i points is ki ≤ 2·(2i−3) i = 4i−6 i < 4 The expected time to construct Fi from Fi−1 is O(1)

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-81
SLIDE 81

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Result

Due to the initial convex hull computation, the whole algorithm requires O(nlogn) time, plus O(m) expected time Theorem: The farthest-site Voronoi diagram of n points in the plane can be constructed in O(nlogn) expected time. If all points lie on the convex hull and are given in sorted order, it takes O(n) expected time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-82
SLIDE 82

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

End of intermezzo; back to smallest-width annulus

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-83
SLIDE 83

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Smallest-width annulus

Couter contains at least three points of P, and Cinner contains at least one point of P Couter contains at least one point of P, and Cinner contains at least three points of P Couter and Cinner both contain two points of P

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-84
SLIDE 84

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Smallest-width annulus

If we know the center of the smallest-width annulus (the center of the two circles), then we can determine the smallest-width annulus itself (and its width) in O(n) additional time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-85
SLIDE 85

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Case 2

Consider case 2: Cinner contains (at least) three points of P and Couter only one Then the three points on Cinner define an empty circle, and the center of Cinner is a Voronoi diagram vertex!

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-86
SLIDE 86

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Case 1

Consider case 1: Couter contains (at least) three points of P and Cinner only one Then the three points on Couter define a “full” circle, and the center of Couter is a farthest-point Voronoi diagram vertex!

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-87
SLIDE 87

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Case 3

Consider case 3: Couter and Cinner each contain two points of P Then the two points on Cinner define a set of empty circles and the two points of Couter define a set of full circles

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-88
SLIDE 88

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Case 3

The two points on Cinner define a set

  • f empty circles whose centers lie on

the Voronoi edge defined by these two points The two points of Couter define a set

  • f full circles whose centers lie on the

farthest-point Voronoi edge defined by these two points The center lies on an intersection of an edge of the Voronoi diagram and an edge of the farthest-point Voronoi diagram!

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-89
SLIDE 89

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Algorithm

To solve case 3:

  • 1. Compute the Voronoi diagram of P
  • 2. Compute the farthest-point Voronoi diagram of P
  • 3. For each pair of edges, one of each diagram
  • defined by p,p′ of the Voronoi diagram and

by q,q′ of the farthest-point Voronoi diagram

  • determine the annulus for p,p′ and q,q′ if the

edges intersect

  • 4. Keep the smallest-width one of these

This takes O(n2) time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-90
SLIDE 90

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Algorithm

To solve case 1:

  • 1. Compute the farthest-point Voronoi diagram of P
  • 2. For each vertex v of the FPVD
  • determine the point p of P that is closest to v
  • determine Couter from the points defining v
  • determine the annulus from p, v, and Couter
  • 3. Keep the smallest-width one of these

This takes O(n2) time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-91
SLIDE 91

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Algorithm

To solve case 2:

  • 1. Compute the Voronoi diagram of P
  • 2. For each vertex v of the Voronoi diagram
  • determine the point p of P that is farthest from v
  • determine Cinner from the points defining v
  • determine the annulus from p, v, and Cinner
  • 3. Keep the smallest-width one of these

This takes O(n2) time

Computational Geometry Lecture 13: More on Voronoi diagrams

slide-92
SLIDE 92

Voronoi diagrams of line segments Farthest-point Voronoi diagrams Roundness Higher-order Voronoi diagrams Computing the farthest-point Voronoi diagram Roundness

Result

Theorem: The roundness, or the smallest-width annulus of n points in the plane can be determined in O(n2) time

Computational Geometry Lecture 13: More on Voronoi diagrams