Title: Lecture 12: Triangulation
1Lecture 12 Triangulation
- Voronoi diagrams Definitions and Examples
- Properties of Voronoi Diagrams
- Delaunay Triangulation as Dual of Voronoi Diagram
- Properties of Delaunay Triangulations
- Finding a Delaunay Triangulation
2Post Office What is the area of service?
3Definition of Voronoi Diagram
- Let S be a set of n distinct points pi (sites) in
the plane and let q be a point not in S. - A point q lies in the Voronoi region
corresponding to a site pi - V(pi) if and only if q is closest to pi than
to any other point of S - Euclidean_Distance( q, pi ) lt Euclidean_distance(
q, pj ), - for each pi ? P, j ? i.
- The Voronoi diagram of S, VD (S), is the
collection of Voronoi regions for each point of S
4Voronoi Diagram Example1 site
5Two sites form a perpendicular bisector
Voronoi edge is locus of pointsequidistant from
both p and q, and closer to p and q than to
remaining points of S. Voronoi diagram consists
of the two half planes on eitherside H(p,q) and
H(q,p) In general, a Voronoi region is
p
q
H(p, q)
H(q, p)
6Collinear sites form a series of parallel lines
7Non-collinear sites form Voronoi half lines that
meet at a vertex
A vertex hasdegree ? 3
8Voronoi Regions and Segments
9Voronoi Regions and Segments
10Who wants to be a Millionaire?
- Which of the following is true for2-D Voronoi
diagrams? - Four or more non-collinear sites are
- sufficient to create a bounded region
- necessary to create a bounded region
- 1 and 2
- none of above
11Who wants to be a Millionaire?
- Which of the following is true for2-D Voronoi
diagrams? - Four or more non-collinear sites are
- sufficient to create a bounded region
- necessary to create a bounded region
- 1 and 2
- none of above
12Degenerate Case no bounded region!
v
13Summary of Voronoi Properties
- A point q lies on a Voronoi edge between sites
pi and pj iff the largest empty circle centered
at q touches only pi and pj - A Voronoi edge is a subset of locus of points
equidistant from pi and pj
pi site points
e Voronoi edge
v Voronoi vertex
v
pi
14Summary of Voronoi Properties
- A point q is a vertex iff the largest empty
circle centered at q touches at least 3 sites - A Voronoi vertex is an intersection of 3 or more
segments, each equidistant from a pair of sites
pi site points
e Voronoi edge
v Voronoi vertex
v
pi
15Delaunay Triangulation
- Let Spi be the site points such that 4 or
more are not co - circular. Then the Delaunay triangulation and the
Voronoi - diagram are dual as plane graphs
- Every Delaunay node pi corresponds to a Voronoi
region V(pi ) - Every Delaunay edge pi pj (i?j) corresponds to
an edge shared by two Voronoi regions V(pi ) and
V(pj ). - Every Voronoi vertex v corresponds to a Delaunay
face
16Delaunay Triangulation
17Delaunay Triangulation
18Delaunay Triangulation
- A Voronoi diagram and its dual, a
- Delaunay Triangulation. To build
- the Delaunay triangulation, draw a
- line segment between any two sites
- whose Voronoi regions share an
- edge. This procedure splits the
- convex hull of the sites into
- triangles.
19Delaunay Triangulation - Properties
- 1. Every edge belonging to the convex hull of
Spi is an edge of any Delaunay - triangulation
- Let e be an internal edge of the triangulation.
- 2. Max-min angle property Either the
quadrilateral Q formed by the two triangles - sharing the edge e is not convex or e is the
diagonal of Q which maximizes the - minimum of 6 internal angles associated with each
of the two possible - triangulations of Q.
20Delaunay Triangulation- Properties
- 3. Local empty-circle property
- The circumcircle of the 2 triangles
- sharing the edge e does not contain the
- vertex of the other triangle in its
- interior.
- Note Properties 2 and 3 are locally
- equivalent. Basically they say that
- a Delaunay triangulation is well
- balanced the triangles tend
- toward equiangularity
21Delaunay Triangulation- Properties
- It is dual to the Voronoi diagram computing one
automatically gives you the other - It is a planar graph by Eulers formula, it has
at most 3n-6 edges and at most 2n-5 triangles.
This property can be used to reduce many problems
with quadratic size (like closest pair) down to
linear size in the time it takes to construct the
triangulation
22Delaunay Triangulation -- Special Case
- When more than three Voronoi sites are
co-circular, the Delaunay triangulation is not a
triangulation
23Delaunay Triangulation vs. Triangulation
- A triangulation of a finite point set S is a
triangulation of the convex hull of the set S
that uses all the points of S. The line segments
of the triangulation may not cross, they may meet
only at shared endpoints, points of S. - A triangulation of a point set S is a Delaunay
triangulation if the circumcircle of every
triangle is point free
24Finding a Delaunay triangulationIncremental
construction
- This algorithm works by growing a current
triangulation, triangle by triangle. - Initially the current triangulation consists of a
single hull edge. At completion the current
triangulation equals the Delaunay triangulation - At each iteration the algorithm seeks a new
triangle which attaches to the frontier of the
current triangulation - Classification of edges dormant not yet
discovered by the algorithm live it has been
discovered but only one face is known dead
edge has been discovered and both faces are known - Initially one live edge, the remaining edges
are dormant - As the algorithm proceeds, edges transition from
dormant to live, then from live to dead. The
frontier at each stage consists of the set of
live edges
25Finding a Delaunay triangulationIncremental
construction
- In each iteration, select any edge e of the
frontier and process it, i.e. seek edges e
unknown face. Each edge is directed such that its
unknown face (to be sought) lies to the right of
the edge - This face can be some triangle t determined by e
and some third vertex v. In this case edge e dies
since both of its faces are known now and each of
the other two edges of triangle t transition to
the next state - Vertex v the mate of edge e.
- If face turns out to be the unbounded plane, edge
e simply dies - Attach picture Growing a Delaunay triangulation
- Maintain a dictionary frontier of live edges.
Look-up in the dictionary using a method edgeComp
26Finding a Delaunay triangulationIncremental
construction
- How does the frontier change from one iteration
to the next? Method updateFrontier that updates
the dictionary frontier of live edges - When a new triangle t attaches to the frontier
the state of the triangles three edges changes - The edge of t that attaches to the frontier
changes from live to dead remove it from the
dictionary - Each of the two remaining edges of t changes
state - from dormant to live if the edge is not already
in the dictionary or - From live to dead if the edge is already in the
dictionary - (See next slide)
27Finding a Delaunay triangulationIncremental
construction
- Here we process the live edge af and, upon
discovering that point b is its mate, add
triangle afb to the current triangulation - Then look up the edge fb in the dictionary. Since
it is not present, its state changes from dormant
to live - To update the dictionary, flip fb so its unknown
face lies to its right and then insert the edge
into the dictionary - Next, look up the edge ba in the dictionary it
is present (live, with known face triangle abc).
Its unknown face, triangle afb, has just been
discovered, so remove the edge from the
dictionary
28Finding a Delaunay triangulationIncremental
construction
- Finding the mate of an edge
- Any edge ab determines an infinite family of
circles whose boundaries contain both points a
and b. The centers of the circles lie along edge
abs perpendicular bisector. Parameterize the
perpendicular bisector and let Cr denote the
circle corresponding to parametric value r. - If abs known face is unbounded, then r minus
infinity and Cr is the half plane to the left of
ab - Suppose that Cr is the circumcircle of abs
known face. Seek for the smallest value t gt r
such that some point of S lies in the boundary of
Ct - If no such t exists, then edge ab has no mate
- Imagine blowing a two-dimensional bubble through
the edge ab. If the bubble eventually reaches
some point of S, this point is the mate of edge ab
29Finding a Delaunay triangulationIncremental
construction
- Finding the mate of an edge
30Finding a Delaunay triangulationIncremental
construction
- Efficiency
- One edge leaves the frontier at each iteration.
Since every edge leaves the frontier exactly
once, the number of iterations equals the number
of edges in the Delaunay triangulation - No more than O(n) edges in the triangulation
O(n) iterations - Because it spends O(n) time per iteration O(n2)
31Resources
Interactive demonstration of construction of
Voronoi diagram and Delaunay triangulation
- http//www.cs.cornell.edu/Info/People/chew/Delauna
y.html
Animation of Fortunes plane sweep algorithm for
Voronoi diagrams
http//www.diku.dk/hjemmesider/studerende/duff/For
tune/