540 likes | 736 Views
CS 6501. 2D/3D Shape Manipulation, 3D Printing. Digital Geometry Processing -- Mesh Smoothing. Outlook – Topics. Smoothing Parameterization Remeshing. Surface Smoothing – Motivation. Scanned surfaces can be noisy. Surface Smoothing – Motivation. Scanned surfaces can be noisy.
E N D
CS 6501 2D/3D Shape Manipulation,3D Printing Digital Geometry Processing -- Mesh Smoothing
Outlook – Topics • Smoothing • Parameterization • Remeshing Olga Sorkine-Hornung
Surface Smoothing – Motivation • Scanned surfaces can be noisy Olga Sorkine-Hornung
Surface Smoothing – Motivation • Scanned surfaces can be noisy Olga Sorkine-Hornung
Surface Fairing – Motivation • Marching Cubes meshes can be ugly • Why is the left mesh ugly? • Why is the right mesh ugly? • What is the problem with such triangles? Olga Sorkine-Hornung
Filtering Curves • Discrete second derivative: • In matrix-vector form for the whole curve Olga Sorkine-Hornung
Filtering Curves • Gaussian filtering • Scale factor 0 < < 1 • Matrix-vector form: Olga Sorkine-Hornung
Filtering Curves • Gaussian filtering • Scale factor 0 < < 1 • Drawbacks • ? Olga Sorkine-Hornung
Filtering Curves • Gaussian filtering • Scale factor 0 < < 1 • Drawbacks • Causes the curve/mesh to shrink; slow Olga Sorkine-Hornung
Filtering Curves Original curve Olga Sorkine-Hornung
Filtering Curves 1st iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 2nd iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 8th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 27th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 50th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 500th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 1000th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 5000th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 10000th iteration; =0.5 Olga Sorkine-Hornung
Filtering Curves 50000th iteration; =0.5 Olga Sorkine-Hornung
Recap: Laplace-Beltrami • High-pass filter: extracts local surface detail • Detail = smooth(surface) – surface • Smoothing = averaging Olga Sorkine-Hornung
Recap: Laplace-Beltrami • The direction of iapproximates the normal • The size approximates the mean curvature Olga Sorkine-Hornung
L-B: Weighting Schemes • Ignore geometry • Integrate over Voronoiregion of the vertex duniform: Wi = 1, wij= 1/di n dcotan: wij = 0.5(cotaij+ cotbij) aij bij Wi =Ai Olga Sorkine-Hornung
LaplacianMatrix • The transition between xyzand is linear: L x x = L y y = z z L = Olga Sorkine-Hornung
LaplacianMatrix • Breaking down the Laplace matrix: • M = mass matrix; Lw = stiffness matrix L M–1 Lw = Olga Sorkine-Hornung
Taubin Smoothing: Explicit Steps • Iterate: • > 0to smooth; < 0 to inflate • Originally proposed with uniform Laplacianweights 10 iterations original 50 iterations 200 iterations A Signal Processing Approach to Fair Surface DesignGabriel Taubin ACM SIGGRAPH 95 Olga Sorkine-Hornung
Taubin Smoothing: Explicit Steps • Per-vertex iterations • Simple to implement • Requires many iterations • Need to tweak μand λ 10 iterations original 50 iterations 200 iterations A Signal Processing Approach to Fair Surface DesignGabriel Taubin ACM SIGGRAPH 95 Olga Sorkine-Hornung
Example 20 iterations 5 iterations 0 iterations Olga Sorkine-Hornung
Mesh Independence • Result of smoothing with uniform Laplacian depends on triangle density and shape • Why? • Asymmetric results although underlying geometry is symmetric original uniform cotan Olga Sorkine-Hornung
Mesh Independence • Result of smoothing with uniform Laplacian depends on triangle density and shape • Why? • Asymmetric results although underlying geometry is symmetric original uniform cotan Olga Sorkine-Hornung
Implicit Fairing: Implicit Euler Steps • In each iteration, solve for the smoothed x: Implicit fairing of irregular meshes using diffusion and curvature flowM. Desbrun, M. Meyer, P. Schroeder, A. Barr ACM SIGGRAPH 99 Olga Sorkine-Hornung
Smoothing as (mean curvature) Flow • Model smoothing as a diffusion process • Discretize in time, forward differences: Olga Sorkine-Hornung
Smoothing as (mean curvature) Flow • Model smoothing as a diffusion process • Discretize in time, forward differences: Explicit integration Unstable unless time step dt is small Olga Sorkine-Hornung
Smoothing as (mean curvature) Flow • Model smoothing as a diffusion process • Backward Euler for unconditional stability Olga Sorkine-Hornung
Implicit Fairing Implicit fairing of irregular meshes using diffusion and curvature flowM. Desbrun, M. Meyer, P. Schroeder, A. Barr ACM SIGGRAPH 99 Olga Sorkine-Hornung
Implicit Fairing • The importance of using the right weights Mean curvature Mean curvature Uniform(umbrella) cotan Olga Sorkine-Hornung
Laplacian Mesh Optimization • Smoothing, improving of triangle shapes • Basic idea: formulate a “shopping list”, solve with least squares Laplacian Mesh Optimization ACM GRAPHITE 2006 A. Nealen, T. Igarashi, O. Sorkine, M. Alexa Olga Sorkine-Hornung
Laplacian Mesh Optimization • Smoothing, improving of triangle shapes • Basic idea: formulate a “shopping list”, solve with least squares • Smooth mesh: Lx = 0 • Passes close to input data set: x = x • Well-shaped triangles: Lunix = Lcotx • The terms are weighted according to importance and geometry Laplacian Mesh Optimization ACM GRAPHITE 2006 A. Nealen, T. Igarashi, O. Sorkine, M. Alexa Olga Sorkine-Hornung
WP WP WL WL X Smoothing • Meshsmoothing L = Lcot (outer fairness) or L = Luni(outer and inner fairness) • Controlled by WP and WL(Intensity, Features) L x 0 Lx = 0 = x = x n aij bij Olga Sorkine-Hornung
Using WP original w = 0.2 w = 0.02 Olga Sorkine-Hornung
Using WP and WL test model with added noise without WL with WL Olga Sorkine-Hornung
WP WP x Triangle Shape Optimization Luni dcot x = n n Lunix = Lcotx Olga Sorkine-Hornung
Positional Weights Olga Sorkine-Hornung
Constant Weights Olga Sorkine-Hornung
Linear Weights Olga Sorkine-Hornung
CDF Weights Olga Sorkine-Hornung
Original Olga Sorkine-Hornung
Triangle Shape Optimization Olga Sorkine-Hornung