Delaunay Triangulations: Properties, Algorithms, and Complexity
Total Page:16
File Type:pdf, Size:1020Kb
Delaunay triangulations: properties, algorithms, and complexity Olivier Devillers 1-1 Delaunay triangulations: properties, algorithms, and complexity Extra question: what is the difference between an algorithm and a program? Olivier Devillers 1-2 Algorithm Recipe to go from the input to the output Formalized description in some language May use data structure Proof of correctness Complexity analysis 2 Delaunay Triangulation: definition, empty circle property 3-1 Delaunay Triangulation: definition, empty circle property Point set 3-2 Delaunay Triangulation: definition, empty circle property Point set Query 3-3 Delaunay Triangulation: definition, empty circle property Point set Query 3-4 Delaunay Triangulation: definition, empty circle property Point set Query 3-5 Delaunay Triangulation: definition, empty circle property Point set Query Nearest neighbor 3-6 Delaunay Triangulation: definition, empty circle property Point set Voronoi diagram 3-7 Delaunay Triangulation: definition, empty circle property Point set Voronoi diagram 3-8 Delaunay Triangulation: definition, empty circle property Point set Voronoi diagram 3-9 Delaunay Triangulation: definition, empty circle property Point set Voronoi diagram 3-10 Delaunay Triangulation: definition, empty circle property Point set Voronoi diagram Delaunay triangulation 3-11 Delaunay Triangulation: definition, empty circle property Point set Delaunay triangulation Empty circle property 3-12 Delaunay Triangulation: definition, empty circle property Point set Delaunay triangulation Empty circle property 3-13 Delaunay Triangulation: size 4-1 Delaunay Triangulation: size Vertices Edges Faces Euler relation n e + t +1 =2 − 4-2 Delaunay Triangulation: size Vertices Edges Faces Euler relation n e + t +1 =2 − triangular faces 3t + k =2e 4-3 Delaunay Triangulation: size Vertices Edges Faces Euler relation n e + t +1 =2 − triangular faces 3t + k =2e t =2n k 2 < 2n − − e =3n k 3 < 3n − − 4-4 Delaunay Triangulation: size Vertices Edges Faces Euler relation n e + t +1 =2 − triangular faces 3t + k =2e d◦(p)=2e =6n 2k 6 − − p S X2 1 E(d◦(p)) = n d◦(p) < 6 p S X2 average on the choice of point p in set of points S 4-5 Delaunay Triangulation: max-min angle 5-1 Delaunay Triangulation: max-min angle Triangulation Delaunay 5-2 Delaunay Triangulation: max-min angle Triangulation Delaunay smallest angle 5-3 Delaunay Triangulation: max-min angle Triangulation Delaunay smallest angle 5-4 Delaunay Triangulation: max-min angle Triangulation Delaunay smallest angle 5-5 Delaunay Triangulation: max-min angle Triangulation Delaunay smallest angle second smallest angle 5-6 Delaunay Triangulation: max-min angle Proof 6-1 Delaunay Triangulation: max-min angle Definition Delaunay edge 6-2 Delaunay Triangulation: max-min angle Definition Delaunay edge empty circle 9 6-3 Delaunay Triangulation: max-min angle Definition locally Delaunay edge w.r.t. a triangulation 6-4 Delaunay Triangulation: max-min angle Definition locally Delaunay edge w.r.t. a triangulation circle 9 not enclosing the two neighbors neighbor = visible from the edge 6-5 Delaunay Triangulation: max-min angle Lemma ( edge: locally Delaunay) Delaunay 8 () 7-1 Delaunay Triangulation: max-min angle Lemma ( edge: locally Delaunay) Delaunay 8 () Proof: choose an edge 7-2 Delaunay Triangulation: max-min angle Lemma ( edge: locally Delaunay) Delaunay 8 () Proof: choose an edge edges of the quadrilateral are locally Delaunay 7-3 Delaunay Triangulation: max-min angle Lemma ( edge: locally Delaunay) Delaunay 8 () Proof: choose an edge edges of the quadrilateral are locally Delaunay 7-4 Delaunay Triangulation: max-min angle Lemma ( edge: locally Delaunay) Delaunay 8 () Proof: choose an edge edges of the quadrilateral are locally Delaunay Vertices visible through one edge are outside circle 7-5 Delaunay Triangulation: max-min angle Lemma ( edge: locally Delaunay) Delaunay 8 () Proof: choose an edge edges of the quadrilateral are locally Delaunay Vertices visible through one edge are outside circle Induction all vertices outside circle ! 7-6 Delaunay Triangulation: max-min angle Lemma For four points in convex position Delaunay maximize the smallest angle () Two possible triangulation 8-1 Delaunay Triangulation: max-min angle Lemma For four points in convex position Delaunay maximize the smallest angle () Case 1: smallest angle in corner δ 8-2 Delaunay Triangulation: max-min angle Lemma For four points in convex position Delaunay maximize the smallest angle () Case 1: smallest angle in corner δ <δ asmallerangle other triangulation 8-3 9 2 Delaunay Triangulation: max-min angle Lemma For four points in convex position Delaunay maximize the smallest angle () Case 2: smallest angle along diagonal δ 8-4 Delaunay Triangulation: max-min angle Lemma For four points in convex position Delaunay maximize the smallest angle () Case 2: smallest angle along diagonal δ δ 8-5 Delaunay Triangulation: max-min angle Lemma For four points in convex position Delaunay maximize the smallest angle () Case 2: smallest angle <δ along diagonal δ δ asmallerangle other triangulation 8-6 9 2 Delaunay Triangulation: max-min angle 6n 3k 4 Map: Triangulations R − − smallest angle ↵1 ! 9-1 Delaunay Triangulation: max-min angle 6n 3k 4 Map: Triangulations R − − smallest angle ↵1 ! second smallest angle ↵2 9-2 Delaunay Triangulation: max-min angle 6n 3k 4 Map: Triangulations R − − smallest angle ↵1 ! second smallest angle ↵2 third smallest angle ↵3 9-3 Delaunay Triangulation: max-min angle 6n 3k 4 Map: Triangulations R − − smallest angle ↵1 ! second smallest angle ↵2 (↵1,↵2,↵3,...,↵6n 3k 4) − − third smallest angle ↵3 9-4 Delaunay Triangulation: max-min angle 6n 3k 4 Map: Triangulations R − − smallest angle ↵1 ! second smallest angle ↵2 (↵1,↵2,↵3,...,↵6n 3k 4) − − third smallest angle ↵3 sort triangulations in lexicographic order 9-5 Delaunay Triangulation: max-min angle Theorem: Delaunay maximizes minimum angles (in lexicographic order) 10 - 1 Delaunay Triangulation: max-min angle Theorem: Delaunay maximizes minimum angles (in lexicographic order) Proof: Let T be the triangulation maximizing angles 10 - 2 Delaunay Triangulation: max-min angle Theorem: Delaunay maximizes minimum angles (in lexicographic order) Proof: Let T be the triangulation maximizing angles = convex quadrilateral (from 2 triangles T ) )8 2 the diagonal maximizes smallest angle (in quad) 10 - 3 Delaunay Triangulation: max-min angle Theorem: Delaunay maximizes minimum angles (in lexicographic order) Proof: Let T be the triangulation maximizing angles = convex quadrilateral (from 2 triangles T ) )8 2 the diagonal maximizes smallest angle (in quad) = edge, it is locally Delaunay )8 10 - 4 Delaunay Triangulation: max-min angle Theorem: Delaunay maximizes minimum angles (in lexicographic order) Proof: Let T be the triangulation maximizing angles = convex quadrilateral (from 2 triangles T ) )8 2 the diagonal maximizes smallest angle (in quad) = edge, it is locally Delaunay )8 = T = Delaunay ) 10 - 5 Delaunay triangulation Lower bound A stupid algorithm for sorting numbers 11 - 1 Delaunay triangulation Lower bound A stupid algorithm for sorting numbers project on parabola 11 - 2 Delaunay triangulation Lower bound A stupid algorithm for sorting numbers project on parabola compute Delaunay triang. 11 - 3 Delaunay triangulation Lower bound A stupid algorithm for sorting numbers project on parabola compute Delaunay triang. find lowest point 11 - 4 Delaunay triangulation Lower bound A stupid algorithm for sorting numbers project on parabola compute Delaunay triang. find lowest point enumerate x coordinates in ccw CH order 11 - 5 Delaunay triangulation Lower bound A stupid algorithm for sorting numbers O(n) project on parabola f(n) compute Delaunay triang. O(n) find lowest point O(n) enumerate x coordinates in ccw CH order Lower bound on sorting = f(n)+O(n) ⌦(n log n) 11 - 6 ) ≥ Delaunay triangulation Lower bound A stupid algorithm for sorting numbers O(n) project on parabola f(n) compute Delaunay triang. O(n) find lowest point O(n) enumerate x coordinates in ccw CH order Lower bound on sorting = f(n)+O(n) ⌦(n log n) 11 - 7 ) ≥ Delaunay Triangulation: predicates 12 - 1 Delaunay Triangulation: predicates Orientation predicate r pqr +? q 111 xq xp xr xp − − = xp xq xr > 0 yq yp yr yp yp yq yr − − q pqr -? p 111 xp xq xr < 0 r yp yq yr p pqr 0? q 111 r xp xq xr =0 yp yq yr p 12 - 2 Delaunay Triangulation: predicates Incircle predicate r s q p pqr ccw triangle query s inside circumcircle 12 - 3 Delaunay Triangulation: predicates r s q p pqr ccw triangle query s cocircular 12 - 4 Delaunay Triangulation: predicates r s q p pqr ccw triangle query s outside circumcircle 12 - 5 Delaunay Triangulation: predicates r q p pqr ccw triangle query s 12 - 6 Delaunay Triangulation: predicates Space of circles ? 2 2 p =(x, y) p =(x, y, x + y ) 12 - 7 Delaunay Triangulation: predicates Space of circles s inside/outside of circle through pqr ? ? ? plane through p q r above/below s? incircle predicate 3D orientation predicate 12 - 8 Delaunay Triangulation: predicates Space of circles s inside/outside of circle through pqr ? ? ? plane through p q r above/below s? incircle predicate 1111 xp xq xr xs 3D orientation predicate sign yp yq yr ys 2 2 2 2 2 2 2 2 x + y x + y x + y x + y p p q q r r s s 12 - 9 Delaunay Triangulation: data structure Data structure for (Delaunay) triangulation Representing incidences Representing hull boundary Representing user’s data put colors in