Delaunay Triangulations - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Delaunay Triangulations

Description:

Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications Height Interpolation Constrained Triangulation Height Interpolation A terrain is a 2D ... – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 19
Provided by: GLAB5
Learn more at: http://www.cs.unc.edu
Category:

less

Transcript and Presenter's Notes

Title: Delaunay Triangulations


1
Delaunay Triangulations
  • Reading Chapter 9 of the Textbook
  • Driving Applications
  • Height Interpolation
  • Constrained Triangulation

2
Height Interpolation
  • A terrain is a 2D surface in 3D space with a
    special property every vertical line intersects
    it in a point. That is, it is the graph of a
    function f A ? R2? R that assigns a height f(p)
    to every point p in the domain.
  • Problem From the height of the sample points we
    somehow have to approximate the height at the
    other points in the domain.
  • ? Triangles with small angles are undesirable.
    So, rank the triangulations by their smallest
    angles.

3
Triangulations of Planar Point Sets
  • Let P p1, p2, , pn be a set of points in
    the plane. A triangulation of P is the maximal
    planar subdivision S whose vertex set is P, s.t.
    no edge connecting 2 vertices can be added to S
    without destroying its planarity.
  • Let P be a set of n points in the plane, not all
    collinear, and let k denote the number of points
    in P that lie on the boundary of the convex hull
    of P. Then any triangulation of P has 2n-2-k
    triangles and 3n-3-k edges.

4
Basic Properties
  • Let C be a circle, l 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
  • ?arb
    gt ?apb ?aqb gt ?asb
  • An edge is illegal if we can locally increase
    the smallest angle by flipping that edge.

q
b
s
r
p
C
a
l
5
Basic Properties
  • Let T be a triangulation with an illegal edge e,
    and T be a triangulation obtained from T by
    flipping e. Then A(T) gt A(T), where A(.) stands
    for the smallest angle.
  • Let edge pipj be incident to triangles pipjpk and
    pipjpl, and let C be the circle through pi, pj,
    pk and pl. The edge is illegal if and only if
    the point pl lies in the interior of C.
    Furthermore, if the four points form a convex
    quadrilateral and do not lie on a common circle,
    then exactly one of pipj and pkpl is an illegal
    edge.

6
Legal Triangulation
  • A legal triangulation is a triangulation that do
    not contain any illegal edge. Any angle-optimal
    triangulation is legal.
  • We can compute legal triangulation by simply flip
    illegal edges till all edges are legal, given a
    triangulation. (see next)
  • there are only finite number of triangulations
    and every iteration the smallest angle increases.
    So, it works, but too slow!

7
LegalTriangulation(T)
  • Input Some triangulation T of a point set P.
  • Output A legal triangulation T.
  • 1. while T contains an illegal edge pi pj
  • 2. do ( Flip pi pj )
  • 3. Let pi pj pk and pi pj pl be the two
    triangles adjacent to pi pj
  • 4. Remove pi pj from T, and add pk pl
    instead
  • 5. return T

8
Voronoi Diagram Dual Graph
  • The Voronoi diagram of P, Vor(P), is the
    subdivision of the plane into n regions, one for
    each site in P, s.t. the region of a site p? P
    contains all points in the plane for which p is
    the closest site. The region of a site p is
    called the Voronoi cell of p, denoted by V(p).
  • The dual graph of Vor(P), G, has a node for every
    Voronoi cell (or every site). G has an arc
    between 2 nodes if the corresponding cells share
    an edge.

9
Delaunay Graph Triangulation
  • Delaunay graph of P, DG(p) is the straight-line
    embedding of G, where the node corresponding to
    the Voronoi cell V(p) is the point p, and the arc
    connecting the nodes of V(p) is the segment pq.
  • If P is in general position (i.e. no 4 points lie
    on a circle), then all vertices of the Voronoi
    diagram have degree three, and consequently all
    bounded faces of DG(p) are triangles. In this
    case, DG(p) is the Delaunay triangulation of P
    and unique.

10
Basic Properties of Delaunay Triangulations
  • Let P be a set of points in the plane.
  • 3 points are vertices of the same face of the
    DG(P) iff the circle thru them contains no point
    of P in interior.
  • 2 points form an edge of DG(P) iff there is a
    closed disc C that contains them on its boundary
    and doesnt contain any other point.
  • 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, iff the circumcircle of any
    triangulation of T doesnt contain a point of P
    in its interior.

