computational geometry
play

Computational Geometry Lecture 12: Delaunay Triangulations - PowerPoint PPT Presentation

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


  1. Introduction Triangulations Delaunay Triangulations Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations Computational Geometry Lecture 12: Delaunay Triangulations

  2. Introduction Triangulations Delaunay Triangulations Motivation: Terrains a terrain is the graph of a function f : A ⊂ R 2 → R we know only height values for a set of measurement points how can we interpolate the height at other points? using a triangulation Computational Geometry Lecture 12: Delaunay Triangulations

  3. Introduction Triangulations Delaunay Triangulations Motivation: Terrains a terrain is the graph of a function f : A ⊂ R 2 → R we know only height values for a set of measurement points how can we interpolate the height at other points? using a triangulation Computational Geometry Lecture 12: Delaunay Triangulations

  4. Introduction Triangulations Delaunay Triangulations Motivation: Terrains a terrain is the graph of a function f : A ⊂ R 2 → R ? we know only height values for a set of measurement points how can we interpolate the height at other points? using a triangulation Computational Geometry Lecture 12: Delaunay Triangulations

  5. Introduction Triangulations Delaunay Triangulations Motivation: Terrains a terrain is the graph of a function f : A ⊂ R 2 → R ? we know only height values for a set of measurement points how can we interpolate the height at other points? using a triangulation Computational Geometry Lecture 12: Delaunay Triangulations

  6. Introduction Triangulations Delaunay Triangulations Motivation: Terrains 1000 20 0 980 q 36 10 a terrain is the graph of a 990 function f : A ⊂ R 2 → R 6 1008 28 we know only height values for a 23 4 890 interpolated height = 985 set of measurement points 20 0 1000 how can we interpolate the q 980 height at other points? 36 10 990 using a triangulation 6 28 1008 – but which? 23 4 890 interpolated height = 23 Computational Geometry Lecture 12: Delaunay Triangulations

  7. Introduction Triangulations Delaunay Triangulations Triangulation Let P = { p 1 ,..., p n } be a point set. A triangulation of P is a maximal planar subdivision with vertex set P . Computational Geometry Lecture 12: Delaunay Triangulations

  8. Introduction Triangulations Delaunay Triangulations Triangulation Let P = { p 1 ,..., p n } be a point set. A triangulation of P is a maximal planar subdivision with vertex set P . Complexity: 2 n − 2 − k triangles 3 n − 3 − k edges where k is the number of points in P on the convex hull of P . Computational Geometry Lecture 12: Delaunay Triangulations

  9. Introduction Triangulations Delaunay Triangulations Angle Vector of a Triangulation Let T be a triangulation of P with m triangles and 3 m vertices. Its angle vector is A ( T ) = ( α 1 ,..., α 3 m ) where α 1 ,..., α 3 m are the angles of T sorted by increasing value. Let T ′ be another triangulation of P . α 5 α 1 α 4 We define A ( T ) > A ( T ′ ) if A ( T ) is lexicographically larger than A ( T ′ ) . α 6 α 3 α 2 T is angle optimal if A ( T ) ≥ A ( T ′ ) for all triangulations T ′ of P . A ( T ) = ( α 1 ,..., α 6 ) Computational Geometry Lecture 12: Delaunay Triangulations

  10. Introduction Triangulations Delaunay Triangulations Angle Vector of a Triangulation Let T be a triangulation of P with m triangles and 3 m vertices. Its angle vector is A ( T ) = ( α 1 ,..., α 3 m ) where α 1 ,..., α 3 m are the angles of T sorted by increasing value. Let T ′ be another triangulation of P . α 5 α 1 α 4 We define A ( T ) > A ( T ′ ) if A ( T ) is lexicographically larger than A ( T ′ ) . α 6 α 3 α 2 T is angle optimal if A ( T ) ≥ A ( T ′ ) for all triangulations T ′ of P . A ( T ) = ( α 1 ,..., α 6 ) Computational Geometry Lecture 12: Delaunay Triangulations

  11. Introduction Triangulations Delaunay Triangulations Angle Vector of a Triangulation Let T be a triangulation of P with m triangles and 3 m vertices. Its angle vector is A ( T ) = ( α 1 ,..., α 3 m ) where α 1 ,..., α 3 m are the angles of T sorted by increasing value. Let T ′ be another triangulation of P . α 5 α 1 α 4 We define A ( T ) > A ( T ′ ) if A ( T ) is lexicographically larger than A ( T ′ ) . α 6 α 3 α 2 T is angle optimal if A ( T ) ≥ A ( T ′ ) for all triangulations T ′ of P . A ( T ) = ( α 1 ,..., α 6 ) Computational Geometry Lecture 12: Delaunay Triangulations

  12. Introduction Triangulations Delaunay Triangulations Edge Flipping p l p l p j p j α ′ α 3 α 2 α ′ edge flip 4 α ′ 6 α 5 2 α ′ α 1 α 6 5 α ′ α ′ α 4 1 p i p i 3 p k p k Change in angle vector: α 1 ,..., α 6 are replaced by α ′ 1 ,..., α ′ 6 . The edge e = p i p j is illegal if min 1 ≤ i ≤ 6 α i < min 1 ≤ i ≤ 6 α ′ i . Flipping an illegal edge increases the angle vector. Computational Geometry Lecture 12: Delaunay Triangulations

  13. Introduction Triangulations Delaunay Triangulations Edge Flipping p l p l p j p j α ′ α 3 α 2 α ′ edge flip 4 α ′ 6 α 5 2 α ′ α 1 α 6 5 α ′ α ′ α 4 1 p i p i 3 p k p k Change in angle vector: α 1 ,..., α 6 are replaced by α ′ 1 ,..., α ′ 6 . The edge e = p i p j is illegal if min 1 ≤ i ≤ 6 α i < min 1 ≤ i ≤ 6 α ′ i . Flipping an illegal edge increases the angle vector. Computational Geometry Lecture 12: Delaunay Triangulations

  14. Introduction Triangulations Delaunay Triangulations Edge Flipping p l p l p j p j α ′ α 3 α 2 α ′ edge flip 4 α ′ 6 α 5 2 α ′ α 1 α 6 5 α ′ α ′ α 4 1 p i p i 3 p k p k Change in angle vector: α 1 ,..., α 6 are replaced by α ′ 1 ,..., α ′ 6 . The edge e = p i p j is illegal if min 1 ≤ i ≤ 6 α i < min 1 ≤ i ≤ 6 α ′ i . Flipping an illegal edge increases the angle vector. Computational Geometry Lecture 12: Delaunay Triangulations

  15. Introduction Triangulations Delaunay Triangulations Edge Flipping p l p l p j p j α ′ α 3 α 2 α ′ edge flip 4 α ′ 6 α 5 2 α ′ α 1 α 6 5 α ′ α ′ α 4 1 p i p i 3 p k p k Change in angle vector: α 1 ,..., α 6 are replaced by α ′ 1 ,..., α ′ 6 . The edge e = p i p j is illegal if min 1 ≤ i ≤ 6 α i < min 1 ≤ i ≤ 6 α ′ i . Flipping an illegal edge increases the angle vector. Computational Geometry Lecture 12: Delaunay Triangulations

  16. Introduction Triangulations Delaunay Triangulations Characterisation of Illegal Edges How do we determine if an edge is illegal? Computational Geometry Lecture 12: Delaunay Triangulations

  17. Introduction Triangulations Delaunay Triangulations Characterisation of Illegal Edges How do we determine if an edge is illegal? p l Lemma: The edge p i p j is illegal if and only if p l lies in the interior p j of the circle C . p i p k illegal Computational Geometry Lecture 12: Delaunay Triangulations

  18. Introduction Triangulations Delaunay Triangulations Thales Theorem s q p r Theorem: Let C be a circle, ℓ a line intersecting C in points a and b , and p , q , r , s points lying on the same side b of ℓ . Suppose that p , q lie on C , r lies ℓ a C inside C , and s lies outside C . Then ∡ arb > ∡ apb = ∡ aqb > ∡ asb , where ∡ abc denotes the smaller angle defined by three points a , b , c . Computational Geometry Lecture 12: Delaunay Triangulations

  19. Introduction Triangulations Delaunay Triangulations Thales Theorem s q p r Theorem: Let C be a circle, ℓ a line intersecting C in points a and b , and p , q , r , s points lying on the same side b of ℓ . Suppose that p , q lie on C , r lies ℓ a C inside C , and s lies outside C . Then ∡ arb > ∡ apb = ∡ aqb > ∡ asb , p l where ∡ abc denotes the smaller p j angle defined by three points a , b , c . p i p k illegal Computational Geometry Lecture 12: Delaunay Triangulations

  20. Introduction Triangulations Delaunay Triangulations Thales Theorem s q p r Theorem: Let C be a circle, ℓ a line intersecting C in points a and b , and p , q , r , s points lying on the same side b of ℓ . Suppose that p , q lie on C , r lies ℓ a C inside C , and s lies outside C . Then α ′ < α ∡ arb > ∡ apb = ∡ aqb > ∡ asb , β ′ < β p l where ∡ abc denotes the smaller α β p j angle defined by three points a , b , c . α ′ p i β ′ p k illegal Computational Geometry Lecture 12: Delaunay Triangulations

  21. Introduction Triangulations Delaunay Triangulations Legal Triangulations A legal triangulation is a triangulation that does not contain any illegal edge. Computational Geometry Lecture 12: Delaunay Triangulations

  22. Introduction Triangulations Delaunay Triangulations Legal Triangulations A legal triangulation is a triangulation that does not contain any 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 p i p j 2. do ( ∗ Flip p i p j ∗ ) 3. Let p i p j p k and p i p j p l be the two triangles adjacent to p i p j . 4. Remove p i p j from T , and add p k p l instead. 5. return T Computational Geometry Lecture 12: Delaunay Triangulations

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend