210 likes | 407 Views
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
E N D
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
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 OK. • 2 > a·dt > 1 Damped oscillation. • a·dt > 2 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…
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.