VIEWS: 1 PAGES: 32 POSTED ON: 12/8/2012 Public Domain
Simplifying Polygonal Surfaces with Quadric Error Metrics Michael Garland University of Illinois at Urbana-Champaign November 1999 The Problem of Detail Graphics systems are awash in model data • very detailed CAD databases • high-precision surface scans Available resources are always constrained • CPU, space, graphics speed, network bandwidth We need economical models • want the minimum level of detail (LOD) required • detail requirements are dictated by context A Non-Economical Model 424,376 triangles 60,000 triangles Polygonal Surface Models Model composed of • sets of vertices and triangles – all polygons are pre-triangulated • other attributes (e.g., color) These are very widely supported • almost only hardware primitive • near-universal in software Other representations exist • but they don’t solve the problem • many applications want polygons Automatic Surface Simplification Automatic Surface Simplification Produce approximations with fewer triangles • should be as similar as possible to original • want computationally efficient process Need criteria for assessing similarity of models • for display, visual similarity is the ultimate goal • similarity of shape is often used instead – generally easier to compute – lends itself more to applications other than display Related Topics Function approximation • curves & height fields (e.g., terrains) Geometry compression • simplification is a kind of lossy compression Surface smoothing • reduces geometric complexity of shape Mesh generation • for finite element analysis (e.g., solving PDE’s) My Assumptions About Input Mesh connectivity is consistent • corners which coincide in space share vertices Surface need not have manifold topology • edges can border any number of faces • vertices shared by arbitrary collection of faces • consistent normal orientation not required Application domain does not rely on topology • vs. medical imaging — hole in the lung matters Key Features of My Surface Simplification Algorithm An effective algorithm for practical use • simple to implement • fast simplification (10,000 faces in 1 second) • high quality approximations Implicitly simplifies topology • all decisions are based on geometric criteria Can manage surface properties • color, texture, etc. Fundamental Operation: Edge Contraction A single edge contraction (v1,v2) v’ is performed by • moving v1 and v2 to position v’ • replacing all occurrences of v2 with v1 • removing v2 and all degenerate triangles v2 v’ v1 Overview of Algorithm Preprocessing phase: model cleanup • enforce vertex sharing • triangulate & remove degenerate faces Iteratively contract vertex pairs (i.e., edges) • simple greedy technique • rank edges by “cost” of contraction • maintain proposed contractions in a heap • at each iteration, contract minimum cost edge Measuring Cost of Contractions Cost should reflect geometric error introduced • error between current & original (vs. last iteration) • also want this to be fairly cheap to compute • various contraction-based algorithms differ here [Guéziec 95; Hoppe 96; Lindstrom-Turk 98; Ronfard-Rossignac 96] Must address two interrelated problems • what is the best contraction to perform? • what is the best position v’ for remaining vertex? How I Measure Error Each vertex has a (conceptual) set of planes • error sum of squared distances to planes in set Error( v ) (n i Tv di )2 i Initialize with planes of incident faces • consequently, all initial errors are 0 When contracting pair, use union of plane sets • planes(v’) = planes(v1) planes(v2) A Simple Example: Contraction & “Planes” in 2D Lines defined by neighboring segments • determine position of new vertex • accumulate lines for ever larger areas v2 v’ v1 How I Measure Error Why base error on planes? • faster, but less accurate, than distance-to-face • simple linear system for minimum-error position • efficient implicit representation; no sets required • drawback: unlike surface, planes are infinite Related error metrics • Ronfard & Rossignac — max vs. sum • Lindstrom & Turk — similar form; volume-based The Quadric Error Metric Given a plane, we can define a quadric Q Q ( A , b , c) (n nT, dn , d 2 ) measuring squared distance to the plane as Q ( v ) v TAv 2bTv c L a M 2 ab ac x OO LP P 2 ad LO x Q(v ) x y zM ab b2 M bcP My P bd cd M d yP M P 2 M N ac bc c PP M N QQ 2 z zP M N Q The Quadric Error Metric Sum of quadrics represents set of planes (n i T v di ) 2 F Q I(v ) Q (v ) G J K i i i H i i Each vertex has an associated quadric • error(vi) = Qi (vi) • sum quadrics when contracting (vi, vj) v’ • cost of contraction is Q(v’) Q Qi Q j ( A i A j , b i b j , ci cj ) The Quadric Error Metric Sum of endpoint quadrics determines v’ • fixed placement: select v1 or v2 • optimal placement: choose v’ minimizing Q(v’) Q( v ' ) 0 v A 1b • fixed placement is faster but lower quality • fallback to fixed placement if A is non-invertible Sample Model: Scanned Bunny Total simplification time: 7 seconds • 200 MHz PentiumPro; excludes input–output time Shape preserved at 1000 faces; gross structure at 100 69,451 faces 1000 faces 100 faces Demo Visualizing Quadrics in 3-D Quadric isosurfaces • are always ellipsoids (maybe degenerate) • centered around vertices • characterize shape • stretch in least-curved directions Quadrics and Surface Curvature For quadrics on differentiable manifold • limit of infinitely subdivided polygonal surface • integrate quadrics in a small neighborhood Can prove that in the limit • eigenvectors of A are principal directions • eigenvalues of A squared principal curvatures • algorithm which minimizes quadric error will produce optimal aspect ratios [Heckbert–Garland 99] Sample Model: Dental Mold 50 sec 424,376 faces 60,000 faces Sample Model: Dental Mold 55 sec 424,376 faces 8000 faces Sample Model: Dental Mold 56 sec 424,376 faces 1000 faces Sample Model: Turbine Blade 217 sec 1,765,388 faces 420,000 faces Sample Model: Turbine Blade 300 sec 1,765,388 faces 80,000 faces Sample Model: Turbine Blade 310 sec 1,765,388 faces 8000 faces Summary: Quadric-Based Simplification An effective simplification technique • good compromise between highest quality and fastest simplification • uses efficient characterization of local shape • proven connection to surface curvature and optimal triangle shape Currently in real-world use • scanned data, CAD, VR, medical imaging … Future Directions Broader applicability • non-rigid surfaces (i.e., for animation) • extremely large datasets of 109 or more triangles • other model types: tetrahedral meshs, splines, … • alternative multiresolution representations Higher quality approximations • more effective topological simplification • good performance at extreme levels • better analysis of resulting approximation quality Acknowledgements Funded in part by • National Science Foundation • Schlumberger Foundation Sample models courtesy of • Stanford graphics lab — bunny • Iris Development — dental mold • Viewpoint DataLabs — dragon • GE/KitWare — turbine blade • Andrew Willmott — radiosity solution Further Details Available Online Free sample implementation, example surface models, related papers. http://www.uiuc.edu/~garland/