Page 1
Multiresolution Analysis of Arbitrary Meshes
Matthias EckMatthias Eck
joint withjoint with
Tony DeRose, Tom Duchamp, Hugues Hoppe,Tony DeRose, Tom Duchamp, Hugues Hoppe,
Michael Lounsbery and Werner StuetzleMichael Lounsbery and Werner Stuetzle
Matthias EckMatthias Eck
joint withjoint with
Tony DeRose, Tom Duchamp, Hugues Hoppe,Tony DeRose, Tom Duchamp, Hugues Hoppe,
Michael Lounsbery and Werner StuetzleMichael Lounsbery and Werner Stuetzle
U. of Darmstadt , U. of Washington , Microsoft , AliasU. of Darmstadt , U. of Washington , Microsoft , Alias
Page 2
Overview
1. 1. Motivation and applicationsMotivation and applications
2. 2. Our contributionOur contribution
3. 3. ResultsResults
4. 4. Summary and future workSummary and future work
1. 1. Motivation and applicationsMotivation and applications
2. 2. Our contributionOur contribution
3. 3. ResultsResults
4. 4. Summary and future workSummary and future work
Page 3
Motivation
problem: problem: complex shapes = complex meshescomplex shapes = complex meshes problem: problem: complex shapes = complex meshescomplex shapes = complex meshes
I have I have 70,00070,000 faces !faces !
Page 4
Difficulties:Difficulties:
– StorageStorage
– TransmissionTransmission
– RenderingRendering
– EditingEditing
Multiresolution analysisMultiresolution analysis
Difficulties:Difficulties:
– StorageStorage
– TransmissionTransmission
– RenderingRendering
– EditingEditing
Multiresolution analysisMultiresolution analysis
Page 5
multiresolution representation of mesh Mmultiresolution representation of mesh M
==
base shape base shape MM 0 0
++
sum of local correction terms sum of local correction terms
((wavelet termswavelet terms))
multiresolution representation of mesh Mmultiresolution representation of mesh M
==
base shape base shape MM 0 0
++
sum of local correction terms sum of local correction terms
((wavelet termswavelet terms))
Page 6
base shape base shape M M 00
mesh Mmesh M
Page 7
Applications
1. 1. CompressionCompression
2. 2. Multiresolution editingMultiresolution editing
3. 3. Level-of-detail controlLevel-of-detail control
4. 4. Progressive transmission and renderingProgressive transmission and rendering
Page 8
~70,000 faces ~11,000 faces~70,000 faces ~11,000 faces
tight error boundstight error bounds
Page 9
Applications
1. 1. CompressionCompression
2.2. Multiresolution editingMultiresolution editing
3. 3. Level-of-detail controlLevel-of-detail control
4. 4. Progressive transmission and renderingProgressive transmission and rendering
Page 11
Applications
1. 1. CompressionCompression
2. 2. Multiresolution editingMultiresolution editing
3. Level-of-detail control3. Level-of-detail control
4. 4. Progressive transmission and renderingProgressive transmission and rendering
Page 12
no visual discontinutiesno visual discontinuties
Page 13
Applications
1. 1. CompressionCompression
2. 2. Multiresolution editingMultiresolution editing
3. 3. Level-of-detail controlLevel-of-detail control
4.4. Progressive transmission and renderingProgressive transmission and rendering
Page 14
base shape M base shape M 00
mesh Mmesh M
Page 15
2. Our contribution
Page 16
2. Our contribution
Page 17
Previous work
Lounsbery, DeRose, Warren 1993Lounsbery, DeRose, Warren 1993
– provides general framework for MRAprovides general framework for MRA
– extends wavelet analysis to surfaces of extends wavelet analysis to surfaces of arbitrary topologyarbitrary topology
Schroeder, Sweldens 1995Schroeder, Sweldens 1995
– similar work on sphere similar work on sphere
Lounsbery, DeRose, Warren 1993Lounsbery, DeRose, Warren 1993
– provides general framework for MRAprovides general framework for MRA
– extends wavelet analysis to surfaces of extends wavelet analysis to surfaces of arbitrary topologyarbitrary topology
Schroeder, Sweldens 1995Schroeder, Sweldens 1995
– similar work on sphere similar work on sphere
Page 18
However ... However ...
input surface must be parametrized over a input surface must be parametrized over a simple simple domain meshdomain mesh
However ... However ...
input surface must be parametrized over a input surface must be parametrized over a simple simple domain meshdomain mesh
x x)
Page 19
The problem ...
Meshes are typically given as collection of triangles, thus Meshes are typically given as collection of triangles, thus
MRA algorithms cannot directly be appliedMRA algorithms cannot directly be applied
Meshes are typically given as collection of triangles, thus Meshes are typically given as collection of triangles, thus
MRA algorithms cannot directly be appliedMRA algorithms cannot directly be applied
Page 20
I’m not I’m not parametrized !parametrized !
MM
Page 21
... and our solution
step 1: step 1: construct construct a simple a simple domain mesh domain mesh KKstep 1: step 1: construct construct a simple a simple domain mesh domain mesh KK
KK MM
Page 22
... and our solution
step 1: step 1: construct construct a simple a simple domain mesh domain mesh KK
step 2: step 2: construct construct aa parametrization parametrization ofof MM over over KK
step 1: step 1: construct construct a simple a simple domain mesh domain mesh KK
step 2: step 2: construct construct aa parametrization parametrization ofof MM over over KK
KK MM
MRA !!!MRA !!!
Page 23
step1:Construction of domain mesh
Main idea: Main idea:
partitionpartition M into triangular regions M into triangular regions
domain mesh Kdomain mesh K
Main idea: Main idea:
partitionpartition M into triangular regions M into triangular regions
domain mesh Kdomain mesh K
Page 24
mesh M mesh M partitionpartition domain mesh Kdomain mesh K
Page 25
How to get partition ?
Our requirements:Our requirements:
• topological type of topological type of KK = topological type of = topological type of MM
• small number of triangular regionssmall number of triangular regions
• smooth and straight boundariessmooth and straight boundaries
• fully automatic procedurefully automatic procedure
Our requirements:Our requirements:
• topological type of topological type of KK = topological type of = topological type of MM
• small number of triangular regionssmall number of triangular regions
• smooth and straight boundariessmooth and straight boundaries
• fully automatic procedurefully automatic procedure
Page 26
construct construct Voronoi-likeVoronoi-like
diagram diagram on Mon M
construct construct Delaunay-likeDelaunay-liketriangulationtriangulation
mesh M mesh M
Page 27
step 2:Construction of parametrization
parametrization parametrization
parametrization parametrization
• map each face of domain mesh to corresponding map each face of domain mesh to corresponding triangular regiontriangular region
• local maps agree on boundaries:local maps agree on boundaries:
• map each face of domain mesh to corresponding map each face of domain mesh to corresponding triangular regiontriangular region
• local maps agree on boundaries:local maps agree on boundaries:
Page 28
local maplocal map
Page 29
How to map locally?
Requirements:Requirements:
– fixed boundary conditionsfixed boundary conditions
– small distortionsmall distortion
Best choice: Best choice: harmonic mapsharmonic maps
– well-known from differential geometrywell-known from differential geometry
– minimizing the metric distortionminimizing the metric distortion
Requirements:Requirements:
– fixed boundary conditionsfixed boundary conditions
– small distortionsmall distortion
Best choice: Best choice: harmonic mapsharmonic maps
– well-known from differential geometrywell-known from differential geometry
– minimizing the metric distortionminimizing the metric distortion
Page 30
local map
planar triangleplanar triangle triangular regiontriangular region
Page 33
34 min. , 70,000 faces34 min. , 70,000 faces
162 faces162 faces 2,000 faces , 2,000 faces , < 2.0 % < 2.0 % 4,600 faces , 4,600 faces , < 1.2 % < 1.2 %
Page 34
40 min. , 100,000 faces40 min. , 100,000 faces
229 faces229 faces 2,000 faces , 2,000 faces , < 2.0 % < 2.0 % 4,700 faces , 4,700 faces , < 1.5 % < 1.5 %
Page 35
Summary
• Given: An arbitrary mesh MGiven: An arbitrary mesh M
• We construct: a simple domain mesh and an We construct: a simple domain mesh and an exactexact parametrization for Mparametrization for M
• Allows MRA to be appliedAllows MRA to be applied
– tight error boundstight error bounds
• Useful in other applicationsUseful in other applications
• Given: An arbitrary mesh MGiven: An arbitrary mesh M
• We construct: a simple domain mesh and an We construct: a simple domain mesh and an exactexact parametrization for Mparametrization for M
• Allows MRA to be appliedAllows MRA to be applied
– tight error boundstight error bounds
• Useful in other applicationsUseful in other applications
Page 37
5. Future work
Other potential applications of parametrization:Other potential applications of parametrization:
• texture mappingtexture mapping
• finite element analysisfinite element analysis
• surface morphingsurface morphing
• B-spline fitting B-spline fitting
• texture mappingtexture mapping
• finite element analysisfinite element analysis
• surface morphingsurface morphing
• B-spline fitting B-spline fitting
Page 38
approximating surfaceapproximating surface B - spline control meshB - spline control mesh
B - spline fitting