1 / 36

Mesh G eneration and Delaunay-Based Meshes

Mesh G eneration and Delaunay-Based Meshes. Jernej Barbic Computer Science Department Carnegie Mellon University. Outline Introduction Delaunay triangulation Ruppert’s algorithm Result on runtime analysis of Ruppert’s algorithm Conclusion.

abigail
Download Presentation

Mesh G eneration and Delaunay-Based Meshes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University

  2. Outline • Introduction • Delaunay triangulation • Ruppert’s algorithm • Result on runtime analysis of Ruppert’s algorithm • Conclusion

  3. Motivation: Temperature on the Surface of a Lake No analytical solution Need to approximate…

  4. How to approximate?

  5. How to approximate? First guess: uniformly. Runs too slow!

  6. No 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 • Ruppert’s algorithm • Result on runtime analysis of Ruppert’s algorithm • Conclusion

  8. How to connect the dots into triangles?

  9. How to connect the dots into triangles? One possibility:

  10. How to connect the dots into triangles? Another possibility: Which triangulation makes minimum angle as large as possible?

  11. Boris Nikolaevich Delaunay (1890-1980) : Include a triangle iff there are no vertices inside its circumcircle.

  12. Delaunay Triangulation Further example:

  13. Delaunay Triangulation Negative example:

  14. Let’s try it for Lake Superior… Delaunay triangulationof Lake Superior … and we get Lake Inferior …

  15. Outline • Introduction • Delaunay triangulation • Ruppert’s algorithm • Result on runtime analysis of Ruppert’s algorithm • Conclusion

  16. How to avoid skinny triangles? Ruppert’s idea (1993) : Add triangle’s circumcenter into the mesh. Why does this make sense?

  17. How to avoid skinny triangles? Ruppert’s idea (1993) : Add triangle’s circumcenter into the mesh. Why does this make sense?

  18. Ruppert’s Algorithm Input: a set of points in the plane, minimum angle 0 Output: a triangulation, with all angles 0

  19. Ruppert’s Algorithm Input: a set of points in the plane, minimum angle 0 Output: a triangulation, with all angles 0 • Algorithm always terminates for 0< 20.7º. • Bigger minimum angles 0are harder. • Size of mesh is optimal up to a constant factor.

  20. Let’s demonstrate Ruppert on an example…

  21. Progress of Ruppert’s algorithm minimum allowed angle = 13 º Algorithm completed its task.

  22. Outline • Introduction • Delaunay triangulation • Ruppert’s algorithm • Result on runtime analysis of Ruppert’s algorithm • Conclusion

  23. Running Time Analysis Delaunay triangulation O(n log n)

  24. Running Time Analysis Delaunay triangulation O(n log n) Ruppert’s 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: m=O(n)

  26. Delaunay triangulation of the input: Lots of skinny triangles. We choose to split theone shaded in grey.

  27. Big “fan” of triangles appears: high cost

  28. We have established a self-repeating pattern …

  29. Lots of work continues…

  30. Total work proven to be: (m2) Number of input points: O(n) Number of output points: m=O(n)

  31. However, in practice algorithm works well. Let’s try Ruppert on Lake Superior…

  32. Ruppert’s Algorithm on Lake Superior 0 = 25º

  33. Solve for temperature…

  34. Outline • Introduction • Delaunay triangulation • Ruppert’s algorithm • Result on runtime analysis of Ruppert’s algorithm • Conclusion

  35. Conclusion • Worst-case behavior of Ruppert’s algorithm is quadratic. • In practice, Ruppert’s algorithm performs well. • Main Delaunay idea: maximize minimum angle • Generating good meshes is an important problem.

  36. Applications and Future Work • Triangle software http://www-2.cs.cmu.edu/~quake/triangle.html • Find good strategies for selecting skinny triangles • Characterize input meshes that exhibit slow runtime

More Related