Implicit Fairing of Irregular Meshes using Diffusion and

Download Report

Transcript Implicit Fairing of Irregular Meshes using Diffusion and

Implicit Fairing of Irregular
Meshes using Diffusion and
Curvature Flow
What are we doing?
• Fairness: low variation in curvature.
• Move vertices to achieve.
– Mesh topology stays the same.
Overview
• How do we move vertices?
– Explicit integration
– Implicit integration
• What direction do we move vertices?
– Simple Laplacian
– Scale-dependant Laplacian
– Curvature
How do we move vertices?
Integration Intuition
• X’ = -a·X (a > 0)
• Exact solution: e-a·t
– Give or take a scale factor.
Explicit Integration
• X(t+dt) = (1-a·dt)·X(t)
– 1 > a·dt > 0
– 2 > a·dt > 1
–
a·dt > 2
OK.
Damped oscillation.
BOOM!
• Take small steps to stay stable.
Implicit Integration
•
•
•
•
•
X(t+dt) = X(t)-a·dt·X(t+dt)
X(t+dt)·(1+a·dt) = X(t)
X(t+dt) = X(t)·(1+a·dt)-1
Higher computational cost.
Better stability.
– Huge time steps are possible.
– … but accuracy will suffer.
Generic Smoothing Eq.
• Explicit
– X(t+dt) = (I+lam·dt·M)·X(t)
• Implicit
– X(t+dt)·(I-lam·dt·M) = X(t)
• Inverting matrices sucks. (So don’t do it…)
• Sparsity works for us.
When is Implicit Faster?
• Small edges require small steps for explicit
integration.
• Sparsity allows faster implicit integration.
• Accuracy seems to be OK for big time
steps.
• Can only take big steps with implicit…
Where do we move vertices?
Simple Laplacian
• Move a vertex towards a weighted sum of
its neighbors.
– Equal weighting.
• Assumption: it’s a regular mesh.
– Mangles the mesh if it’s not.
• Shrinkage.
• Sliding.
Scale-dependant Laplacian
• Move a vertex towards a weighted sum of
its neighbors.
– Weighted by inverse edge length.
• Less shape distortion.
• Less sliding.
• A little more computation is required.
Curvature
• Move a vertex along the surface normal,
based on the magnitude of the curvature.
• A.k.a. Move a vertex towards a weighted
sum of its neighbors.
– But with a funky weight…
– Not normalized, either.
• Sliding should be negligible.
Laplacian & Signal Processing
• Raising L to a higher power...
– Steeper roll off. (Higher order filter.)
– Denser matrix. (Less sparse.)
– L2 is a good balance.
• Combinations of L and L2 allow resonant
filters, etc.
Summary of Operators
• Simple Laplacian
– Mangles irregular meshes.
• Scale-dependant Laplacian
– Better results.
– Still slides.
• Curvature
– Best shape preservation.
– Minimal sliding.
– Ugly weights.
That Shrinking Thing…
• Calculating mesh volume is easy.
• Rescale the mesh to preserve the volume.
• Amplifies low frequencies.
– Only if the mesh shrinks.
Summary
• Classic ideas, new applications.
– Implicit integration.
– Lowpass filtering as smoothing.
– Scaling a mesh.
• Better operators for smoothing.
– Scale-dependant Laplacian.
– Mean curvature.
Where to go from here?
• Anisotropic smoothing.
• Statistical techniques.
– One step smoothing.
– Bilateral mesh denoising.
Fair well.