Title: Mesh Generation and Delaunay-Based Meshes
1Mesh Generation and Delaunay-Based Meshes
- Jernej Barbic
- Computer Science Department
- Carnegie Mellon University
2- Outline
- Introduction
- Delaunay triangulation
- Rupperts algorithm
- Result on runtime analysis of Rupperts
algorithm - Conclusion
3Motivation Temperature on the Surface of a Lake
No analytical solution
Need to approximate
4How to approximate?
5How to approximate?
First guess uniformly.
Runs too slow!
6No need to consider only uniform meshes
Too much computation
Computation fast, but inaccurate
Optimal solution
BUT MUST AVOID SMALL ANGLES !!
7- Outline
- Introduction
- Delaunay triangulation
- Rupperts algorithm
- Result on runtime analysis of Rupperts
algorithm - Conclusion
8How to connect the dots into triangles?
9How to connect the dots into triangles?
One possibility
10How to connect the dots into triangles?
Another possibility
Which triangulation makes minimum angle as large
as possible?
11Boris Nikolaevich Delaunay (1890-1980)
Include a triangle iff there are no vertices
inside its circumcircle.
12Delaunay Triangulation
Further example
13Delaunay Triangulation
Negative example
14Lets try it for Lake Superior
Delaunay triangulationof Lake Superior
and we get Lake Inferior
15- Outline
- Introduction
- Delaunay triangulation
- Rupperts algorithm
- Result on runtime analysis of Rupperts
algorithm - Conclusion
16How to avoid skinny triangles?
Rupperts idea (1993) Add triangles
circumcenter into the mesh.
Why does this make sense?
17How to avoid skinny triangles?
Rupperts idea (1993) Add triangles
circumcenter into the mesh.
Why does this make sense?
18Rupperts Algorithm
Input a set of points in the plane, minimum
angle ?0 Output a triangulation, with all
angles ? ?0
19Rupperts Algorithm
Input a set of points in the plane, minimum
angle ?0 Output a triangulation, with all
angles ? ?0
- Algorithm always terminates for ?0 lt 20.7º.
- Bigger minimum angles ?0 are harder.
- Size of mesh is optimal up to a constant factor.
20Lets demonstrate Ruppert on an example
21Progress of Rupperts algorithm minimum allowed
angle 13 º
Algorithm completed its task.
22- Outline
- Introduction
- Delaunay triangulation
- Rupperts algorithm
- Result on runtime analysis of Rupperts
algorithm - Conclusion
23Running Time Analysis
Delaunay triangulation O(n log n)
24Running Time Analysis
Delaunay triangulation O(n log n)
Rupperts algorithm My result ?(m2)
25 We proved worst-case bound of O(m2) is tight.
Input point set (no edges in the input)
Number of input points n Number of output
points mO(n)
26Delaunay triangulation of the input
Lots of skinny triangles. We choose to split the
one shaded in grey.
27Big fan of triangles appears high cost
28We have established a self-repeating pattern
29Lots of work continues
30Total work proven to be ? (m2)
Number of input points O(n) Number of output
points mO(n)
31However, in practice algorithm works well.
Lets try Ruppert on Lake Superior
32Rupperts Algorithm on Lake Superior
?0 25º
33Solve for temperature
34- Outline
- Introduction
- Delaunay triangulation
- Rupperts algorithm
- Result on runtime analysis of Rupperts
algorithm - Conclusion
35Conclusion
- Worst-case behavior of Rupperts algorithm is
quadratic. - In practice, Rupperts algorithm performs well.
- Main Delaunay idea maximize minimum angle
- Generating good meshes is an important problem.
36Applications and Future Work
- Triangle software http//www-2.cs.cmu.edu/quak
e/triangle.html - Find good strategies for selecting skinny
triangles - Characterize input meshes that exhibit slow
runtime -