Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

19
Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow

Transcript of Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Page 1: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Implicit Fairing of Irregular Meshes using Diffusion and

Curvature Flow

Page 2: 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.

Page 3: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Overview

• How do we move vertices?– Explicit integration– Implicit integration

• What direction do we move vertices?– Simple Laplacian– Scale-dependant Laplacian– Curvature

Page 4: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

How do we move vertices?

Page 5: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Integration Intuition

• X’ = -a·X (a > 0)

• Exact solution: e-a·t

– Give or take a scale factor.

Page 6: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Explicit Integration

• X(t+dt) = (1-a·dt)·X(t)– 1 > a·dt > 0 OK.– 2 > a·dt > 1 Damped oscillation.– a·dt > 2 BOOM!

• Take small steps to stay stable.

Page 7: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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.

Page 8: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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.

Page 9: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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…

Page 10: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Where do we move vertices?

Page 11: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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.

Page 12: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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.

Page 13: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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.

Page 14: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

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.

Page 15: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Summary of Operators

• Simple Laplacian– Mangles irregular meshes.

• Scale-dependant Laplacian– Better results.– Still slides.

• Curvature– Best shape preservation.– Minimal sliding.– Ugly weights.

Page 16: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

That Shrinking Thing…

• Calculating mesh volume is easy.

• Rescale the mesh to preserve the volume.

• Amplifies low frequencies.– Only if the mesh shrinks.

Page 17: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Summary

• Classic ideas, new applications.– Implicit integration.– Lowpass filtering as smoothing.– Scaling a mesh.

• Better operators for smoothing.– Scale-dependant Laplacian.– Mean curvature.

Page 18: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Where to go from here?

• Anisotropic smoothing.

• Statistical techniques.– One step smoothing.– Bilateral mesh denoising.

Page 19: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.

Fair well.