Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg,...

32
Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    218
  • download

    0

Transcript of Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg,...

Page 1: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Computing the Delaunay

TriangulationBy Nacha Chavez

Math 870 Computational Geometry; Ch.9; de Berg, van

Kreveld, Overmars, Schwarzkopf

By Nacha Chavez

Math 870 Computational Geometry; Ch.9; de Berg, van

Kreveld, Overmars, Schwarzkopf

Page 2: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

MotivationMotivation

When talking about mapping the surface of the Earth, it is unrealistic to assume there is no relief.

Need a method that approximates the peaks and valleys of a surface with a limited number of sample points efficiently and produces something that appears natural.

When talking about mapping the surface of the Earth, it is unrealistic to assume there is no relief.

Need a method that approximates the peaks and valleys of a surface with a limited number of sample points efficiently and produces something that appears natural.

Page 3: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

ApproachApproach

1) Model a set of data points by first determining a Triangulation of P. (This is our main focus!)

2) Lift each sample point to its appropriate height

3) Result: Polyhedral terrain approximating the original terrain.

1) Model a set of data points by first determining a Triangulation of P. (This is our main focus!)

2) Lift each sample point to its appropriate height

3) Result: Polyhedral terrain approximating the original terrain.

Page 4: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Page 5: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Our Big QuestionsOur Big Questions

1) How do we triangulate a set of sample points?

There are many different possibilities!

2) Which triangulation is the most appropriate to approximate a terrain?

No definitive answer. But, with a set of data, we can create a criterion that will aid us in finding the most natural approximation.

1) How do we triangulate a set of sample points?

There are many different possibilities!

2) Which triangulation is the most appropriate to approximate a terrain?

No definitive answer. But, with a set of data, we can create a criterion that will aid us in finding the most natural approximation.

Page 6: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

The Main CriterionThe Main Criterion

Maximize the minimal angle of every triangle in our triangulation.

This is in fact, the

Delaunay Triangulation!

Maximize the minimal angle of every triangle in our triangulation.

This is in fact, the

Delaunay Triangulation!

Page 7: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

First, some definitionsFirst, some definitions Terrain: A 2-D surface in 3-D space such that

every vertical line intersects it in a point, if it intersects at all.

Triangulation of P: A planar subdivision whose bounded faces are triangles and whose vertices are the points of P, where

. Maximal Planar Subdivision: A subdivision S

such that no edge connecting two vertices can be added to S without destroying its planarity.

Plane Graph: No two edges in the embedding cross.

Terrain: A 2-D surface in 3-D space such that every vertical line intersects it in a point, if it intersects at all.

Triangulation of P: A planar subdivision whose bounded faces are triangles and whose vertices are the points of P, where

. Maximal Planar Subdivision: A subdivision S

such that no edge connecting two vertices can be added to S without destroying its planarity.

Plane Graph: No two edges in the embedding cross.

P≡p1,p2,K,pn{ }

Page 8: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Redefining . . .Redefining . . .

Triangulation of P: The maximal planar subdivision whose vertex set is P.

Triangulation of P: The maximal planar subdivision whose vertex set is P.

Page 9: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

How We Compare Triangles

How We Compare Triangles

First, we need the notion of comparing angles.

Angle-Vector of T: is the angle-vector of T where T is the triangulation of P and is the list of 3m angles in T sorted by increasing angle.

First, we need the notion of comparing angles.

Angle-Vector of T: is the angle-vector of T where T is the triangulation of P and is the list of 3m angles in T sorted by increasing angle.

AT()≡α1,α2,K,α3m( ) α1,α 2 ,K ,α 3m

Page 10: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Compare Triangles . . .Compare Triangles . . .

: Let T and be triangulations of a point set P where and are the corresponding angle-vectors. Then we say the angle-vector of T is larger than the angle-vector of if is lexicographically larger than . This means if there exists an index i with such that

then .

: Let T and be triangulations of a point set P where and are the corresponding angle-vectors. Then we say the angle-vector of T is larger than the angle-vector of if is lexicographically larger than . This means if there exists an index i with such that

then .

A T( ) > A ′T( ) ′T AT()≡α1,α2,K,α3m( ) A ′T( ) ≡ ′α1, ′α2 ,K , ′α 3m( )

