multiresolution analysis of arbitrary meshes matthias eck joint with tony derose, tom duchamp,...
TRANSCRIPT
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
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
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 !
Difficulties:Difficulties:
– StorageStorage
– TransmissionTransmission
– RenderingRendering
– EditingEditing
Multiresolution analysisMultiresolution analysis
Difficulties:Difficulties:
– StorageStorage
– TransmissionTransmission
– RenderingRendering
– EditingEditing
Multiresolution analysisMultiresolution analysis
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))
base shape base shape M M 00
mesh Mmesh M
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
~70,000 faces ~11,000 faces~70,000 faces ~11,000 faces
tight error boundstight error bounds
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
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
no visual discontinutiesno visual discontinuties
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
base shape M base shape M 00
mesh Mmesh M
2. Our contribution
2. Our contribution
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
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)
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
I’m not I’m not parametrized !parametrized !
MM
... 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
... 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 !!!
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
mesh M mesh M partitionpartition domain mesh Kdomain mesh K
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
construct construct Voronoi-likeVoronoi-like
diagram diagram on Mon M
construct construct Delaunay-likeDelaunay-liketriangulationtriangulation
mesh M mesh M
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:
local maplocal map
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
local map
planar triangleplanar triangle triangular regiontriangular region
4. Results
4. Results
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 %
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 %
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
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
approximating surfaceapproximating surface B - spline control meshB - spline control mesh
B - spline fitting