Outline • Vertex Decimation Algorithms – Introduction – Taxonomy • – Overview Decimation of Triangle Meshes – Error Measures – Results • Extensions – Modifying Topology – Progressive Meshes Will Schroeder – Results GE Corporate R&D Schenectady, NY • Industrial Application – Scientific Visualization – Interactive Visualization – Terrain – Digitized Surfaces Terminology Requirements Reduce number of triangles Definition • Form “good” approximation to original mesh • Polygonal mesh is a collection of non-intersecting polygons, pos- – Visual approximations sibly joined along common edges or at vertices – Geometric approximations – Data approximations • Triangle mesh is a polygonal mesh whose polygons are triangles Desirable qualities • Meshes may be non-manifold • General applicability • Treat large meshes (10 6 triangles) • O(n) time complexity / high processing rates • Reduced vertex set is a subset of original vertex set – preserve texture coordinates – normals – other vertex attributes Triangle Mesh Non-manifold forms • Treat large meshes (10 6 triangles) • Simple, compact, efficient algorithm
Data Sources Data Sources Terrain: Digitizers: • Satellite • Laser range finders • Radar Mapping • 3D coordinate mapping • Sonar Data Sources Data Sources Visualization: Modeling / Tessellation: • • Iso-Surface Generation Stereo Lithography • • Geometry Extraction Techniques Graphics Representations • • Glyph Generation Mesh Generation / Tessellation
Motivation Taxonomy of Methods Triangle meshes are large: Turk Visual polygons • Tessellation algorithms -> 10 4 polygons Topology Preserving Hoppe Bounding Hulls Original topology of mesh maintained • Digital elevation data -> 10 5 to 10 7 polygons Resample Multiresolution analysis Implicit Modeling • 3D Digitizers -> 10 5 to 10 6 polygons Topology Modifying Original topology of mesh may be modified • Iso-surface generation -> 10 6 triangles Decimation Rossignac & Borrel Vertex Subset Set of reduced vertices is a subset of original Large meshes mean Vertex Subset Geometric Optimization Progressive Decimation vertices. Soucy, vertex removal tech- • Slower rendering speeds niques Resample • Reduced vertices do not belong to original set Large memory requirements of vertices. • More expensive analysis Topology Preserving Topology Modifying Simple Methods Decimation Algorithm Iterate over set of vertices; for each vertex: • Visible polygons • Characterize local topology and geometry - Discard polygons not visible during viewing • Evaluate decimation criterion • Bounding Hulls - Convex hulls (Delaunay triangulations. etc). • If criterion satisfied, remove vertices and associated triangles - Shrink-wrapped polygonal surfaces - Bounding boxes; close fit bounding polyhedra • Triangulate resulting hole • Implicit modeling - Voxelize based on distance function - Use low-resolution volume Features - Extract iso-surface of distance value • Fast O(n) time complexity • Creates simplified mesh with subset of vertices • Topology Preserved • Flexible framework for different error measure / triangulation
Decimation Decimation Schroeder, Zarge, Lorensen, Proc. Siggraph ‘92. Evaluate local topology / geometry: • • Three basic steps (repeated for each vertex) Look for sharp corners / edges • Look for non-manifold cases • Evaluate decimation criterion: – vertex distance to plane (if interior vertex) – vertex distance to line (if boundary vertex or if sharp edge) • Evaluate local topol- Delete Vertex O(n) for each pass ogy / geometry Triangulate Decimation Decimation Delete vertex under following conditions: Triangulation: • • Vertex is not complex Use 3D recursive loop splitting • • Vertex is not classified as “corner” vertex Polygons creased with sharp edge are triangulated along edge • Vertex meets decimation criterion (i.e., distance to plane for inte- rior vertices, distance to edge for boundary vertices or for verti- ces on sharp edge) • Triangulation, including constraints on aspect ratio, is possible. • Aspect ratio controlled to insure good retriangulations
Vertex Classification Simple Vertex Classification Simple vertices are further classified based on • Simple vertex geometry (i.e., evaluation of feature edges) – complete cycle of triangles – each triangle edge used twice • • Identify feature edges (specified dihedral angle) Boundary vertex – semi-cycle of triangles • Interior edge vertex -> 2 feature edges – boundary edges used once – interior edges used twice • Corner vertex -> 1 or 3 or more feature edges • Complex vertex – non-manifold Simple Boundary Complex Simple Vertex Classification Decimation Criterion Vertex removal based on decimation criteria • Distance to plane – simple vertices • Distance to line – boundary vertices – interior edge vertices • Corner and complex vertices not removed Simple d d • • Distance to “average” plane Distance to line – simple vertices – boundary vertices – interior edge vertices Interior Edge Corner
Triangulation Triangulation Vertex removal creates hole to be patched Triangulation Failure: • • Hole is star-shaped Not possible to find split line • • Hole is generally non-planar Aspect ratio not satisfied • • Use recursive 3D loop splitting process Collapsing simple volumes • Splits controlled by aspect ratio (maximum vertex distance from split line) / (length of split line) -> choose large values. Split line • Collapsing tunnels Split plane Non-manifold attachments from tunnels Data Structure Results Data structure is critical to algorithm efficiency • • Vertex list Medical Triangle – x,y,z coordinates • Terrain • Triangle list • Geometric Modeling – 3 defining vertices Fixed Dynamic • • Laser Digitizer Vertex use list – triangles using vertex Vertex (see included paper)
Characterizing Algorithms Error Measures Error Measures: Distance Measures: • • Distance measures Absolute • • Surface Area Relative • Removal Volume • Energy Functions • Hausdorff Distance d d • • Distance to “average” plane Distance to line Error Measures Error Measures Surface Area: Removal Volume: • • Total area of mesh before and after reduction Volume enclosed by initial and reduced mesh. • • Can be computed incrementally (in most cases) Can be computed incrementally in some cases. ∆ E i = S i – S i + 1 + 1 Initial mesh S i S i + 1 Reduced mesh
Error Measures Error Measures Energy Functions: Hausdorff Distance • • Combinations of error functions, representational functions, and The maximum distance between two distance measures: terms to guarantee minimum value. – Distance of points in simplified mesh to original mesh – Distance of points in original mesh to simplified mesh • Error functions could include distance, surface area, and/or vol- • ume functions, as well as constraints on triangle shape. Symmetric • Klein, Liebich, Strasser, Mesh Reduction with Error Control , Proc. of Visualization ‘96. Extensions To Decimation Topological Constraints Going Beyond These Limitations Genus Preservation • • Topology Constraints Collapsing holes – Genus Preservation – Manifold vs. Non-Manifold Topology • Progressive Meshes – Smooth transitions between reduction level – Encodable, compact operations on the mesh a) Original model b) Topology unchanged c) Topology modified 1,132 triangles 43 triangles (2 triangles)
Topological Constraints Splitting Mesh Genus Preservation Non-manifold Vertices Can be Split • • Tunnel collapse can create non-manifold topology Result is two or more manifold pieces Extending Splitting Split Operations Use Splitting To Address Other Cases A Family of Operations • Along sharp edges Interior Edge Corner • Triangulate complex regions • Recovering from mesh degeneracies Non-manifold Other types
Progressive Meshes Topology Modifying Operations Hoppe Siggraph ‘96 Progressive operations extended • • Smooth transitions between reduction level Vertex split - create identical vertex and update topology of mesh • • Compact, encodable operations for efficient storage and Vertex merge - merge coincident vertices transmission • Original implementation was topology preserving edge collapse / edge split Split Collapse v r v r v r v r v s v t Merge v s Split v s v t v t v l v l v l v l Progressive Decimation Algorithm Results Extend decimation for topological modification Progressive decimation • Triangulation operation is altered to use edge collapse • Mesh splitting is performed to resolve non-manifold / complex conditions • Progressive operations for efficient storage and transmission; and smooth playback • Guaranteed reduction level a) Original model b) Shortly after splitting c) Final model 2,624 triangles 157 triangles 4 triangles
Recommend
More recommend