Multiresolution Analysis of Arbitrary Meshes Matthias Eck joint with Tony DeRose, Tom Duchamp,...

Post on 17-Dec-2015

224 views 2 download

Tags:

Transcript of Multiresolution Analysis of Arbitrary Meshes Matthias Eck joint with Tony DeRose, Tom Duchamp,...

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