45
Fast and Effective Polygonal Surface Simplification Michael Garland Michael Garland Carnegie Mellon University Carnegie Mellon University December 1998 December 1998

Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Embed Size (px)

Citation preview

Page 1: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Fast and Effective Polygonal Surface Simplification

Michael GarlandMichael Garland

Carnegie Mellon UniversityCarnegie Mellon University

December 1998December 1998

Michael GarlandMichael Garland

Carnegie Mellon UniversityCarnegie Mellon University

December 1998December 1998

Page 2: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

OverviewPolygonal models are often too complexPolygonal models are often too complex• Can be highly over-sampled (e.g., scanned Can be highly over-sampled (e.g., scanned

data)data)

• Manage complexity given limited resourcesManage complexity given limited resources

– rendering speed, network bandwidth, disk spacerendering speed, network bandwidth, disk space

Automatically build surface approximationsAutomatically build surface approximations• Maintain geometric fidelity to originalMaintain geometric fidelity to original

• Produce approximations rapidlyProduce approximations rapidly

• Simplify topology as well as geometrySimplify topology as well as geometry

Polygonal models are often too complexPolygonal models are often too complex• Can be highly over-sampled (e.g., scanned Can be highly over-sampled (e.g., scanned

data)data)

• Manage complexity given limited resourcesManage complexity given limited resources

– rendering speed, network bandwidth, disk spacerendering speed, network bandwidth, disk space

Automatically build surface approximationsAutomatically build surface approximations• Maintain geometric fidelity to originalMaintain geometric fidelity to original

• Produce approximations rapidlyProduce approximations rapidly

• Simplify topology as well as geometrySimplify topology as well as geometry

Page 3: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Features of My Surface Simplification AlgorithmAn effective algorithm for practical useAn effective algorithm for practical use• Simple to implementSimple to implement

• Fast simplification (10,000 faces in 1 second)Fast simplification (10,000 faces in 1 second)

• High quality approximationsHigh quality approximations

Implicitly simplifies topologyImplicitly simplifies topology• All decisions are based on geometric criteriaAll decisions are based on geometric criteria

Can manage surface propertiesCan manage surface properties• Color, texture, etc.Color, texture, etc.

An effective algorithm for practical useAn effective algorithm for practical use• Simple to implementSimple to implement

• Fast simplification (10,000 faces in 1 second)Fast simplification (10,000 faces in 1 second)

• High quality approximationsHigh quality approximations

Implicitly simplifies topologyImplicitly simplifies topology• All decisions are based on geometric criteriaAll decisions are based on geometric criteria

Can manage surface propertiesCan manage surface properties• Color, texture, etc.Color, texture, etc.

Page 4: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Triangulated Surface ModelsSet of verticesSet of vertices

• Position in spacePosition in space

• Attributes (e.g., color)Attributes (e.g., color)

Set of trianglesSet of triangles

• All polygons are All polygons are triangulatedtriangulated

Piecewise-planar Piecewise-planar surfacesurface

Set of verticesSet of vertices

• Position in spacePosition in space

• Attributes (e.g., color)Attributes (e.g., color)

Set of trianglesSet of triangles

• All polygons are All polygons are triangulatedtriangulated

Piecewise-planar Piecewise-planar surfacesurface

Page 5: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Assumptions About Input ModelMesh connectivity is completeMesh connectivity is complete• Corners which coincide in space share verticesCorners which coincide in space share vertices

Surface need not have manifold topologySurface need not have manifold topology• Edges can border any number of facesEdges can border any number of faces

• Vertices shared by arbitrary collection of facesVertices shared by arbitrary collection of faces

• Consistent normal orientation not requiredConsistent normal orientation not required

Application domain does not rely on topologyApplication domain does not rely on topology• vs. medical imaging — hole in the lung mattersvs. medical imaging — hole in the lung matters

Mesh connectivity is completeMesh connectivity is complete• Corners which coincide in space share verticesCorners which coincide in space share vertices

Surface need not have manifold topologySurface need not have manifold topology• Edges can border any number of facesEdges can border any number of faces

• Vertices shared by arbitrary collection of facesVertices shared by arbitrary collection of faces

• Consistent normal orientation not requiredConsistent normal orientation not required

Application domain does not rely on topologyApplication domain does not rely on topology• vs. medical imaging — hole in the lung mattersvs. medical imaging — hole in the lung matters

