Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.
-
Upload
jerome-fowler -
Category
Documents
-
view
221 -
download
0
Transcript of Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.
![Page 1: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/1.jpg)
Implicit Fairing of Irregular Meshes using Diffusion and
Curvature Flow
![Page 2: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/4.jpg)
How do we move vertices?
![Page 5: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/10.jpg)
Where do we move vertices?
![Page 11: Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.us/reader036/viewer/2022072110/56649e2d5503460f94b1d569/html5/thumbnails/19.jpg)
Fair well.