68
Introduction Triangulations Delaunay Triangulations Applications Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations

Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

  • Upload
    lethuan

  • View
    233

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Delaunay Triangulations

Computational Geometry

Lecture 12: Delaunay Triangulations

Computational Geometry Lecture 12: Delaunay Triangulations

Page 2: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Motivation: Terrains by interpolation

To build a model of the terrainsurface, we can start with a numberof sample points where we know theheight.

Computational Geometry Lecture 12: Delaunay Triangulations

Page 3: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Motivation: Terrains

How do we interpolate the height atother points?

Nearest neighbor interpolation

Piecewise linear interpolation bya triangulation

Moving windows interpolation

Natural neighbor interpolation

. . .

?233

246

211

258

251

235

240

Computational Geometry Lecture 12: Delaunay Triangulations

Page 4: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Triangulation

Let P = {p1, . . . ,pn} be a point set.A triangulation of P is a maximalplanar subdivision with vertex set P.

Complexity:

2n−2− k triangles

3n−3− k edges

where k is the number of points in Pon the convex hull of P

Computational Geometry Lecture 12: Delaunay Triangulations

Page 5: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Triangulation

But which triangulation?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 6: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Triangulation

But which triangulation?

For interpolation, it is good if triangles are not long andskinny. We will try to use large angles in our triangulation.

Computational Geometry Lecture 12: Delaunay Triangulations

Page 7: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Angle Vector of a Triangulation

Let T be a triangulation of P with m triangles. Its anglevector is A(T) = (α1, . . . ,α3m) where α1, . . . ,α3m are theangles of T sorted by increasing value.

Let T′ be another triangulation ofP. We define A(T)> A(T′) if A(T)is lexicographically larger thanA(T′)

T is angle optimal if A(T)≥ A(T′)for all triangulations T′ of P

α1

α2 α3

α4

α5

α6

Computational Geometry Lecture 12: Delaunay Triangulations

Page 8: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Edge Flipping

edge flip

pi α4

α1

α3

α5

α2

α6

pj

pk

pl

α′1

α′4

α′3

α′5

α′2

α′6

pi

pj

pk

pl

Change in angle vector:α1, . . . ,α6 are replaced by α ′1, . . . ,α

′6

The edge e = pipj is illegal if min1≤i≤6 αi < min1≤i≤6 α ′iFlipping an illegal edge increases the angle vector

Computational Geometry Lecture 12: Delaunay Triangulations

Page 9: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Characterisation of Illegal Edges

How do we determine if an edge is illegal?

Lemma: The edge pipj is illegal ifand only if pl lies in the interior ofthe circle C. pi

pj

pk

pl

illegal

Computational Geometry Lecture 12: Delaunay Triangulations

Page 10: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Thales Theorem

Theorem: Let C be a circle, ` a lineintersecting C in points a and b, andp,q,r,s points lying on the same sideof `. Suppose that p,q lie on C, r liesinside C, and s lies outside C. Then

]arb > ]apb = ]aqb > ]asb,

where ]abc denotes the smallerangle defined by three points a,b,c.