Page 6: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Motivation:Highly Over-sampled Models

424,376 faces424,376 faces 60,000 faces60,000 faces

Page 7: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Motivation:Adaptive Models for Rendering

Single model not always Single model not always suitablesuitable

• Too large for hardware capacityToo large for hardware capacity

• Excessively detailed for screen Excessively detailed for screen sizesize

Use multiresolution modelsUse multiresolution models

• Encode many levels of detail Encode many levels of detail (LOD)(LOD)

• Adaptively select LOD at run Adaptively select LOD at run timetime

Single model not always Single model not always suitablesuitable

• Too large for hardware capacityToo large for hardware capacity

• Excessively detailed for screen Excessively detailed for screen sizesize

Use multiresolution modelsUse multiresolution models

• Encode many levels of detail Encode many levels of detail (LOD)(LOD)

• Adaptively select LOD at run Adaptively select LOD at run timetime

Page 8: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Surface Simplification:Create suitable approximations

0.5 sec0.5 sectotaltotal

Page 9: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

contractcontract

vv11

vv22 v’v’

Fundamental Operation:Edge ContractionContract vertex pair Contract vertex pair (v(v11,v,v22) ) v’ v’

• Move vMove v11 and v and v22 to position v’ to position v’

• Replace all occurrences of vReplace all occurrences of v22 with v with v11

• Remove vRemove v22 and degenerate triangles and degenerate triangles

Contract vertex pair Contract vertex pair (v(v11,v,v22) ) v’ v’

• Move vMove v11 and v and v22 to position v’ to position v’

• Replace all occurrences of vReplace all occurrences of v22 with v with v11

• Remove vRemove v22 and degenerate triangles and degenerate triangles

Page 10: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Properties of Edge ContractionLocal, fine-grained modificationLocal, fine-grained modification• Low computational costLow computational cost

• Removes 2 faces + 1 vertex (on a closed Removes 2 faces + 1 vertex (on a closed manifold)manifold)

Continuous transitionContinuous transition• Can linearly interpolate contraction through timeCan linearly interpolate contraction through time

• Allows smooth geomorphing between surfacesAllows smooth geomorphing between surfaces

Its inverse, vertex split, has same propertiesIts inverse, vertex split, has same properties• Handy for progressive mesh transmission Handy for progressive mesh transmission [Hoppe 96][Hoppe 96]

Local, fine-grained modificationLocal, fine-grained modification• Low computational costLow computational cost

• Removes 2 faces + 1 vertex (on a closed Removes 2 faces + 1 vertex (on a closed manifold)manifold)

Continuous transitionContinuous transition• Can linearly interpolate contraction through timeCan linearly interpolate contraction through time

• Allows smooth geomorphing between surfacesAllows smooth geomorphing between surfaces

Its inverse, vertex split, has same propertiesIts inverse, vertex split, has same properties• Handy for progressive mesh transmission Handy for progressive mesh transmission [Hoppe 96][Hoppe 96]

Page 11: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Overview of AlgorithmPreprocessing phase: model cleanupPreprocessing phase: model cleanup• Enforce vertex sharingEnforce vertex sharing

• Triangulate & remove degenerate facesTriangulate & remove degenerate faces

Iteratively contract vertex pairs (i.e., edges)Iteratively contract vertex pairs (i.e., edges)• Simple greedy techniqueSimple greedy technique

• Rank edges by “cost” of contractionRank edges by “cost” of contraction

• Maintain proposed contractions in a heapMaintain proposed contractions in a heap

• At each iteration, contract minimum cost edgeAt each iteration, contract minimum cost edge

Preprocessing phase: model cleanupPreprocessing phase: model cleanup• Enforce vertex sharingEnforce vertex sharing

• Triangulate & remove degenerate facesTriangulate & remove degenerate faces

Iteratively contract vertex pairs (i.e., edges)Iteratively contract vertex pairs (i.e., edges)• Simple greedy techniqueSimple greedy technique

• Rank edges by “cost” of contractionRank edges by “cost” of contraction

• Maintain proposed contractions in a heapMaintain proposed contractions in a heap

• At each iteration, contract minimum cost edgeAt each iteration, contract minimum cost edge

Page 12: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Measuring Cost of Contractions Cost should reflect geometric error introducedCost should reflect geometric error introduced• Error between current & original (vs. last iteration)Error between current & original (vs. last iteration)

