Download - Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT) Introduction Delaunay-Voronoi based method Algorithms to compute the convex hull

Transcript
Page 1: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 2: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

Ruslana MysDelaunay Triangulation

Introduction

Two basic types of the mesh

Structured mesh Unstructured mesh

Page 3: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

Ruslana MysDelaunay Triangulation

Introduction

Outline of mesh generation approches

Hybrid

Approache

Structured

Meshes

Unstructured

Meshes

Multiblock

Approaches

Page 4: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

Ruslana MysDelaunay Triangulation

Voronoi diagram

The Delaunay triangulation is closely related geometrically to the Voronoi

tessellation (also known as the Direchlet or Theissen tessellations).

Page 5: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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.

Page 6: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 7: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 8: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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))

Page 9: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 10: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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))

Page 11: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 12: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 13: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute 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

Page 14: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute 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)

Page 15: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 16: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 17: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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

Page 18: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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:

Page 19: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

Ruslana MysDelaunay Triangulation

Algorithms for generating the DT

Incremental (Watson’s) algorithm:

Initial triangulation After 100 insertion

After 200 insertion After 314 insertion

Page 20: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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:

Page 21: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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:

Page 22: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

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:

Page 23: Ruslana Mys Delaunay Triangulation Delaunay Triangulation (DT)  Introduction  Delaunay-Voronoi based method  Algorithms to compute the convex hull

Ruslana MysDelaunay Triangulation

Thank you

for your attention !Thank you

for your attention !