Post on 17-Dec-2015
Ruslana MysDelaunay Triangulation
Delaunay Triangulation (DT)
Introduction
Delaunay-Voronoi based method
Algorithms to compute the convex hull
Algorithms for generating the DT
Conclusion
Lehrstuhl für Informatik 10 (Systemsimulation)
Ruslana Mys
Ruslana MysDelaunay Triangulation
Introduction
Two basic types of the mesh
Structured mesh Unstructured mesh
Ruslana MysDelaunay Triangulation
Introduction
Outline of mesh generation approches
Hybrid
Approache
Structured
Meshes
Unstructured
Meshes
Multiblock
Approaches
Ruslana MysDelaunay Triangulation
Voronoi diagram
The Delaunay triangulation is closely related geometrically to the Voronoi
tessellation (also known as the Direchlet or Theissen tessellations).
Ruslana MysDelaunay 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 MysDelaunay 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 quadrilateral Maximization
E
E
Ruslana MysDelaunay 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
EE
Ruslana MysDelaunay 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 xi and yi 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
1112
1210
210
yyy
xxx
A
If A ≤ 0 → incremental algorithm (the points occure in clockwise order) O(n2)
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 MysDelaunay 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 MysDelaunay 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 MysDelaunay 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 MysDelaunay 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 MysDelaunay 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 MysDelaunay 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 (Watson’s) algorithm
Modification of an existing Delaunay triangulation while adding a new vertex at a time
Sloan‘s algorithm
Computation of Delaunay triangulation of arbitrary domain
O(n2)
O(n2)
Ruslana MysDelaunay 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 MysDelaunay 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 MysDelaunay 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 MysDelaunay 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 (Watson’s) algorithm:
Ruslana MysDelaunay Triangulation
Algorithms for generating the DT
Incremental (Watson’s) algorithm:
Initial triangulation After 100 insertion
After 200 insertion After 314 insertion
Ruslana MysDelaunay 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
1 2
3 4
Sloan’s algorithm:
Ruslana MysDelaunay 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
1 2
3 4
7
65
1 2
3 4
Sloan’s algorithm:
Ruslana MysDelaunay 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 MysDelaunay Triangulation
Thank you
for your attention !Thank you
for your attention !