quadric-based polygonal surface simplification michael garland carnegie mellon university december...

53
Quadric-Based Polygonal Surface Simplification Michael Garland Michael Garland Carnegie Mellon University Carnegie Mellon University December 1998 December 1998

Upload: chloe-walters

Post on 12-Jan-2016

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Quadric-Based 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: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 space, ...rendering 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 space, ...rendering 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: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Polygonal 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

Primary focus on Primary focus on renderingrendering

• Appearance is paramountAppearance is paramount

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

Primary focus on Primary focus on renderingrendering

• Appearance is paramountAppearance is paramount

Page 4: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 5: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Motivation:Highly Over-sampled Models

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

Page 6: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Motivation:Adaptive Models for Rendering

Single model not always suitableSingle model not always suitable

• Too large for hardware capacityToo large for hardware capacity

• Excessively detailed for screen sizeExcessively detailed for screen size

Use multiresolution modelsUse multiresolution models

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

• Adaptively select LOD at run timeAdaptively select LOD at run time

• Progressive network transmissionProgressive network transmission

Single model not always suitableSingle model not always suitable

• Too large for hardware capacityToo large for hardware capacity

• Excessively detailed for screen sizeExcessively detailed for screen size

Use multiresolution modelsUse multiresolution models

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

• Adaptively select LOD at run timeAdaptively select LOD at run time

• Progressive network transmissionProgressive network transmission

Page 7: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Surface Simplification:Create suitable approximations

Page 8: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Desirable Qualities forGood ApproximationsGeometric fidelity — a proxy for appearanceGeometric fidelity — a proxy for appearance• Shape is “similar” to the originalShape is “similar” to the original

• All points in close proximity to original surfaceAll points in close proximity to original surface

Economical meshesEconomical meshes• Mesh density & aspect ratios adapt to curvatureMesh density & aspect ratios adapt to curvature

Topological consistencyTopological consistency• Do not introduce self-intersectionsDo not introduce self-intersections

• But in practice, the input is often inconsistentBut in practice, the input is often inconsistent

Geometric fidelity — a proxy for appearanceGeometric fidelity — a proxy for appearance• Shape is “similar” to the originalShape is “similar” to the original

• All points in close proximity to original surfaceAll points in close proximity to original surface

Economical meshesEconomical meshes• Mesh density & aspect ratios adapt to curvatureMesh density & aspect ratios adapt to curvature

Topological consistencyTopological consistency• Do not introduce self-intersectionsDo not introduce self-intersections

• But in practice, the input is often inconsistentBut in practice, the input is often inconsistent

Page 9: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 10: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 11: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 12: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 13: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 14: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

How I Measure ErrorEach vertex has a (conceptual) set of planesEach vertex has a (conceptual) set of planes• Error Error sum of squared distances to planes in set sum of squared distances to planes in set

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 setsWhen contracting pair, use union of plane sets• planes(v’) = planes(vplanes(v’) = planes(v11) ) planes(v planes(v22))

Each vertex has a (conceptual) set of planesEach vertex has a (conceptual) set of planes• Error Error sum of squared distances to planes in set sum of squared distances to planes in set

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 setsWhen contracting pair, use union of plane sets• planes(v’) = planes(vplanes(v’) = planes(v11) ) planes(v planes(v22))

Error T( ) ( )v n v i ii

d 2Error T( ) ( )v n v i ii

d 2

Page 15: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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

vv11 vv22 v’v’

Page 16: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

How I Measure ErrorWhy base error on planes?Why base error on planes?• Faster, but less accurate, than distance-to-faceFaster, but less accurate, than distance-to-face

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

• Efficient implicit representation; no sets Efficient implicit representation; no sets requiredrequired

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

Related error metricsRelated error metrics• Ronfard & Rossignac — max vs. sumRonfard & Rossignac — max vs. sum

• Lindstrom & Turk — similar form; volume-basedLindstrom & Turk — similar form; volume-based

Why base error on planes?Why base error on planes?• Faster, but less accurate, than distance-to-faceFaster, but less accurate, than distance-to-face

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

• Efficient implicit representation; no sets Efficient implicit representation; no sets requiredrequired

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

Related error metricsRelated error metrics• Ronfard & Rossignac — max vs. sumRonfard & Rossignac — max vs. sum

• Lindstrom & Turk — similar form; volume-basedLindstrom & Turk — similar form; volume-based

Page 17: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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

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

Q x y z

a ab ac

ab b bc

ac bc c

x

y

z

ad bd cd

x

y

z

d( )v

L

NMMM

O

QPPPL

NMMM

O

QPPP

L

NMMM

O

QPPP

2

2

2

22Q x y z

a ab ac

ab b bc

ac bc c

x

y

z

ad bd cd

x

y

z

d( )v

L

NMMM

O

QPPPL

NMMM

O

QPPP

L

NMMM

O

QPPP

2

2

2

22

Q c( )v v Av b v T T2Q c( )v v Av b v T T2

Q c d d ( , , ) ( , , )A b nn nT 2Q c d d ( , , ) ( , , )A b nn nT 2

Page 18: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

