Ruslana Mys Delaunay Triangulation Voronoi diagram The Delaunay triangulation is closely related geometrically to the Voronoi tessellation (also known as the Direchlet or Theissen tessellations).
Ruslana Mys Delaunay Triangulation Voronoi diagram The Delaunay triangulation is created by connecting all generating points which share a common tile edge. Thus formed, the triangle edges are perpendicular bisectors of the tile edges. This method has the O(log(n)) complexity.
Ruslana Mys Delaunay Triangulation Maximum-Minimum Angle Property The E satisfies min-max angle property iff either the quadrilateral formed by the two triangles sharing edge E is not strictly convex, or E is the diagonal of quadrilateral which maximizes the minimum of the six internal angles associated with each of the two possible triangulations of quadrilateral. Non-convex quadrilateralMaximization E E
Ruslana Mys Delaunay Triangulation Local Empty-Circle Property Let E be an internal edge of triangulation. Then E satisfies local empty-circle property iff the circumcircle of any of two triangles sharing edge E does not contain the vertex of the other triangle in ist interior. Not Delaunay triangulation Delaunay triangulation E E
Ruslana Mys Delaunay Triangulation Algorithms to computing the convex hull of set of points: Algorithms to computing the convex hull Incremental and Gift wrapping algorithms the idea is to add the points one at a time updating the hull first step is to compute the area A of starting triangle as where x i and y i are the coordinates of triangle vertecies (in 2D) Divide and conquer algorithm O(n*log(n))) can be used if the domain is very large If A 0 incremental algorithm (the points occure in clockwise order) O(n 2 ) If A 0 gift wrapping algorithm (the points occure in anti-clockwise order) (if the # of sides of the hull is h, then O(nh))
Ruslana Mys Delaunay Triangulation Incremental and Gift wrapping algorithms: Delete all edges from the hull that the new point can see Add two edges to connect the new point to the remainder of the old hull Repeat for the next point outside the hull Algorithms to computing the convex hull Gift wrapping Incremental Find least point A (with minimum y-coordinate) as the starting point We can find B where all points lie to the left of AB by scanning through all the points Similarly, we can find C where all points lie to the left of BC and so on
Ruslana Mys Delaunay Triangulation First sort the points by x coordinate Divide the points into two equal sized sets L and R s.t. all points of L are to the left of the most leftmost points in R. Recursively find the convex hull of L and R Algorithms to computing the convex hull Divide and conquer algorithm: 2D-case O(log(n))
Ruslana Mys Delaunay Triangulation To merge the left hull and the right hull it is necessary to find the two red edges The upper common tangent can be found in linear time by scanning around the left hull in a clockwise direction and around the right hull in an anti-clockwise direction Divide and conquer algorithm: Algorithms to computing the convex hull The two tangents divide each hull into two pieces. The edges belonging to one of these pieces must be deleted
Ruslana Mys Delaunay Triangulation To merge in 3D need to construct a cylinder of triangles connecting the left hull and the right hull Divide and conquer algorithm: 3D-case One edge of the cylinder AB is just the lower common tangent which can be computed just as in the 2D case Algorithms to computing the convex hull
Ruslana Mys Delaunay Triangulation Next need to find a triangle ABC belonging to the cylinder which has AB as one of its edges. The third vertex of the triangle (C) must belong to either the left hull or the right hull. (In this case it belongs to the right hull) Divide and conquer algorithm: After finding triangle ABC we now have a new edge AC that joins the left hull and the right hull. We can find triangle ACD just as we did ABC. Continuing in this way, we can find all the triangles belonging to the cylinder, ending when we get back to AB. Algorithms to computing the convex hull
Ruslana Mys Delaunay Triangulation Algorithms to generate the DT: Algorithms for genereting the (DT) Two-steps algorithm Computation of an arbitrary triangulation Optimization of triangulation to produce a Delaunay triangulation Incremental (Watsons) algorithm Modification of an existing Delaunay triangulation while adding a new vertex at a time Sloans algorithm Computation of Delaunay triangulation of arbitrary domain O(n 2 )
Ruslana Mys Delaunay Triangulation Computation of an any arbitrary triangulation of domain Optimaze this triangulation to produce the DT Algorithms for generating the DT Two-steps algorithm: Used to produce the coarse triangulation in refinement simplification process Optimization step: for every internal edge E do If E is not locally optimal, then swap it with the other diagonal of the quadrilateral formed by the two triangles sharing edge E Repeat the previose loop until one pass through the whole loop does not cause any edge swap
Ruslana Mys Delaunay Triangulation An edge pq is locally optimal iff Point s in the plane is outside circle prq Point l(s) in 3D space is above the oriented plane defined by the triple l(p), l(r), l(q) Optimization step: Algorithms for generating the DT
Ruslana Mys Delaunay Triangulation An edge pq is not locally optimal (it must be swapped) iff Point s in the plane is inside circle prq Point l(s) in 3D space is below the oriented plane defined by the triple l(p), l(r), l(q) Optimization step: Algorithms for generating the DT
Ruslana Mys Delaunay Triangulation Detection of the influence region Deletion of the triangles of this region Re-triangulate the region by join the point to the verticies of the influence polygon Algorithms for generating the DT Incremental (Watsons) algorithm:
Ruslana Mys Delaunay Triangulation Algorithms for generating the DT Incremental (Watsons) algorithm: Initial triangulation After 100 insertion After 200 insertion After 314 insertion
Ruslana Mys Delaunay Triangulation Nodalization of the domain Form a supertriangle by tree points, which is completely encompasses all points to be triangulated Create a triangle list array T, where the supertriangle is listed as the first triangle Algorithms for generating the DT Introduce the first point into the supertriangle and generate three triangles by connecting the three vertices of the supertriangle Delete the supertiangle from the list and put there three newly formed triangles 7 65 12 3 4 Sloans algorithm:
Ruslana Mys Delaunay Triangulation Algorithms for generating the DT Introduce the next point for triangulation Optimize the grid Repeat the previous two steps until all N points are consumed Finally, all triangles, which contain one or more of the vertices of supertriangle, are removed 7 65 12 3 4 7 65 12 3 4 Sloans algorithm:
Ruslana Mys Delaunay Triangulation Conclusion Advantages of DT: Wide range of utilization Irregular connectivity Number of neighboring nodes variable Equally easy (or difficult!) to generate for all domains Easy to vary point density Automatic mesh generation Elegant theoretical foundations Inherent grid quality Maximizes minimum angle in 2D, not in 3D Does not preserve original surface mesh Can produce sliver elements at the boundary (Dis)advantages of DT:
Ruslana Mys Delaunay Triangulation Thank you for your attention ! Thank you for your attention !