180 likes | 370 Views
Mesh Reduction with error control. Scott Buffa Jeranfer Bermudez Alex Peer CSE 872 Implementation of (Klein, 2001). Goals. Mesh simplification Hausdorff distance Constrained 3D Delaunay triangulation. Other solutions. Coplanar facets merging [HH92, MSS94] Mesh decimation: [SZL92]
E N D
Mesh Reduction with error control Scott Buffa Jeranfer Bermudez Alex Peer CSE 872 Implementation of (Klein, 2001)
Goals • Mesh simplification • Hausdorff distance • Constrained 3D Delaunay triangulation
Other solutions • Coplanar facets merging [HH92, MSS94] • Mesh decimation: [SZL92] • Mesh optimization: [HDD93] • Point coalescence: [RB93] • Re-tiling: [Tur92] • Multiresolution retiling: [EDD 95] • Drawback is no common way to measure the error between original and simplified meshes.
Hausdorff distance • Measures how far two subsets of space are from each other • To get the maximum of the minimum distances between two sets
Delaunay Triangulation • A triangulation such that no point is inside a circumcircle of any triangle. • Maximizes the minimum angle of all angles of triangles • Invented by Boris Delaunay, 1934
Delaunay Triangulation cont. • Given three points: • Radius: • Circumsphere center : • Where:
Delaunay Triangulation cont. • Example: • Points: • Radius r = 3.605 • Center PC: • = .5 • = 0 • = .5 y P1 Pc P2 P3 x
The Algorithm • Overview • Remove vertices and re-triangulate the resulting holes • Stops when no vertices can be removed without exceeding the Hausdorff distance.
The Algorithm cont. • Iterative approach • Determining the vertex to remove • Hausdorff distance • Distance function • triangulation • Remove vertex • If we remove a vertex v from the triangulation, its adjacent triangles are removed and the remaining hole is re-triangulated.
The Algorithm cont. • Hausdorff Distance • For every vertex, simulate removal • Rank the vertices by the error that would be introduced (hausdorff) • Remove vertex that is at top of list • Update error for vertices • Repeat removal and update until none can be removed without exceeding maximum error tolerance
The Algorithm cont. • Delaunay Triangulation • Find how vertex relates to triangle • If new vertex lies within triangle, split triangle. Otherwise, connect to nearest points • Use spheres to generate new faces
What didn’t go well • Constrained 3D Delaunay Triangulation for face generation • Why did’t go well? • No examples. • Poor documentation in 3D • Needed ordered vertex list • Overlapping faces • Resorted to simple fan algorithm • Generating list of vertices with proper winding order
Results • Simplified Mesh • Original Mesh