• Also want this to be fairly cheap to computeAlso want this to be fairly cheap to compute

• Various contraction-based algorithms differ hereVarious contraction-based algorithms differ here [Guéziec 95; Hoppe 96; Lindstrom-Turk 98; Ronfard-Rossignac 96][Guéziec 95; Hoppe 96; Lindstrom-Turk 98; Ronfard-Rossignac 96]

Must address two interrelated problemsMust address two interrelated problems• What is the best contraction to perform?What is the best contraction to perform?

• What is the best position v’ for remaining vertex?What is the best position v’ for remaining vertex?

Cost should reflect geometric error introducedCost should reflect geometric error introduced• Error between current & original (vs. last iteration)Error between current & original (vs. last iteration)

• Also want this to be fairly cheap to computeAlso want this to be fairly cheap to compute

• Various contraction-based algorithms differ hereVarious contraction-based algorithms differ here [Guéziec 95; Hoppe 96; Lindstrom-Turk 98; Ronfard-Rossignac 96][Guéziec 95; Hoppe 96; Lindstrom-Turk 98; Ronfard-Rossignac 96]

Must address two interrelated problemsMust address two interrelated problems• What is the best contraction to perform?What is the best contraction to perform?

• What is the best position v’ for remaining vertex?What is the best position v’ for remaining vertex?

Page 13: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

How I Measure ErrorEach vertex has an associated set of planesEach vertex has an associated set of planes• Error Error sum of squared distances to planes in set sum of squared distances to planes in set

• Similar to Similar to [Ronfard–Rossignac 96][Ronfard–Rossignac 96] (sum vs. max) (sum vs. max)

• Note: sets are purely conceptualNote: sets are purely conceptual

Initialize with planes of incident facesInitialize with planes of incident faces• Consequently, all initial errors are 0Consequently, all initial errors are 0

When contracting pair, use union of plane When contracting pair, use union of plane setssets• planes(v’) = planes(vplanes(v’) = planes(v11) ) planes(v planes(v22))

Each vertex has an associated set of planesEach vertex has an associated set of planes• Error Error sum of squared distances to planes in set sum of squared distances to planes in set

• Similar to Similar to [Ronfard–Rossignac 96][Ronfard–Rossignac 96] (sum vs. max) (sum vs. max)

• Note: sets are purely conceptualNote: sets are purely conceptual

Initialize with planes of incident facesInitialize with planes of incident faces• Consequently, all initial errors are 0Consequently, all initial errors are 0

When contracting pair, use union of plane When contracting pair, use union of plane setssets• planes(v’) = planes(vplanes(v’) = planes(v11) ) planes(v planes(v22))

Page 14: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

A Simple Example:Contraction & “Planes” in 2DLines defined by neighboring segmentsLines defined by neighboring segments• Determine position of new vertexDetermine position of new vertex

• Accumulate lines for ever larger areasAccumulate lines for ever larger areas

Lines defined by neighboring segmentsLines defined by neighboring segments• Determine position of new vertexDetermine position of new vertex

• Accumulate lines for ever larger areasAccumulate lines for ever larger areas

OriginalOriginal After 1 StepAfter 1 Step

vv11vv22

Page 15: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

How I Measure ErrorDistance-to-face would be more accurateDistance-to-face would be more accurate

But planes have some significant advantagesBut planes have some significant advantages• Locally, distance to plane equals distance to faceLocally, distance to plane equals distance to face

• Can move freely with 0 error in planar regionsCan move freely with 0 error in planar regions

• Simple linear system for optimal positionSimple linear system for optimal position

• Can even represent them implicitly; no more setsCan even represent them implicitly; no more sets

– Much more efficient & compact Much more efficient & compact

Drawback:Drawback: unlike surface, planes are infinite unlike surface, planes are infinite

Distance-to-face would be more accurateDistance-to-face would be more accurate

But planes have some significant advantagesBut planes have some significant advantages• Locally, distance to plane equals distance to faceLocally, distance to plane equals distance to face

• Can move freely with 0 error in planar regionsCan move freely with 0 error in planar regions

• Simple linear system for optimal positionSimple linear system for optimal position

• Can even represent them implicitly; no more setsCan even represent them implicitly; no more sets

– Much more efficient & compact Much more efficient & compact

Drawback:Drawback: unlike surface, planes are infinite unlike surface, planes are infinite

Page 16: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