The Quadric Error Metric Sum of quadrics represents set of planesSum of quadrics represents set of planes

Each vertex has an associated quadricEach vertex has an associated quadric• Error(Error(vvii) = ) = QQii (v (vii))

• Sum quadrics when contracting Sum quadrics when contracting (v(vii, v, vjj) ) v’ v’

• Cost of contraction is Cost of contraction is Q(v’)Q(v’)

Sum of quadrics represents set of planesSum of quadrics represents set of planes

Each vertex has an associated quadricEach vertex has an associated quadric• Error(Error(vvii) = ) = QQii (v (vii))

• Sum quadrics when contracting Sum quadrics when contracting (v(vii, v, vjj) ) v’ v’

• Cost of contraction is Cost of contraction is Q(v’)Q(v’)

( ) ( ) ( )n v v vi ii

ii

ii

d Q QT FHG

IKJ 2( ) ( ) ( )n v v vi i

ii

ii

id Q QT

FHG

IKJ 2

Q Q Q c ci j i j i j i j ( , , )A A b bQ Q Q c ci j i j i j i j ( , , )A A b b

Page 19: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

The Quadric Error MetricSum 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’)

• Fixed placement is faster but lower qualityFixed placement is faster but lower quality

• But it also gives smaller progressive meshesBut it also gives smaller progressive meshes

• Fallback to fixed placement if Fallback to fixed placement if AA is non- is non-invertibleinvertible

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’)

• Fixed placement is faster but lower qualityFixed placement is faster but lower quality

• But it also gives smaller progressive meshesBut it also gives smaller progressive meshes

• Fallback to fixed placement if Fallback to fixed placement if AA is non- is non-invertibleinvertible

Q( ')v v A b0 1 Q( ')v v A b0 1

Page 20: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 21: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 22: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Visualizing Quadrics in 3-DQuadric Quadric isosurfacesisosurfaces

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

• Centered around Centered around vertices vertices

• Characterize shapeCharacterize shape

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

Quadric Quadric isosurfacesisosurfaces

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

• Centered around Centered around vertices vertices

• Characterize shapeCharacterize shape

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

Page 23: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Quadrics and Surface CurvatureFor quadrics on differentiable manifoldFor quadrics on differentiable manifold• Limit of infinitely subdivided polygonal surfaceLimit of infinitely subdivided polygonal surface

• Integrate quadrics in a small neighborhoodIntegrate quadrics in a small neighborhood

Can prove that in the limitCan prove that in the limit• Eigenvectors of A are principal directionsEigenvectors of A are principal directions

• Eigenvalues of A Eigenvalues of A squared principal curvatures squared principal curvatures

• Algorithm which minimizes quadric error will Algorithm which minimizes quadric error will produce optimal aspect ratios produce optimal aspect ratios [Nadler 86, D’Azevedo 89][Nadler 86, D’Azevedo 89]

For quadrics on differentiable manifoldFor quadrics on differentiable manifold• Limit of infinitely subdivided polygonal surfaceLimit of infinitely subdivided polygonal surface

• Integrate quadrics in a small neighborhoodIntegrate quadrics in a small neighborhood

Can prove that in the limitCan prove that in the limit• Eigenvectors of A are principal directionsEigenvectors of A are principal directions

• Eigenvalues of A Eigenvalues of A squared principal curvatures squared principal curvatures

• Algorithm which minimizes quadric error will Algorithm which minimizes quadric error will produce optimal aspect ratios produce optimal aspect ratios [Nadler 86, D’Azevedo 89][Nadler 86, D’Azevedo 89]

Page 24: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Sample Model: Dental Mold

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

50 sec50 sec

Page 25: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Sample Model: Dental Mold

424,376 faces424,376 faces 8000 faces8000 faces

55 sec55 sec

Page 26: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Sample Model: Dental Mold

424,376 faces424,376 faces 1000 faces1000 faces

56 sec56 sec

Page 27: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Sample Model: Turbine Blade

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

217 sec217 sec

Page 28: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Sample Model: Turbine Blade

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

300 sec300 sec

Page 29: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Sample Model: Turbine Blade

1,765,388 faces1,765,388 faces

310 sec310 sec

8000 faces8000 faces

Page 30: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 31: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Gouraud Shaded Surface:Single RGB Value Per Vertex

Surface geometrySurface geometry Radiosity solutionRadiosity solution

Page 32: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Gouraud Shaded Surface:Single RGB Value Per Vertex

Mesh for solutionMesh for solution Radiosity solutionRadiosity solution

Page 33: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 34: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 35: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 T2Q c( )v v Av b v T T2

Page 36: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 37: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Simplifying the Dragon Model(xyzrgb quadrics)

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

20 sec.20 sec.

Page 38: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Simplifying the Dragon Model(xyzrgb quadrics)

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

23 sec.23 sec.

Page 39: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Simplifying the Dragon Model(xyzrgb quadrics)

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

23 sec.23 sec.

Page 40: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

A Sample Textured Surface

Page 41: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Simplifying Geometry Only:Same Texture Coordinates

Page 42: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Simplifying with xyzst Quadrics;New Texture Coordinates