′T A T( )A ′T( )

1 ≤i ≤3mα j = ′α j for all j < i, and α i > ′α i

A T( ) > A ′T( )

Page 11: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Compare Triangles . . .Compare Triangles . . .

Angle-optimal: Our triangulation and corresponding angles are defined as in the previous slide. Then we say the triangulation T is angle-optimal if

.

Angle-optimal: Our triangulation and corresponding angles are defined as in the previous slide. Then we say the triangulation T is angle-optimal if

.A T( ) ≥A ′T( )

Page 12: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Compare Triangles . . .Compare Triangles . . .

Thale’s Theorem (9.2): Denote the smaller angle defined by three points p, q, r by . Let C be a circle, l be a line intersecting C in points a and b, and p, q, r, and s points lying on the same side of l. Suppose that p and q lie on C, that r lies inside C, and that s lies outside C. Then

Thale’s Theorem (9.2): Denote the smaller angle defined by three points p, q, r by . Let C be a circle, l be a line intersecting C in points a and b, and p, q, r, and s points lying on the same side of l. Suppose that p and q lie on C, that r lies inside C, and that s lies outside C. Then

Rpqr

Rarb > Rapb=Raqb> Rasb.

Page 13: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Making a legal Triangulation

Making a legal Triangulation

Edge Flip: If an edge e is not an edge of the unbounded face of P, then it is incident to two triangles and . If these two triangles form a convex quadrilateral, we can obtain a new triangulation by removing from T and inserting instead. This is called an edge flip.

Edge Flip: If an edge e is not an edge of the unbounded face of P, then it is incident to two triangles and . If these two triangles form a convex quadrilateral, we can obtain a new triangulation by removing from T and inserting instead. This is called an edge flip.

pi p j pk pi p j pl

′Tpi p j pk pl

Page 14: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Legal Triangulation . . .Legal Triangulation . . .

Illegal Edge: We call the edge an illegal edge if

. It turns out though, computing angles is

unnecessary. Instead, the following lemma introduces criterion based on edges. The correctness of this lemma follows directly from Thale’s Theorem.

Illegal Edge: We call the edge an illegal edge if

. It turns out though, computing angles is

unnecessary. Instead, the following lemma introduces criterion based on edges. The correctness of this lemma follows directly from Thale’s Theorem.

e =pi pj

min1≤i≤6

α i < min1≤i≤6

′α i

Page 15: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Legal TriangulationLegal Triangulation

Lemma 9.4: Let edge be incident to triangles and , and let C be the circle through . The edge is illegal if and only if the point lies in the interior of C. Furthermore, if the points

form a convex quadrilateral and do not lie on a common circle, then exactly one of and is an illegal edge.

Lemma 9.4: Let edge be incident to triangles and , and let C be the circle through . The edge is illegal if and only if the point lies in the interior of C. Furthermore, if the points

form a convex quadrilateral and do not lie on a common circle, then exactly one of and is an illegal edge.

pi p j

p i p j pk p i p j pl

p i , p j , and pk pi p j

pl

p i , p j , pk , pl

pi p j pk pl

Page 16: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Legal TriangulationLegal Triangulation

Legal Triangulation: A triangulation that does not contain any illegal edges.

Legal Triangulation: A triangulation that does not contain any illegal edges.

Page 17: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

The Delaunay Triangulation

Why We Trust DG(P)

The Delaunay Triangulation

Why We Trust DG(P)

We first must introduce the Voronoi Diagram of P:The subdivision of the plane P into n regions, one for each site (point) in P, such that the region of a site contains all points in the plane for which p is the closest site. We denote this as Vor(P).

We first must introduce the Voronoi Diagram of P:The subdivision of the plane P into n regions, one for each site (point) in P, such that the region of a site contains all points in the plane for which p is the closest site. We denote this as Vor(P).

p ∈P

Page 18: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Understanding DG(P) . . .Understanding DG(P) . . .

Delaunay Graph of P: The strait line embedding of a graph G, which has a line connecting two nodes if their corresponding Voronoi cells share an edge, denoted as DG(P).

Theorem 9.5: The Delaunay graph of a planar point set is a plane graph.

(No two edges in the embedding cross!)

