surface simplification using quadric error metrics garland & heckbert siggraph 97
TRANSCRIPT
![Page 1: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/1.jpg)
Surface Simplification Using Quadric Error Metrics
Garland & HeckbertSiggraph 97
![Page 2: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/2.jpg)
Vertex Clustering (Rossignac Borrel 1992)
2
![Page 3: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/3.jpg)
What this is about
Related terms Level of detail Progressive mesh Polygon decimation Multiresolution modeling
3
![Page 4: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/4.jpg)
Define the problem carefully
Mn: triangulated input modelMg: target approximation (criterion: desired face count or a maximum tolerable error)Context: multiresolution modelingTopology preservation: no guarantee In rendering, topologgy is less important
than overall appearance In particular, non-manifold regions can occur
4
![Page 5: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/5.jpg)
Advantages
EfficiencyQualityGenerality As we will examine these carefully as
we go along (and we learned how to “sell” our
research)
5
![Page 6: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/6.jpg)
Pair Contraction
Problems Definition of
pair Priority of pair Contraction
Book keeping Geometry
optimization: error analysis
6
![Page 7: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/7.jpg)
Approximating Error with Quadrics
7
Error at vertex v
Plane Equation
Point-plane distance (signed)
= pTv
Symmetric matrix
Squared distance
vppv
vppvvpDTT
TTT
22
![Page 8: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/8.jpg)
After Contraction
8
Find
In case it fails (to find the inverse), find any point along v1, v2
44342414
34332313
24232212
14131211
qqqq
qqqq
qqqq
qqqq
Q
![Page 9: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/9.jpg)
Error Metric
Sum of squared distances to its incident planes Initial error is then zero
When contraction occurs, the new point assumes the planes from both verticesAnd it should be placed where the error is minimized(it also happens that) the error is linearly additive
The multiply count issue: argue … to get away??? (end of sec.5: sacrifice error for simplicity)
6.1 Evaluating Quote a formula (from Hoppe) to measure the distance
between approximate and original model
9
“Choose a heuristic to characterize the geometric error”
![Page 10: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/10.jpg)
Algorithm
10
![Page 11: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/11.jpg)
Result
Fig 5 & 6
11
![Page 12: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/12.jpg)
12
![Page 13: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/13.jpg)
13
![Page 14: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/14.jpg)
Mesh Decimater in OpenMesh (ref, class)
Perform halfedge collapsing based ona priority queuePriority determined by “modules” considering
• More than one decimation module can be used. But a non-binary module must be registered with the decimater• (discussion in mailing list)
14
Aspect ratioEdge lengthHausdorffindepedentSets
Normal deviationNormal flippingProgressive meshQuadric errorRoundness
![Page 15: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/15.jpg)
Decimater in OpenMesh
Decimater.info (std::cout);Decimater.add (Module);DecimaterT (mesh);Decimater.decimate(); // reduce as much as possibleDecimater.decimate_to (n_vertices);Decimater.decimate_to_faces (nv, nf);
15
![Page 16: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97](https://reader036.vdocuments.site/reader036/viewer/2022062719/56649ee65503460f94bf5f60/html5/thumbnails/16.jpg)
16