16
Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

Embed Size (px)

Citation preview

Page 1: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

Surface Simplification Using Quadric Error Metrics

Garland & HeckbertSiggraph 97

Page 2: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

Vertex Clustering (Rossignac Borrel 1992)

2

Page 3: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

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

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

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

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

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

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

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

Algorithm

10

Page 11: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

Result

Fig 5 & 6

11

Page 12: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

12

Page 13: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

13

Page 14: Surface Simplification Using Quadric Error Metrics Garland & Heckbert Siggraph 97

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

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

16