Delaunay Graph of P: The strait line embedding of a graph G, which has a line connecting two nodes if their corresponding Voronoi cells share an edge, denoted as DG(P).

Theorem 9.5: The Delaunay graph of a planar point set is a plane graph.

(No two edges in the embedding cross!)

Page 19: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Understanding DG(P) . . .Understanding DG(P) . . .

General Position: We say that a set of points in general position if it contains no four points on a circle. Therefore, P in general position means every vertex of the Voronoi diagram has degree three, and consequently all bounded faces of DG(P) are triangles.

General Position: We say that a set of points in general position if it contains no four points on a circle. Therefore, P in general position means every vertex of the Voronoi diagram has degree three, and consequently all bounded faces of DG(P) are triangles.

Page 20: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Understanding DG(P) . . .Understanding DG(P) . . .

Theorem 9.6: Let P be a set of points in the plane.

(i) Three points are vertices of the same face of the Delaunay graph of P

if and only if the circle through contains no point of P in its interior.

(ii) Two points from an edge of the Delaunay graph of P if and only if

there is a closed disc C that contains and on its boundary and does not contain any other point of P.

Theorem 9.6: Let P be a set of points in the plane.

(i) Three points are vertices of the same face of the Delaunay graph of P

if and only if the circle through contains no point of P in its interior.

(ii) Two points from an edge of the Delaunay graph of P if and only if

there is a closed disc C that contains and on its boundary and does not contain any other point of P.

p i , p j , pk ∈P

p i , p j , pr

p i , p j ∈P

pi p j

Page 21: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Understanding DG(P) . . .Understanding DG(P) . . .

Theorem 9.7: Let P be a set of points in the plane, and let T be a triangulation of P. Then T is a Delaunay triangulation of P if and only if the circumcircle of any triangle of T does not contain a point of P in its interior.

Theorem 9.8: Let P be a set of points in the plane. A triangulation T of P is legal if and only if T is a Delaunay triangulation of P.

Theorem 9.7: Let P be a set of points in the plane, and let T be a triangulation of P. Then T is a Delaunay triangulation of P if and only if the circumcircle of any triangle of T does not contain a point of P in its interior.

Theorem 9.8: Let P be a set of points in the plane. A triangulation T of P is legal if and only if T is a Delaunay triangulation of P.

Page 22: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

The Big ConclusionThe Big Conclusion

Theorem 9.9: Let P be a set of points in the plane. Any angle-optimal triangulation of P is a Delaunay triangulation of P. Furthermore, any Delaunay triangulation of P maximizes the minimum angle over all triangulations of P.

Theorem 9.9: Let P be a set of points in the plane. Any angle-optimal triangulation of P is a Delaunay triangulation of P. Furthermore, any Delaunay triangulation of P maximizes the minimum angle over all triangulations of P.

Page 23: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Computing DG(P)Computing DG(P)

We first begin by creating three new points to add to P, which is the set .

These points are chosen far enough away from our point set so that when they are removed at the end of our algorithm, they do not destroy the triangulation created. (This means they do not lie on any circle defined by three points in P.)

The Algorithm is randomized incremental, which means our vertex points are entered randomly, and a Delaunay triangulation is maintained for the current point set.

We first begin by creating three new points to add to P, which is the set .

These points are chosen far enough away from our point set so that when they are removed at the end of our algorithm, they do not destroy the triangulation created. (This means they do not lie on any circle defined by three points in P.)

The Algorithm is randomized incremental, which means our vertex points are entered randomly, and a Delaunay triangulation is maintained for the current point set.

Ω = p−1, p−2 , p−3{ }

Page 24: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Computing DG(P) . . .Computing DG(P) . . .

When a point is added to our point set, we must find the triangle that contains our point then add lines from to the vertices of this triangle. We have two cases to consider:

When a point is added to our point set, we must find the triangle that contains our point then add lines from to the vertices of this triangle. We have two cases to consider:

pr

pip j

pk

pr

pi

p j

pk

pl

pr

pr pr

Page 25: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

The AlgorithmThe Algorithm

It is simple:

i) Add 3 points to P that surround our set.

ii) Choose a point and add edges.

iii)Check edges, if illegal, flip.

iv) Remove 3 points added in i).

v) Return triangulation of P.

It is simple:

i) Add 3 points to P that surround our set.

ii) Choose a point and add edges.

iii)Check edges, if illegal, flip.

iv) Remove 3 points added in i).

v) Return triangulation of P.

pr

Page 26: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

But, Why Does It Work?But, Why Does It Work?

Correctness of Algorithm:Must show no illegal edge left behind!

1. We see that every new edge added is incident to our point .2. We will see that every new edge added is in fact legal! 3. Combine 2) with the fact that any edge may become illegal only if it is incident to a triangle that has changed, then our algorithm tests any edge that may become illegal.

Correctness of Algorithm:Must show no illegal edge left behind!

1. We see that every new edge added is incident to our point .2. We will see that every new edge added is in fact legal! 3. Combine 2) with the fact that any edge may become illegal only if it is incident to a triangle that has changed, then our algorithm tests any edge that may become illegal.

pr

Page 27: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Why Every Added Edge is Legal

Why Every Added Edge is Legal

Lemma 9.10: Every new edge created in DELAUNAYTRIANGULATION or in LEGALIZEEDGE during the insertion of is an edge of the Delaunay graph of

.

Thus, our algorithm is correct!

Lemma 9.10: Every new edge created in DELAUNAYTRIANGULATION or in LEGALIZEEDGE during the insertion of is an edge of the Delaunay graph of

.

Thus, our algorithm is correct!

Ω∪ p1,..., pr{ }

pr

Page 28: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Two More Points!Two More Points!

How we find . How to choose and

decide if an edge is illegal.

How we find . How to choose and

decide if an edge is illegal.

pr

Ω = p−1, p−2 , p−3{ }

Page 29: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

ComplexityComplexity

Theorem 9.12: The Delaunay triangulation of set P of n points in the plane can be computed in O(nlogn) expected time, using O(n) expected storage.

Theorem 9.12: The Delaunay triangulation of set P of n points in the plane can be computed in O(nlogn) expected time, using O(n) expected storage.

Page 30: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Revisit Our DiagramsRevisit Our Diagrams

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

QuickTime™ and aTIFF (LZW) decompressor

are needed to see this picture.

Voroini Diagram Delaunay Graph

Approximated Terrain

Page 31: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

Final Thoughts . . .Final Thoughts . . . We now have an efficient algorithm for triangulating planar

point sets. Applications: 1. geosciences

<http://www.ncgia.ucsb.edu/conf/SANTA_FE_CD-ROM/sf_papers/lattuada_roberto/paper.html>

2. wireless networks<http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/trans/td/&toc=comp/trans/td/

2003/10/lxtoc.xml&DOI=10.1109/TPDS.2003.1239871>

3. list of multiple uses of Delaunay<http://www.ics.uci.edu/~eppstein/gina/delaunay.html>

4. site to generate Delaunay triangulation<http://www.dlc.fi/~dkpa/>

We now have an efficient algorithm for triangulating planar point sets.

Applications: 1. geosciences

<http://www.ncgia.ucsb.edu/conf/SANTA_FE_CD-ROM/sf_papers/lattuada_roberto/paper.html>

2. wireless networks<http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/trans/td/&toc=comp/trans/td/

2003/10/lxtoc.xml&DOI=10.1109/TPDS.2003.1239871>

3. list of multiple uses of Delaunay<http://www.ics.uci.edu/~eppstein/gina/delaunay.html>

4. site to generate Delaunay triangulation<http://www.dlc.fi/~dkpa/>

Page 32: Computing the Delaunay Triangulation By Nacha Chavez Math 870 Computational Geometry; Ch.9; de Berg, van Kreveld, Overmars, Schwarzkopf By Nacha Chavez.

ReferencesReferences

De Berg et.al. Computational Geometry. Springer-Verlag, 2000.

Fukuda, Komei. Frequently Asked Questions in Polyheral Computation. 2004ftp://ftp.ifor.math.ethz.ch/pub/fukuda/reports/polyfaq040618.pdf

Previous websites

De Berg et.al. Computational Geometry. Springer-Verlag, 2000.

Fukuda, Komei. Frequently Asked Questions in Polyheral Computation. 2004ftp://ftp.ifor.math.ethz.ch/pub/fukuda/reports/polyfaq040618.pdf

Previous websites