Multiresolution Analysis of Arbitrary Meshes Matthias Eck joint with Tony DeRose, Tom Duchamp, Hugues Hoppe, Michael Lounsbery and Werner Stuetzle Matthias Eck joint with Tony DeRose, Tom Duchamp, Hugues Hoppe, Michael Lounsbery and Werner Stuetzle U. of Darmstadt, U. of Washington, Microsoft, Alias
Overview 1. Motivation and applications 2. Our contribution 3. Results 4. Summary and future work 1. Motivation and applications 2. Our contribution 3. Results 4. Summary and future work
Motivation problem: complex shapes = complex meshes problem: complex shapes = complex meshes I have 70,000 faces !
Difficulties: –Storage –Transmission –Rendering –Editing Multiresolution analysis Multiresolution analysis Difficulties: –Storage –Transmission –Rendering –Editing Multiresolution analysis Multiresolution analysis
multiresolution representation of mesh M = base shape M 0 + sum of local correction terms (wavelet terms) multiresolution representation of mesh M = base shape M 0 + sum of local correction terms (wavelet terms)
base shape M 0 mesh M
Applications 1. Compression 2. Multiresolution editing 3. Level-of-detail control 4. Progressive transmission and rendering
~70,000 faces ~11,000 faces ~70,000 faces ~11,000 faces tight error bounds tight error bounds
Applications 1. Compression 2. Multiresolution editing 3. Level-of-detail control 4. Progressive transmission and rendering
Applications 1. Compression 2. Multiresolution editing 3. Level-of-detail control 4. Progressive transmission and rendering
no visual discontinuties
Applications 1. Compression 2. Multiresolution editing 3. Level-of-detail control 4. Progressive transmission and rendering
base shape M 0 mesh M
2. Our contribution
Previous work Lounsbery, DeRose, Warren 1993 –provides general framework for MRA –extends wavelet analysis to surfaces of arbitrary topology Schroeder, Sweldens 1995 – similar work on sphere Lounsbery, DeRose, Warren 1993 –provides general framework for MRA –extends wavelet analysis to surfaces of arbitrary topology Schroeder, Sweldens 1995 – similar work on sphere
However... input surface must be parametrized over a simple domain mesh However... input surface must be parametrized over a simple domain mesh x x)
The problem... Meshes are typically given as collection of triangles, thus MRA algorithms cannot directly be applied Meshes are typically given as collection of triangles, thus MRA algorithms cannot directly be applied
I’m not parametrized ! M
... and our solution step 1: construct a simple domain mesh K KM
... and our solution step 1: construct a simple domain mesh K step 2: construct a parametrization of M over K step 1: construct a simple domain mesh K step 2: construct a parametrization of M over K KM MRA !!!
step1: Construction of domain mesh Main idea: partition M into triangular regions domain mesh K domain mesh K Main idea: partition M into triangular regions domain mesh K domain mesh K
mesh M mesh M partition partition domain mesh K domain mesh K
How to get partition ? Our requirements: topological type of K = topological type of Mtopological type of K = topological type of M small number of triangular regionssmall number of triangular regions smooth and straight boundariessmooth and straight boundaries fully automatic procedurefully automatic procedure Our requirements: topological type of K = topological type of Mtopological type of K = topological type of M small number of triangular regionssmall number of triangular regions smooth and straight boundariessmooth and straight boundaries fully automatic procedurefully automatic procedure
constructVoronoi-like diagram on M constructDelaunay-liketriangulation mesh M
step 2: Construction of parametrization parametrization map each face of domain mesh to corresponding triangular regionmap each face of domain mesh to corresponding triangular region local maps agree on boundaries:local maps agree on boundaries: map each face of domain mesh to corresponding triangular regionmap each face of domain mesh to corresponding triangular region local maps agree on boundaries:local maps agree on boundaries:
local map
How to map locally? Requirements: – fixed boundary conditions – small distortion Best choice: harmonic maps – well-known from differential geometry – minimizing the metric distortion Requirements: – fixed boundary conditions – small distortion Best choice: harmonic maps – well-known from differential geometry – minimizing the metric distortion
local map planar triangle triangular region
4. Results
34 min., 70,000 faces 162 faces 2,000 faces, < 2.0 % 4,600 faces, < 1.2 %
40 min., 100,000 faces 229 faces 2,000 faces, < 2.0 % 4,700 faces, < 1.5 %
Summary Given: An arbitrary mesh MGiven: An arbitrary mesh M We construct: a simple domain mesh and an exact parametrization for MWe construct: a simple domain mesh and an exact parametrization for M Allows MRA to be appliedAllows MRA to be applied –tight 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 exact parametrization for MWe construct: a simple domain mesh and an exact parametrization for M Allows MRA to be appliedAllows MRA to be applied –tight error bounds Useful in other applicationsUseful in other applications
5. Future work Other potential applications of parametrization: texture mapping texture mapping finite element analysis finite element analysis surface morphing surface morphing B-spline fitting B-spline fitting texture mapping texture mapping finite element analysis finite element analysis surface morphing surface morphing B-spline fitting B-spline fitting
approximating surface B - spline control mesh B - spline fitting