11
Basic Properties of Delaunay Triangulations
  • 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.
  • Let P be a set of points in the plane. Any
    angle-optimal triangulation of P is a Delaunay
    triangulation of P. Any Delaunay triangulation
    of P maximizes the minimum angle over all
    triangulations of P.

12
Computing Delaunay Triangulation
  • Use Voronoi diagram to get Delaunay
    Triangulation.
  • Use Randomized Incremental Construction
  • Start with a big triangle that contains all the
    points. The vertices of this big triangle should
    not lie in any circle defined by 3 points in P.
  • Add one point pr at a time, then add edges from
    pr to the vertices of the existing triangle.
  • There are 2 cases to consider
  • pr lies in the interior of a triangle
  • pr falls on an edge (need to make sure new edges
    are legal by flipping edges if necessary).

13
DelaunayTriangulation(P)
  • Input A set P of n points in the plane
  • Output A Delaunay triangulation of P
  • 1. Let p-1 , p-2 p-3 be 3 point s.t. P is
    contained in triangle p-1 p-2 p-3
  • 2. Initialize T as triangulation consisting of a
    single triangle p-1 p-2 p-3
  • 3. Compute a random permutation p1 , , pn of P
  • 4. for r ? 1 to n
  • 5. do ( Insert pr into T )
  • 6. Find a triangle pi pj pk ? T
    containing pr
  • 7. if pr lies in the interior of the
    triangle pi pj pk
  • 8. then Add edges from pr to 3
    vertices of pi pj pk and split it
  • 9. LegalizeEdge(pr , pi pj
    , T)
  • 10. LegalizeEdge(pr , pj pk ,
    T)
  • 11. LegalizeEdge(pr , pk pi ,
    T)

14
DelaunayTriangulation(P)
  • 12. else ( pr lies on an edge of pi
    pj pk, say the edge pi pj )
  • 13. Add edges from pr to pk
    and to the third vertex of
  • other triangle that is
    incident to pi pj , thereby
  • splitting 2 triangles
    incident to pi pj into 4 tris
  • 14. LegalizeEdge(pr , pi pl ,
    T)
  • 15. LegalizeEdge(pr , pl pj ,
    T)
  • 16. LegalizeEdge(pr , pj pk ,
    T)
  • 17. LegalizeEdge(pr , pk pi ,
    T)
  • 18. Discard p-1 , p-2 and p-3 with all their
    incident edges from T
  • 19. return T

15
LegalizeEdge(pr , pi pj , T)
  • 1. ( The point being inserted is pr , and pi pj
    is the edge of T
  • that may need to be flipped )
  • 2. if pi pj is illegal
  • 3. then Let pi pj pk be triangle adjacent to
    pr pi pj along pi pj
  • 4. ( Flip pi pj ) Replace pi pj
    with pr pk
  • 5. LegalizeEdge(pr , pi pk , T)
  • 6. LegalizeEdge(pr , pk pj , T)

16
Find Triangle Containing Pr
  • While we build the Delaunay triangulation, we
    also build a point location structure D. The
    leaves of D correspond to the triangles of
    current triangulation T. We maintain cross
    pointers between the leaves and the
    triangulation. The internal nodes of D
    correspond to triangles that were in
    triangulation at some earlier stage, but have
    been destroyed.
  • We initialize D as a DAG with a single leaf node
    that corresponds to the big triangle.
  • For the rest, see the pictorial example.

17
How to Pick a Big Triangle
  • Let M be the maximum value of any coordinate of a
    point in P. Then, the triangle has the vertices
    at (3M, 0), (0, 3M), and (- 3M, - 3M).
  • Then, handle the cases where the edge that Pr
    lies on has one vertex with a negative index.

18
Algorithm Analysis
  • The Delaunay triangulation of a set of n points
    in the plane can be computed in O(n log n)
    expected time, using O(n) expected storage
  • see the proof in 9.4 (similar to previous
    analysis for randomized algorithms)
Write a Comment
User Comments (0)
About PowerShow.com