240 likes | 287 Views
Delaunay Triangulation & Application. Course Presentation by Wei-Chao Chen Oct. 29, 1998. Outline. Applications of Delaunay Triangulation Data-Dependent Triangulation Constrained Delaunay Triangulation Mesh Generation using Delaunay Refinement 3-D Delaunay Triangulation. Rhythmes ,
E N D
Delaunay Triangulation & Application Course Presentation by Wei-Chao Chen Oct. 29, 1998
Outline • Applications of Delaunay Triangulation • Data-Dependent Triangulation • Constrained Delaunay Triangulation • Mesh Generation using Delaunay Refinement • 3-D Delaunay Triangulation Rhythmes, Sonia Delaunay
Applications • Geoscientific Modelling: • Collect data about spatial objects and domains. • Categorize features in soils or ocean. • Unique triangulation, adaptive user control. Lattuada et al. (http://www.iah.bbsrc.ac.uk/phd/gisruk95.html)
Applications • Volume visualization for 3D scalar function • Given a set of 3D points with scalar value, visualize the dataset, one or more level with transparency. • Requires intensive computation power. • Delaunay Triangulation is used to interpolate the scalar function between given vertices (Delaunay Interpolation) • Ray-Tracing image refinement • Use Delaunay Triangulation, interpolate by using convolution and integral.
Applications • Medical Imaging, Feature Extraction • Input: A medical image such as CT or MRI. • Process: Find vertices on the edges. • Output: The medial axis and feature surface by combining Voronoi diagram and Delaunay triangulation. Robinson. (http://noodle.med.yale.edu/~robinson/)
Data-Dependent Triangulation • For applications like height fields and terrain, we want to have triangulation to approximate the true surface condition. • Taking the height into account, we may get a better triangulation than merely doing the Delaunay Triangulation in 2-D. • Dyn et al.: Minimizing the size of normal derivative discontinuities across edges of the triangulation will provide dramatic improvement.
Data-Dependent Triangulation • Quak, Schumaker: Given a set of vertices in 3D, find the triangulation that is closest to the actual surface (assuming cubic spline fitting). • Specify an energy function and flip edge recursively to obtain the minimal energy. • The “actual surface” is globally C1 across vertices. • The vertices lies on the “actual surface”. • Delaunay Triangulation is actually a triangulation for certain energy function.
Data-Dependent Triangulation • Algorithm 1: • Given any triangulation of vertices, calculate the Bernstein-Bézier representation, compute the energy of the associated surface over each triangles. • Sort the energies computed on the previous step in decreasing order. • From the triangle with biggest energy, swap the edges to reduce the energy. • Algorithm 2: • Use conventional Delaunay Triangulation and replace angle-optimal swap test into energy-optimal swap test.
Data-Dependent Triangulation • Results: • Both algorithms yield similar results. • Smooth surfaces: Only limited reduction in energy function is observed. • Non-smooth surfaces: Substantial decrease in energy is found. However, this does not imply the resulting surface is visually more pleasing.
Constrained Delaunay Triangulation • Given a set of constraining edges, find an optimal triangulation including the constraining edges. • User can specify the edges that must appear in the triangulation. • Standard Delaunay Triangulation always triangulate the convex hull. • Constraining edges are given in the form of planar straight line graph (PSLG). • There are no intersection among these edges. We can avoid this limitation by converting intersections into vertices.
Constrained Delaunay Triangulation • Conforming Delaunay Triangulation: • Given a set of vertices {vi}, find intersections {vj} between PSLG and Delaunay Triangulation of {vi}. • Do the Delaunay Triangulation on vertices ({vi}{vj}) • Drawback: Too many vertices! O(m2n) Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
Constrained Delaunay Triangulation • Constrained Delaunay Triangulation: • Given a set of vertices {vi}, triangulate using Delaunay Triangulation. • Delete all the triangles that overlap constraining edges. Retriangulate both sides of these edges. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
Constrained Delaunay Triangulation • Triangulation by splitting constraining edges: • Do the Delaunay Triangulation for {vi}. • Find constraining edges not in the triangulation. If the diametral circle of the edge contains some points (encroached), split this edge by adding a vertice in the center of the segment. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
Delaunay Refinement • Delaunay Triangulation does not guarantee the actual minimum angle of triangles. • We can refine the triangulation by adding more vertices. • Specify the maximal acceptable aspect ratio for triangles. Add vertex for skinny triangles. • Split edge when the triangle is too skinny. • Guarantee the quality of generated triangle mesh. (Chew, Ruppert, Shewchuk)
Delaunay Refinement • Input: PSLG {ej} and vertices {vi} Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html) • Steps: • 1. Obtain Delaunay Triangulation of vertices {vi}. • Divide & conquer algorithm (Lee and Schachter) or • Plane-sweep algorithm (Fortune) or • Incremental insertion algorithm (Lawson).
Delaunay Refinement • 2. Do the constrained Delaunay Triangulation on triangles generated at previous step. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html) Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
Delaunay Refinement • 3. Delete triangles outside the concavity of PSLG. • User define the triangle to be deleted by assigning a point inside the Constrained Delaunay Triangulation, but outside the concavity. • Run the point location algorithm, find the triangles, recursively delete until hits the boundary. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
Delaunay Refinement • 4. Correct “Bad Triangles” in the triangulation generated from previous step. • Find triangles with large aspect ratio (skinny triangles). • For each triangle, find the circle it inscribes, and add the center of the circle as a vertex of the mesh. • Recursively flip edge for inserted vertex. • If the circle encroaches upon any segment: • Delete the vertex. Split the segments this circle encroaches upon. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
Delaunay Refinement Running of Delaunay Refinement algorithm. Highlighted segments are segments before split, or triangles before vertex insertion. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
3-D Delaunay Triangulation • We can do triangulation for higher dimensions by using similar technique of 2-D Delaunay Triangulation. • 3-D: Replace circles by spheres, triangles by tetrahedrons. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
3-D Delaunay Triangulation • Input: Set of vertices, constraining edges & facets. • Steps: • For all constraining edges, make a diametral sphere. • If some vertices encroach (inside) the sphere, split this edge by adding a vertex in the middle. Step 1. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
3-D Delaunay Triangulation • For all constraining facets, find its equatorial sphere. • If the equatoral sphere are encroached by some vertices, add the center of the sphere as a new vertex. Step 2. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
3-D Delaunay Triangulation • Find all skinny tetrahedrons, find the spheres they inscribe. • Add the center of the spheres as a vertex. • “Skinny” criteria: The ratio of the sphere radius to shortest tetrahedron edge. Step 3. Schewchuk. (http://www.cs.cmu.edu/~jrs/jrspapers.html)
References • D Dobkin et al., Special Issue on Computational Geometry. Proceedings of the IEEE, Vol. 80, No.9, Sep. 1992. • Applications for Delaunay Triangulation can be found on http://www.ics.uci.edu/~eppstein/gina/delaunay.html • N. Max, P. Hanrahan et al., Area and Volumn Coherence for Efficient Visualization of 3D Scalar Functions, http://www.llnl.gov/graphics/docs/VolViz90.pdf • E. Quak, L. Schumaker, Cublic Spline Fitting using Data Dependent Triangulations. Computer Aided Geometric Design, Vol.7, 1990, pp293-301 • J. Ruppert. A Delaunay Refinement Algorithm for Quality 2-Dimensional Mesh Generation. J. Algorithms, pp.548-585, May 1995 http://science.nas.nasa.gov/Pubs/TechReports/RNRreports/jruppert/RNR-94-002/RNR-94-002.html • J. Shewchuk, Selected Papers on Triangulation, http://www.cs.cmu.edu/~jrs/jrspapers.html