High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany # University of Tuebingen, Germany
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 2 Outline Introduction Related Work Generalized Pair Contractions Spatial Search Data Structure Simplification Algorithm Applications and Results Conclusion
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 3 Introduction Polygon models are widely used Permanent growth of model complexity Reduction is often necessary Many mesh simplification algorithms Original model (34834 vertices) Simplified model (3483 vertices) More simplification (1000 vertices)
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 4 Introduction Many models don't have consistent connectivity T-vertices self- intersections gaps and small holes close, but not connected surface parts
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 5 Introduction Problem: vertex pair contractions not always sew together geometrically close but not incident surface parts Unnecessarily large complexity of simplified models / unnecessarily large errors Need of more general operations ?
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 6 Introduction Problem: quadric error metric does not preserve sharp features Simplified 200 vertices Original 1972 vertices Qf1Qf1Qf1Qf1 Qf2Qf2Qf2Qf2 e Q e = Q f 1 + Q f 2
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 7 Edge collapse simplification [Hoppe 1996] contracts two adjacent vertices performs no topology alteration Related Work v new v2v2v2v2 v1v1v1v1
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 8 Vertex pair contraction simplification [Popovic and Hoppe / Garland and Heckbert 1997] the contracted vertices do not necessarily lie on a common edge allows topology modifications sews together unconnected parts and closes small gaps Related Work v new v1v1v1v1 v2v2v2v2
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 9 Vertex-edge contractions on boundaries [Borodin et al Progressive Gap Closing] generalizes vertex pair contraction contracts boundary vertex with boundary edge improves the sewing potential of vertex pair contraction Related Work v new v v int v e
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 10 Generalized Pair Contractions Three new operations: vertex-edge contraction vertex-triangle contraction edge-edge contraction Sufficient to connect the closest points of two objects or parts of an object Perform no reduction, but increase the connectedness of the model
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 11 Generalized Pair Contractions Vertex-edge contraction project the vertex onto the corresponding edge insert an intermediate vertex at the projection point (split the edge and all triangles incident to it) contract intermediate and contraction vertices
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 12 Vertex-triangle contraction project the vertex onto the corresponding triangle insert an intermediate vertex at the projection point (split the triangle) contract intermediate and contraction vertices Generalized Pair Contractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 13 Generalized Pair Contractions Edge-edge contraction find the closest points on the corresponding edges insert two intermediate vertices at these points (split both edges and all triangles incident to them) contract two intermediate vertices
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 14 Generalized Pair Contractions Ordering of operations Quadric error metric [Garland & Heckbert 1997] Problem: no control of the real geometric error Problem: error accumulation at flat regions with noise v0v0v0v0 v1v1v1v1 v4v4v4v4 v5v5v5v5 v8v8v8v8 v9v9v9v9 v2v2v2v2 v3v3v3v3 v6v6v6v6 v7v7v7v7 v0v0v0v0 v1v1v1v1 v4v4v4v4 v5v5v5v5 v8v8v8v8 v9v9v9v9 v 10 v 11 Q 10 = Q 2 + Q 3 Q 11 = Q 6 + Q 7 Q 12 = Q 1 + Q 10 Q 13 = Q 5 + Q 11 Q 14 = Q 12 + Q 4 = = Q 1 + Q 2 + Q 3 + Q 4 = Q 1 + Q 2 + Q 3 + Q 4 Q 15 = Q 13 + Q 8 = = Q 5 + Q 6 + Q 7 + Q 8 = Q 5 + Q 6 + Q 7 + Q 8 v0v0v0v0 v9v9v9v9 v 14 v 15 v0v0v0v0 v4v4v4v4 v8v8v8v8 v9v9v9v9 v 12 v 13
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 15 Generalized Pair Contractions Ordering of operations Non-accumulating error quadrics Preprocessing phase: calculate initial error quadrics for all vertices Intermediate vertex created: calculate its quadric from the incident triangles Contraction operation performed: calculate quadric of a new vertex, recalculate quadrics of all adjacent vertices
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 16 Generalized Pair Contractions Ordering of operations Error test before the operation: calculate the local one-sided Hausdorff distance after the operation from the original to the simplified mesh if this error exceeds the predefined threshold d max, the operation is rejected Guarantees maximum geometric distance between original and simplified model
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 17 Generalized Pair Contractions Ordering of operations Approximation of the Hausdorff distance is used to order the possible operations: - accumulated errors of simplices s 1 and s 2 - local one-sided Hausdorff distance before the operation - quadric error of the operation - approximation of the distance between meshes before and after the operation
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 18 Generalized Pair Contractions Handling of sharp features Feature edges and feature vertices: all incident faces are inside chosen small angle max For each feature: generate average plane P a of all incident faces generate constraint plane P c running through the feature and perpendicular to P a add the quadric of P c to the quadrics of appropriate vertices < max PaPaPaPa PaPaPaPa PcPcPcPc
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 19 Generalized Pair Contractions Handling of sharp features 200 vertices, features not preserved 200 vertices, features preserved Original with detected features
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 20 Spatial Search Data Structure Queries: for given vertex find closest non- incident simplex for given edge find closest non- incident edge need of spatial search data structure During simplification simplices are eliminated and created support of fast dynamic updates Regular grid average edge length as cell side length
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 21 Simplification Algorithm Preprocessing: Initialization of the grid Identification of corresponding pairs For each vertex the corresponding simplex (vertex, edge or triangle) is found For some edges the corresponding edge is found The references to the found simplices are stored Pairs are inserted into the priority queue according to their errors
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 22 Simplification Algorithm Decimation loop Pop next operation from the priority queue Before the operation: normal test minimal angle test error test collision test After the operation: update the grid update all affected simplex pairs update the priority queue
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 23 Applications and Results Controlled topology modifying simplification and mesh repair Original model with 4288 vertices Model courtesy of DaimlerChrysler AG
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 24 Applications and Results Controlled topology modifying simplification and mesh repair 500 vertices vertex pair contractions 500 vertices generalized pair contractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 25 Applications and Results Controlled topology modifying simplification and mesh repair 125 vertices vertex pair contractions 125 vertices generalized pair contractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 26 Applications and Results 4467 vertices original 250 vertices gener. pair contractions 250 vertices vertex pair contractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 27 Applications and Results Out-of-core simplification Cutting the model into subparts and simplifying each subpart independently Gaps are automatically closed when subparts are simplified together Vertex pair contractions Generalized pair contractions
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 28 Applications and Results Original faces OEMM-QEM faces Stream decimation faces Our method faces
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 29 Applications and Results Out-of-core simplification Original faces OEMM-QEM faces error = 0.82% Stream decimation faces error = 0.82% Our method faces error = 0.26%
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 30 Applications and Results Out-of-core simplification Error quadrics are not accumulated better simplification of flat regions with noise OEMM-QEM faces error = 0.82% Stream decimation faces error = 0.82% Our method faces error = 0.26%
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 31 Conclusion A strategy to generate high quality approximations for models with arbitrary topology Generalized pair contraction operations introduced Allow to remove gaps and holes and integrate the automatic connection of close surface parts Guaranteed maximum geometric distance between original and simplified model Simplification controlled by a geometric error
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 32 Future Work (already done) Intersection free simplification Out-of-core simplification View-dependent out-of-core visualization
P. Borodin, S. Gumhold, M. Guthe, R. Klein - High-Quality Simplification with Generalized Pair Contractions University of Bonn Computer Graphics Group 33 Thank you