Page 43: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 44: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 45: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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]

– Somewhat lower quality; slower; more memorySomewhat lower 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]

– Somewhat lower quality; slower; more memorySomewhat lower quality; slower; more memory

Page 46: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Alternative Application:Partition Surface GeometryPartition into disjoint sets of facesPartition into disjoint sets of faces• Disjoint sets of connected facesDisjoint sets of connected faces

• Aggregate, rather than approximate, geometryAggregate, rather than approximate, geometry

““Dual” simplification builds face regionsDual” simplification builds face regions• Dual quadrics:Dual quadrics:

• Edge contraction in dual graphEdge contraction in dual graph

– Each node is a face cluster; contraction merges Each node is a face cluster; contraction merges clustersclusters

– Produces binary tree of hierarchical regionsProduces binary tree of hierarchical regions

Partition into disjoint sets of facesPartition into disjoint sets of faces• Disjoint sets of connected facesDisjoint sets of connected faces

• Aggregate, rather than approximate, geometryAggregate, rather than approximate, geometry

““Dual” simplification builds face regionsDual” simplification builds face regions• Dual quadrics:Dual quadrics:

• Edge contraction in dual graphEdge contraction in dual graph

– Each node is a face cluster; contraction merges Each node is a face cluster; contraction merges clustersclusters

– Produces binary tree of hierarchical regionsProduces binary tree of hierarchical regions

( ) ( )n v n vT T vs. ii i iid d 2 2( ) ( )n v n vT T vs. ii i iid d 2 2

Page 47: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Simplifying Dual GraphPartitions the Surface

11,03611,036

60006000 10001000

200200

Page 48: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Summary:Primary ContributionsQuadric error metricQuadric error metric• Efficient characterization of local surface Efficient characterization of local surface

shapeshape

• Proven connection to surface curvatureProven connection to surface curvature

Hierarchical face clusteringHierarchical face clustering• Application of “dual” simplification algorithmApplication of “dual” simplification algorithm

• Partition, rather than approximate, geometryPartition, rather than approximate, geometry

Quadric-based simplification algorithm ...Quadric-based simplification algorithm ...

Quadric error metricQuadric error metric• Efficient characterization of local surface Efficient characterization of local surface

shapeshape

• Proven connection to surface curvatureProven connection to surface curvature

Hierarchical face clusteringHierarchical face clustering• Application of “dual” simplification algorithmApplication of “dual” simplification algorithm

• Partition, rather than approximate, geometryPartition, rather than approximate, geometry

Quadric-based simplification algorithm ...Quadric-based simplification algorithm ...

Page 49: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Summary:Quadric-Based SimplificationRapidly 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, VR, …Scanned data, isosurfaces, CAD, VR, …

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, VR, …Scanned data, isosurfaces, CAD, VR, …

Page 50: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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 51: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

Future DirectionsImproving simplificationImproving simplification• De-coupling analysis & synthesis phasesDe-coupling analysis & synthesis phases

• More effective topological simplificationMore effective topological simplification

• Accommodate topological preservationAccommodate topological preservation

• Analysis of generalized quadric error metricAnalysis of generalized quadric error metric

Application to tetrahedralized volumesApplication to tetrahedralized volumes• A different kind of generalized quadricA different kind of generalized quadric

Non-greedy quadric-based simplificationNon-greedy quadric-based simplification

Improving simplificationImproving simplification• De-coupling analysis & synthesis phasesDe-coupling analysis & synthesis phases

• More effective topological simplificationMore effective topological simplification

• Accommodate topological preservationAccommodate topological preservation

• Analysis of generalized quadric error metricAnalysis of generalized quadric error metric

Application to tetrahedralized volumesApplication to tetrahedralized volumes• A different kind of generalized quadricA different kind of generalized quadric

Non-greedy quadric-based simplificationNon-greedy quadric-based simplification

Page 52: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

AcknowledgementsFunded in part byFunded in part by• NSF; Schlumberger FoundationNSF; Schlumberger Foundation

Models used in presentationModels used in presentation• Stanford graphics lab — bunnyStanford graphics lab — bunny

• Iris Development — dental moldIris Development — dental mold

• Viewpoint DataLabs — dragonViewpoint DataLabs — dragon

• GE/KitWare — turbine blade, heat exchangerGE/KitWare — turbine blade, heat exchanger

• Andrew Willmott — radiosity solutionAndrew Willmott — radiosity solution

Funded in part byFunded in part by• NSF; Schlumberger FoundationNSF; Schlumberger Foundation

Models used in presentationModels used in presentation• Stanford graphics lab — bunnyStanford graphics lab — bunny

• Iris Development — dental moldIris Development — dental mold

• Viewpoint DataLabs — dragonViewpoint DataLabs — dragon

• GE/KitWare — turbine blade, heat exchangerGE/KitWare — turbine blade, heat exchanger

• Andrew Willmott — radiosity solutionAndrew Willmott — radiosity solution

Page 53: Quadric-Based Polygonal Surface Simplification Michael Garland Carnegie Mellon University December 1998 Michael Garland Carnegie Mellon University December

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/