` C

p

q

r

s

a

b

Computational Geometry Lecture 12: Delaunay Triangulations

Page 11: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Legal Triangulations

A legal triangulation is a triangulation that does not containany illegal edge.

Algorithm LegalTriangulation(T)Input. A triangulation T of a point set P.Output. A legal triangulation of P.1. while T contains an illegal edge pipj

2. do (∗ Flip pipj ∗)3. Let pipjpk and pipjpl be the two triangles adjacent

to pipj.4. Remove pipj from T, and add pkpl instead.5. return T

Question: Why does this algorithm terminate?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 12: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Voronoi Diagram and Delaunay Graph

Let P be a set of n points in theplane

The Voronoi diagram Vor(P) isthe subdivision of the plane intoVoronoi cells V(p) for all p ∈ P

Let G be the dual graph ofVor(P)

The Delaunay graph DG(P) isthe straight line embedding of G

Computational Geometry Lecture 12: Delaunay Triangulations

Page 13: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Voronoi Diagram and Delaunay Graph

Let P be a set of n points in theplane

The Voronoi diagram Vor(P) isthe subdivision of the plane intoVoronoi cells V(p) for all p ∈ P

Let G be the dual graph ofVor(P)

The Delaunay graph DG(P) isthe straight line embedding of G

Computational Geometry Lecture 12: Delaunay Triangulations

Page 14: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Voronoi Diagram and Delaunay Graph

Let P be a set of n points in theplane

The Voronoi diagram Vor(P) isthe subdivision of the plane intoVoronoi cells V(p) for all p ∈ P

Let G be the dual graph ofVor(P)

The Delaunay graph DG(P) isthe straight line embedding of G

Computational Geometry Lecture 12: Delaunay Triangulations

Page 15: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Voronoi Diagram and Delaunay Graph

Let P be a set of n points in theplane

The Voronoi diagram Vor(P) isthe subdivision of the plane intoVoronoi cells V(p) for all p ∈ P

Let G be the dual graph ofVor(P)

The Delaunay graph DG(P) isthe straight line embedding of G

Computational Geometry Lecture 12: Delaunay Triangulations

Page 16: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Planarity of the Delaunay Graph

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

Cij

pi

pj

contained in V(pi)

contained in V(pj)

Computational Geometry Lecture 12: Delaunay Triangulations

Page 17: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Delaunay Triangulation

If the point set P is in general position then the Delaunay graphis a triangulation.

vf

Computational Geometry Lecture 12: Delaunay Triangulations

Page 18: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Empty Circle Property

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

Computational Geometry Lecture 12: Delaunay Triangulations

Page 19: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Delaunay Triangulations and Legal Triangulations

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

pi

pjpk

pl

C(pipjpk)

pm C(pipjpm)

e

Computational Geometry Lecture 12: Delaunay Triangulations

Page 20: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Angle Optimality and Delaunay Triangulations

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

Computational Geometry Lecture 12: Delaunay Triangulations

Page 21: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Properties

Computing Delaunay Triangulations

There are several ways to compute the Delaunay triangulation:

By iterative flipping from any triangulation

By plane sweep

By randomized incremental construction

By conversion from the Voronoi diagram

The last three run in O(n logn) time [expected] for n points inthe plane

Computational Geometry Lecture 12: Delaunay Triangulations

Page 22: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Using Delaunay Triangulations

Delaunay triangulations help in constructing various things:

Euclidean Minimum Spanning Trees

Approximations to the EuclideanTraveling Salesperson Problem

α-Hulls

Computational Geometry Lecture 12: Delaunay Triangulations

Page 23: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

For a set P of n points in the plane, theEuclidean Minimum Spanning Tree isthe graph with minimum summed edgelength that connects all points in P andhas only the points of P as vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 24: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

For a set P of n points in the plane, theEuclidean Minimum Spanning Tree isthe graph with minimum summed edgelength that connects all points in P andhas only the points of P as vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 25: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

Lemma: The Euclidean Minimum Spanning Tree doesnot have cycles (it really is a tree)

Proof: Suppose G is the shortest connected graph andit has a cycle. Removing one edge from the cycle makesa new graph G′ that is still connected but which isshorter. Contradiction

Computational Geometry Lecture 12: Delaunay Triangulations

Page 26: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

Lemma: Every edge of theEuclidean Minimum Spanning Treeis an edge in the Delaunay graph

Proof: Suppose T is an EMST withan edge e = pq that is not Delaunay

Consider the circle C that has e asits diameter. Since e is not Delaunay,C must contain another point r in P(different from p and q)

p

q

r

Computational Geometry Lecture 12: Delaunay Triangulations

Page 27: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

Lemma: Every edge of theEuclidean Minimum Spanning Treeis an edge in the Delaunay graph

Proof: (continued)

Either the path in T from r to ppasses through q, or vice versa.The cases are symmetric, so we canassume the former case

p

q

r

Computational Geometry Lecture 12: Delaunay Triangulations

Page 28: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

Lemma: Every edge of theEuclidean Minimum Spanning Treeis an edge in the Delaunay graph

Proof: (continued)

Then removing e and inserting prinstead will give a connected graphagain (in fact, a tree)

Since q was the furthest point from pinside C, r is closer to q, so T wasnot a minimum spanning tree.Contradiction

p

q

r

Computational Geometry Lecture 12: Delaunay Triangulations

Page 29: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

How can we compute a Euclidean Minimum Spanning Treeefficiently?

From your Data Structures course: A data structure exists thatmaintains disjoint sets and allows the following two operations:

Union: Takes two sets and makes one new set that is theunion (destroys the two given sets)

Find: Takes one element and returns the name of the setthat contains it

If there are n elements in total, then all Unions together takeO(n logn) time and each Find operation takes O(1) time

Computational Geometry Lecture 12: Delaunay Triangulations

Page 30: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

Let P be a set of n points in the plane for which we want tocompute the EMST

1 Make a Union-Find structure where every point of P is ina separate set

2 Construct the Delaunay triangulation DT of P3 Take all edges of DT and sort them by length4 For all edges e from short to long:

Let the endpoints of e be p and qIf Find(p) 6= Find(q), then put e in the EMST, andUnion(Find(p),Find(q))

Computational Geometry Lecture 12: Delaunay Triangulations

Page 31: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Euclidean Minimum Spanning Tree

Step 1 takes linear time, the other three steps take O(n logn)time

Theorem: Let P be a set of n points in the plane.The Euclidean Minimum Spanning Tree of P can becomputed in O(n logn) time

Computational Geometry Lecture 12: Delaunay Triangulations

Page 32: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

The traveling salesperson problem

Given a set P of n points in the plane, the Euclidean TravelingSalesperson Problem is to compute a tour (cycle) that visitsall points of P and has minimum length

A tour is an order on the points of P (more precisely: a cyclicorder). A set of n points has (n−1)! different tours

Computational Geometry Lecture 12: Delaunay Triangulations

Page 33: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

The traveling salesperson problem

We can determine the length of each tour in O(n) time: abrute-force algorithm to solve the Euclidean TravelingSalesperson Problem (ETSP) takes O(n) ·O((n−1)!) = O(n!)time

How bad is n!?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 34: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Efficiency

n n2 2n n!6 36 64 7207 49 128 50408 64 256 40K9 81 512 360K

10 100 1024 3.5M15 225 32K 2,000,000T20 400 1M30 900 1G

Clever algorithms can solve instances in O(n2 ·2n) time

Computational Geometry Lecture 12: Delaunay Triangulations

Page 35: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

If an algorithm A solves an optimization problem alwayswithin a factor k of the optimum, then A is called ank-approximation algorithm

If an instance I of ETSP has an optimal solution of length L,then a k-approximation algorithm will find a tour of length≤ k ·L

Computational Geometry Lecture 12: Delaunay Triangulations

Page 36: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Consider the diameter problem of a set of npoints. We can compute the real value ofthe diameter in O(n logn) time

Suppose we take any point p, determine itsfurthest point q, and return their distance.This takes only O(n) time

Question: Is this an approximationalgorithm?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 37: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Consider the diameter problem of a set of npoints. We can compute the real value ofthe diameter in O(n logn) time

Suppose we take any point p, determine itsfurthest point q, and return their distance.This takes only O(n) time

Question: Is this an approximationalgorithm?

p

q

Computational Geometry Lecture 12: Delaunay Triangulations

Page 38: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Suppose we determine the point withminimum x-coordinate p and the point withmaximum x-coordinate q, and return theirdistance. This takes only O(n) time

Question: Is this an approximation algorithm?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 39: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Suppose we determine the point withminimum x-coordinate p and the point withmaximum x-coordinate q, and return theirdistance. This takes only O(n) time

Question: Is this an approximation algorithm?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 40: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Suppose we determine the point withminimum x-coordinate p and the point withmaximum x-coordinate q.Then we determine the point with minimumy-coordinate r and the point with maximumy-coordinate s.We return max(d(p,q), d(r,s)).This takes only O(n) time

Question: Is this an approximation algorithm?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 41: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Suppose we determine the point withminimum x-coordinate p and the point withmaximum x-coordinate q.Then we determine the point with minimumy-coordinate r and the point with maximumy-coordinate s.We return max(d(p,q), d(r,s)).This takes only O(n) time

Question: Is this an approximation algorithm?

Computational Geometry Lecture 12: Delaunay Triangulations

Page 42: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

start at any vertex

Computational Geometry Lecture 12: Delaunay Triangulations

Page 43: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

follow an edge on one side

Computational Geometry Lecture 12: Delaunay Triangulations

Page 44: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

. . . to get to another vertex

Computational Geometry Lecture 12: Delaunay Triangulations

Page 45: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

proceed this way

Computational Geometry Lecture 12: Delaunay Triangulations

Page 46: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

proceed this way

Computational Geometry Lecture 12: Delaunay Triangulations

Page 47: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

proceed this way

Computational Geometry Lecture 12: Delaunay Triangulations

Page 48: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 49: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 50: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 51: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 52: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 53: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 54: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 55: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

skipping visited vertices

Computational Geometry Lecture 12: Delaunay Triangulations

Page 56: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

and close the tour

Computational Geometry Lecture 12: Delaunay Triangulations

Page 57: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Back to Euclidean TravelingSalesperson:

We will use the EMST toapproximate the ETSP

and close the tour

Computational Geometry Lecture 12: Delaunay Triangulations

Page 58: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Why is this tour an approximation?

The walk visits every edge twice,so it has length 2 · |EMST|The tour skips vertices, whichmeans the tour has length≤ 2 · |EMST|The optimal ETSP-tour is aspanning tree if you remove anyedge!!!So |EMST|< |ETSP|

optimal ETSP-tour

Computational Geometry Lecture 12: Delaunay Triangulations

Page 59: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Approximation algorithms

Theorem: Given a set of n points in the plane, a tour visitingall points whose length is at most twice the minimum possiblecan be computed in O(n logn) time

In other words: an O(n logn) time, 2-approximation for ETSPexists

Computational Geometry Lecture 12: Delaunay Triangulations

Page 60: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

Suppose that you have a set ofpoints in the plane that weresampled from a shape

We would like to reconstruct theshape

Computational Geometry Lecture 12: Delaunay Triangulations

Page 61: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

Suppose that you have a set ofpoints in the plane that weresampled from a shape

We would like to reconstruct theshape

Computational Geometry Lecture 12: Delaunay Triangulations

Page 62: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

An α-disk is a disk of radius α

The α-shape of a point set P is thegraph with the points of P as thevertices, and two vertices p,q areconnected by an edge if there existsan α-disk with p and q on theboundary but no other points if Pinside or on the boundary

Computational Geometry Lecture 12: Delaunay Triangulations

Page 63: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

An α-disk is a disk of radius α

The α-shape of a point set P is thegraph with the points of P as thevertices, and two vertices p,q areconnected by an edge if there existsan α-disk with p and q on theboundary but no other points if Pinside or on the boundary

Computational Geometry Lecture 12: Delaunay Triangulations

Page 64: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

An α-disk is a disk of radius α

The α-shape of a point set P is thegraph with the points of P as thevertices, and two vertices p,q areconnected by an edge if there existsan α-disk with p and q on theboundary but no other points if Pinside or on the boundary

Computational Geometry Lecture 12: Delaunay Triangulations

Page 65: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

An α-disk is a disk of radius α

The α-shape of a point set P is thegraph with the points of P as thevertices, and two vertices p,q areconnected by an edge if there existsan α-disk with p and q on theboundary but no other points if Pinside or on the boundary

Computational Geometry Lecture 12: Delaunay Triangulations

Page 66: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

Because of the empty disk propertyof Delaunay triangulations (eachDelaunay edge has an empty diskthrough its endpoints), everyα-shape edge is also a Delaunayedge

Hence: there are O(n) α-shapeedges, and they cannot properlyintersect

Computational Geometry Lecture 12: Delaunay Triangulations

Page 67: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

α-Shapes

Given the Delaunay triangulation, wecan determine for any edge all sizesof empty disks through the endpointsin O(1) time

So the α-shape can be computed inO(n logn) time

Computational Geometry Lecture 12: Delaunay Triangulations

Page 68: Lecture 12: Delaunay Triangulationsjinhui/courses/cse581/slides/slides9... · Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations. Introduction

IntroductionTriangulations

Delaunay TriangulationsApplications

Minimum spanning treesTraveling SalespersonShape Approximation

Conclusions

The Delaunay triangulation is a versatile structure that can becomputed in O(n logn) time for a set of n points in the plane

Approximation algorithms are like heuristics, but they comewith a guarantee on the quality of the approximation. Theyare useful when an optimal solution is too time-consuming tocompute

Computational Geometry Lecture 12: Delaunay Triangulations