The Quadric Error MetricGiven a plane, we can define a Given a plane, we can define a quadricquadric Q QGiven a plane, we can define a Given a plane, we can define a quadricquadric Q Q

Q c( , , )A b

measuring squared distance to the plane asmeasuring squared distance to the plane asmeasuring squared distance to the plane asmeasuring squared distance to the plane as

czyx

bbbzyx

aaaaaaaaa

zyx

cQ

321

332313

232212

131211

2

2)( vbvAvv TT

Page 17: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

The Quadric Error Metric Each vertex has an associated quadricEach vertex has an associated quadric• Measures error at vertexMeasures error at vertex

• Sum quadrics when contracting pairSum quadrics when contracting pair

Sum of endpoint quadrics determines v’Sum of endpoint quadrics determines v’• Fixed placement: select Fixed placement: select vv1 1 or or vv22

• Optimal placement: choose Optimal placement: choose v’v’ minimizing minimizing Q(v’)Q(v’)

Each vertex has an associated quadricEach vertex has an associated quadric• Measures error at vertexMeasures error at vertex

• Sum quadrics when contracting pairSum quadrics when contracting pair

Sum of endpoint quadrics determines v’Sum of endpoint quadrics determines v’• Fixed placement: select Fixed placement: select vv1 1 or or vv22

• Optimal placement: choose Optimal placement: choose v’v’ minimizing minimizing Q(v’)Q(v’)

v A b1 is optimal position

Page 18: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Scanned Bunny

69,451 faces69,451 faces 1000 faces1000 faces 100 faces100 faces

Total simplification time: Total simplification time: 7 seconds7 seconds

• 200 MHz PentiumPro; excludes input–output time200 MHz PentiumPro; excludes input–output time

Shape preserved at 1000 faces; gross structure Shape preserved at 1000 faces; gross structure at 100at 100

Total simplification time: Total simplification time: 7 seconds7 seconds

• 200 MHz PentiumPro; excludes input–output time200 MHz PentiumPro; excludes input–output time

Shape preserved at 1000 faces; gross structure Shape preserved at 1000 faces; gross structure at 100at 100

Page 19: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Additional Algorithm DetailsOpen boundaries may be eaten awayOpen boundaries may be eaten away• For each edge with a single incident faceFor each edge with a single incident face

– Find constraint plane through edge perpendicular to Find constraint plane through edge perpendicular to faceface

– Assign large weight & add into endpointsAssign large weight & add into endpoints

Contraction may fold mesh over onto itselfContraction may fold mesh over onto itself• Check normals before & after; reject if any flipCheck normals before & after; reject if any flip

Error metric dependent on initial meshError metric dependent on initial mesh• Weight quadrics by triangle areaWeight quadrics by triangle area

Open boundaries may be eaten awayOpen boundaries may be eaten away• For each edge with a single incident faceFor each edge with a single incident face

– Find constraint plane through edge perpendicular to Find constraint plane through edge perpendicular to faceface

– Assign large weight & add into endpointsAssign large weight & add into endpoints

Contraction may fold mesh over onto itselfContraction may fold mesh over onto itself• Check normals before & after; reject if any flipCheck normals before & after; reject if any flip

Error metric dependent on initial meshError metric dependent on initial mesh• Weight quadrics by triangle areaWeight quadrics by triangle area

Page 20: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Visualizing Quadrics in 3-DQuadric isosurfacesQuadric isosurfaces

• Are ellipsoidsAre ellipsoids(maybe degenerate)(maybe degenerate)

• Characterize shapeCharacterize shape

• Stretch in least-Stretch in least-curved directionscurved directions

• Eigenvalues propor-Eigenvalues propor-tional to principal tional to principal curvaturescurvatures

Quadric isosurfacesQuadric isosurfaces

• Are ellipsoidsAre ellipsoids(maybe degenerate)(maybe degenerate)

• Characterize shapeCharacterize shape

• Stretch in least-Stretch in least-curved directionscurved directions

• Eigenvalues propor-Eigenvalues propor-tional to principal tional to principal curvaturescurvatures

Page 21: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Dental Mold

424,376 faces424,376 faces 60,000 faces60,000 faces

50 sec50 sec

Page 22: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Dental Mold

424,376 faces424,376 faces 8000 faces8000 faces

55 sec55 sec

Page 23: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Dental Mold

424,376 faces424,376 faces 1000 faces1000 faces

56 sec56 sec

Page 24: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Turbine Blade

1,765,388 faces1,765,388 faces 420,000 faces420,000 faces

217 sec217 sec

Page 25: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Turbine Blade

1,765,388 faces1,765,388 faces 80,000 faces80,000 faces

300 sec300 sec

Page 26: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Sample Model: Turbine Blade

1,765,388 faces1,765,388 faces

310 sec310 sec

8000 faces8000 faces

Page 27: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Good Geometric Results,Need to Consider AttributesFundamental algorithm works wellFundamental algorithm works well• Simple to implement & simplification is fastSimple to implement & simplification is fast

• High-quality approximationsHigh-quality approximations

• Quadrics record useful information about shapeQuadrics record useful information about shape

But many models have additional But many models have additional propertiesproperties• Color, texture, normals, etc.Color, texture, normals, etc.

• Need to simplify these as wellNeed to simplify these as well

Fundamental algorithm works wellFundamental algorithm works well• Simple to implement & simplification is fastSimple to implement & simplification is fast

• High-quality approximationsHigh-quality approximations

• Quadrics record useful information about shapeQuadrics record useful information about shape

But many models have additional But many models have additional propertiesproperties• Color, texture, normals, etc.Color, texture, normals, etc.

• Need to simplify these as wellNeed to simplify these as well

Page 28: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Gouraud Shaded Surface:Single RGB Value Per Vertex

Surface geometrySurface geometry Radiosity solutionRadiosity solution

Page 29: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Gouraud Shaded Surface:Single RGB Value Per Vertex

Mesh for solutionMesh for solution Radiosity solutionRadiosity solution

Page 30: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Surface Properties asVertex AttributesEach vertex has a set of propertiesEach vertex has a set of properties• Each property has Each property has oneone unique value per vertex unique value per vertex

• Attributes are linearly interpolated over facesAttributes are linearly interpolated over faces

• Primary example: one RGB color per vertexPrimary example: one RGB color per vertex

Can’t treat geometry & color separatelyCan’t treat geometry & color separately• Position and color are correlatedPosition and color are correlated

• Optimal position may lie off the surfaceOptimal position may lie off the surface

• Must synthesize new color for this positionMust synthesize new color for this position

Each vertex has a set of propertiesEach vertex has a set of properties• Each property has Each property has oneone unique value per vertex unique value per vertex

• Attributes are linearly interpolated over facesAttributes are linearly interpolated over faces

• Primary example: one RGB color per vertexPrimary example: one RGB color per vertex

Can’t treat geometry & color separatelyCan’t treat geometry & color separately• Position and color are correlatedPosition and color are correlated

• Optimal position may lie off the surfaceOptimal position may lie off the surface

• Must synthesize new color for this positionMust synthesize new color for this position

Page 31: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Vertex Attributes BecomeAdded DimensionsTreat each vertex as a 6-vector [x y z r g b]Treat each vertex as a 6-vector [x y z r g b]• Assume this 6-D space is EuclideanAssume this 6-D space is Euclidean

– Of course, color space is only roughly EuclideanOf course, color space is only roughly Euclidean

• Scale Scale xyzxyz space to unit cube for consistency space to unit cube for consistency

Triangle determines a 2-plane in 6-D spaceTriangle determines a 2-plane in 6-D space• Can measure squared distance to this planeCan measure squared distance to this plane

• Distance along all perpendicular directionsDistance along all perpendicular directions

– Generalized Pythagorean TheoremGeneralized Pythagorean Theorem

Treat each vertex as a 6-vector [x y z r g b]Treat each vertex as a 6-vector [x y z r g b]• Assume this 6-D space is EuclideanAssume this 6-D space is Euclidean

– Of course, color space is only roughly EuclideanOf course, color space is only roughly Euclidean

• Scale Scale xyzxyz space to unit cube for consistency space to unit cube for consistency

Triangle determines a 2-plane in 6-D spaceTriangle determines a 2-plane in 6-D space• Can measure squared distance to this planeCan measure squared distance to this plane

• Distance along all perpendicular directionsDistance along all perpendicular directions

– Generalized Pythagorean TheoremGeneralized Pythagorean Theorem

Page 32: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Generalized Quadric Metric

Squared distance to 2-plane has same form:Squared distance to 2-plane has same form:

• A:A: 6x6 matrix 6x6 matrix v,b:v,b: 6-vectors 6-vectors c:c: scalar (for scalar (for RGB)RGB)

• Underlying algorithm remains the sameUnderlying algorithm remains the same

May want to selectively weight channelsMay want to selectively weight channels• Relative importance of space & colorRelative importance of space & color

• Relative importance of red & greenRelative importance of red & green

Squared distance to 2-plane has same form:Squared distance to 2-plane has same form:

• A:A: 6x6 matrix 6x6 matrix v,b:v,b: 6-vectors 6-vectors c:c: scalar (for scalar (for RGB)RGB)

• Underlying algorithm remains the sameUnderlying algorithm remains the same

May want to selectively weight channelsMay want to selectively weight channels• Relative importance of space & colorRelative importance of space & color

• Relative importance of red & greenRelative importance of red & green

Q c( )v v Av b v T T2

Page 33: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Generalized Quadric MetricCommon property typesCommon property types

VertexVertexDimensionDimension

• ColorColor [x y z r g b][x y z r g b] 6x6 quadrics6x6 quadrics

• TextureTexture [x y z s t][x y z s t] 5x5 5x5 quadricsquadrics

• NormalNormal [x y z u v w][x y z u v w] 6x6 6x6 quadricsquadrics

• Color+NormalColor+Normal [x y z r g b u v w][x y z r g b u v w] 9x9 9x9 quadricsquadrics

Common property typesCommon property types

VertexVertexDimensionDimension

• ColorColor [x y z r g b][x y z r g b] 6x6 quadrics6x6 quadrics

• TextureTexture [x y z s t][x y z s t] 5x5 5x5 quadricsquadrics

• NormalNormal [x y z u v w][x y z u v w] 6x6 6x6 quadricsquadrics

• Color+NormalColor+Normal [x y z r g b u v w][x y z r g b u v w] 9x9 9x9 quadricsquadrics

Page 34: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Simplifying the Dragon Model

50,761 faces50,761 faces 10,000 faces10,000 faces

20 sec.20 sec.

Page 35: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Simplifying the Dragon Model

50,761 faces50,761 faces 1,500 faces1,500 faces

23 sec.23 sec.

Page 36: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Simplifying the Dragon Model

50,761 faces50,761 faces 1,500 faces1,500 faces

23 sec.23 sec.

Page 37: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

A Sample Textured Surface

Page 38: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Simplifying Geometry Only:Same Texture Coordinates

Page 39: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Simplifying with xyzst Quadrics;New Texture Coordinates

Page 40: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Comparison to Related WorkVertex clustering Vertex clustering [Rossignac–Borrel 93; Low–Tan 96][Rossignac–Borrel 93; Low–Tan 96]

• Partition space; merge vertices within cellsPartition space; merge vertices within cells

• More general: doesn’t require connectivityMore general: doesn’t require connectivity

• Very fast, but poor qualityVery fast, but poor quality

Mesh optimization Mesh optimization [Hoppe [Hoppe et alet al 93] 93]

• Energy minimization approachEnergy minimization approach

• Very slow; highest quality resultsVery slow; highest quality results

Vertex clustering Vertex clustering [Rossignac–Borrel 93; Low–Tan 96][Rossignac–Borrel 93; Low–Tan 96]

• Partition space; merge vertices within cellsPartition space; merge vertices within cells

• More general: doesn’t require connectivityMore general: doesn’t require connectivity

• Very fast, but poor qualityVery fast, but poor quality

Mesh optimization Mesh optimization [Hoppe [Hoppe et alet al 93] 93]

• Energy minimization approachEnergy minimization approach

• Very slow; highest quality resultsVery slow; highest quality results

Page 41: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Comparison to Related WorkVertex decimation Vertex decimation [Schroeder [Schroeder et alet al 92, Schroeder 97] 92, Schroeder 97]

• Error based on distance to plane of Error based on distance to plane of neighborhoodneighborhood

• Appears somewhat slower, lower qualityAppears somewhat slower, lower quality

• Requires less memoryRequires less memory

Vertex decimation Vertex decimation [Soucy–Laurendeau 96, Klein [Soucy–Laurendeau 96, Klein et alet al 96] 96]

• More extensive distance-to-surface More extensive distance-to-surface measurementsmeasurements

• Good quality; rather slowGood quality; rather slow

Vertex decimation Vertex decimation [Schroeder [Schroeder et alet al 92, Schroeder 97] 92, Schroeder 97]

• Error based on distance to plane of Error based on distance to plane of neighborhoodneighborhood

• Appears somewhat slower, lower qualityAppears somewhat slower, lower quality

• Requires less memoryRequires less memory

Vertex decimation Vertex decimation [Soucy–Laurendeau 96, Klein [Soucy–Laurendeau 96, Klein et alet al 96] 96]

• More extensive distance-to-surface More extensive distance-to-surface measurementsmeasurements

• Good quality; rather slowGood quality; rather slow

Page 42: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Comparison to Related WorkIterative edge contractionIterative edge contraction• Progressive mesh construction Progressive mesh construction [Hoppe 96][Hoppe 96]

– Very high quality; very slowVery high quality; very slow

• Memory-less simplification Memory-less simplification [Lindstrom–Turk 98][Lindstrom–Turk 98]

– Similar quality; slower; uses less memorySimilar quality; slower; uses less memory

• Full-range approximation Full-range approximation [Ronfard–Rossignac 96][Ronfard–Rossignac 96]

– Lower quality; slower; more memoryLower quality; slower; more memory

Iterative edge contractionIterative edge contraction• Progressive mesh construction Progressive mesh construction [Hoppe 96][Hoppe 96]

– Very high quality; very slowVery high quality; very slow

• Memory-less simplification Memory-less simplification [Lindstrom–Turk 98][Lindstrom–Turk 98]

– Similar quality; slower; uses less memorySimilar quality; slower; uses less memory

• Full-range approximation Full-range approximation [Ronfard–Rossignac 96][Ronfard–Rossignac 96]

– Lower quality; slower; more memoryLower quality; slower; more memory

Page 43: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Future DirectionsExploiting speed of simplificationExploiting speed of simplification• Interactive simplificationInteractive simplification

• Online generation of progressive meshesOnline generation of progressive meshes

Exploiting resulting hierarchical structureExploiting resulting hierarchical structure• Adaptive surface modelsAdaptive surface models

– View-dependent refinement, multiresolution surface View-dependent refinement, multiresolution surface editingediting

• Hierarchical computationsHierarchical computations

– Shape analysis, radiosity, collision detectionShape analysis, radiosity, collision detection

Exploiting speed of simplificationExploiting speed of simplification• Interactive simplificationInteractive simplification

• Online generation of progressive meshesOnline generation of progressive meshes

Exploiting resulting hierarchical structureExploiting resulting hierarchical structure• Adaptive surface modelsAdaptive surface models

– View-dependent refinement, multiresolution surface View-dependent refinement, multiresolution surface editingediting

• Hierarchical computationsHierarchical computations

– Shape analysis, radiosity, collision detectionShape analysis, radiosity, collision detection

Page 44: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

SummaryRapidly generate high quality approximationsRapidly generate high quality approximations• Good compromise betweenGood compromise between

highest quality and fastest simplificationhighest quality and fastest simplification

• Can simplify non-manifold surfacesCan simplify non-manifold surfaces

• Manages material properties as well as geometryManages material properties as well as geometry

• Doesn’t have guaranteed error boundsDoesn’t have guaranteed error bounds

Currently in real-world useCurrently in real-world use• Scanned data, isosurfaces, CAD models, …Scanned data, isosurfaces, CAD models, …

Rapidly generate high quality approximationsRapidly generate high quality approximations• Good compromise betweenGood compromise between

highest quality and fastest simplificationhighest quality and fastest simplification

• Can simplify non-manifold surfacesCan simplify non-manifold surfaces

• Manages material properties as well as geometryManages material properties as well as geometry

• Doesn’t have guaranteed error boundsDoesn’t have guaranteed error bounds

Currently in real-world useCurrently in real-world use• Scanned data, isosurfaces, CAD models, …Scanned data, isosurfaces, CAD models, …

Page 45: Fast and Effective Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University

Available Online:Further Details & Free StuffFree sample Free sample implementation,implementation,

example surface models,example surface models,

related papers.related papers.

Free sample Free sample implementation,implementation,

example surface models,example surface models,

related papers.related papers.

http://www.cs.cmu.edu/~garland/quadrics/http://www.cs.cmu.edu/~garland/quadrics/http://www.cs.cmu.edu/~garland/quadrics/http://www.cs.cmu.edu/~garland/quadrics/