4.1 Discrete Differential Geometry
Total Page:16
File Type:pdf, Size:1020Kb
Spring 2015 CSCI 599: Digital Geometry Processing 4.1 Discrete Differential Geometry Hao Li http://cs599.hao-li.com 1 Outline • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures 2 Differential Operators on Polygons Differential Properties! • Surface is sufficiently differentiable • Curvatures → 2nd derivatives 3 Differential Operators on Polygons Differential Properties! • Surface is sufficiently differentiable • Curvatures → 2nd derivatives Polygonal Meshes! • Piecewise linear approximations of smooth surface • Focus on Discrete Laplace Beltrami Operator • Discrete differential properties defined over (x) N 4 Local Averaging Local Neighborhood ( x ) of a point !x N • often coincides with mesh vertex vi • n-ring neighborhood ( v ) or local geodesic ball Nn i 5 Local Averaging Local Neighborhood ( x ) of a point !x N • often coincides with mesh vertex vi • n-ring neighborhood ( v ) or local geodesic ball Nn i Neighborhood size! • Large: smoothing is introduced, stable to noise • Small: fine scale variation, sensitive to noise 6 Local Averaging: 1-Ring (x) N x Barycentric cell Voronoi cell Mixed Voronoi cell (barycenters/edgemidpoints) (circumcenters) (circumcenters/midpoint) tight error bound better approximation 7 Barycentric Cells Connect edge midpoints and triangle barycenters! • Simple to compute • Area is 1/3 o triangle areas • Slightly wrong for obtuse triangles 8 Mixed Cells Connect edge midpoints and! • Circumcenters for non-obtuse triangles • Midpoint of opposite edge for obtuse triangles • Better approximation, more complex to compute… 9 Normal Vectors Continuous surface x(u, v) x(u, v)= y(u, v) z(u, v) ⇥ n ⇤ ⌅ Normal vector xu xv p x x n = u × v x x ⇥ u × v⇥ Assume regular parameterization x x = 0 normal exists u × v ⇥ 10 Discrete Normal Vectors n(T ) xk xi xj 11 Discrete Normal Vectors n(v) n(T ) xk xi xj 12 Discrete Normal Vectors n(v) n(T ) xk xi ✓T xj 13 Discrete Normal Vectors tessellated cylinder 14 Simple Curvature Discretization mean curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn 15 Simple Curvature Discretization mean curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn How to discretize? 16 Laplace Operator on Meshes Extend finite differences to meshes?! • What weights per vertex/edge? ¼ ? ? ¼ ¼ ? ? ? ½ -1 ½ -1 ? ? ¼ 1D grid 2D grid 2D/3D grid 17 Uniform Laplace Uniform discretization! • What weights per vertex/edge? Properties! • depends only on connectivity • simple and efficient 18 Uniform Laplace Uniform discretization! 1 ∆unixi := (xj xi) 2Hn 1(vi) − ⇥ v (v ) |N | j ∈N1 i Properties! • depends only on connectivity • simple and efficient • bad approximation for irregular triangulations • can give non-zero H for planar meshes • tangential drift for mesh smoothing 19 Gradients mean curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn gradient operator Discrete Gradient of a Function! • Defined on piecewise linear triangle • Important for parameterization and deformation 20 Gradients xk xi triangle xj piecewise linear function u =(u, v) fi = f(xi) linear basis functions for barycentric interpolation on a triangle 21 Gradients piecewise linear function u =(u, v) 22 Gradients piecewise linear function u =(u, v) gradient of linear function 23 Gradients piecewise linear function u =(u, v) gradient of linear function partition of unity gradients of basis 24 Gradients piecewise linear function u =(u, v) gradient of linear function partition of unity gradients of basis gradient of linear function 25 Gradients gradient of linear function Gradients gradient of linear function with appropriate normalization: 27 Gradients gradient of linear function with appropriate normalization: fi = f(xi) discrete gradient of a piecewiese linear function within T 28 Discrete Laplace-Beltrami gradient mean operator curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn Discrete Laplace-Beltrami gradient mean operator curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn divergence theorem 30 Discrete Laplace-Beltrami gradient mean operator curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn divergence theorem vector-valued function local averaging domain boundary 31 Discrete Laplace-Beltrami gradient mean operator curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn divergence theorem 32 Discrete Laplace-Beltrami average Laplace-Beltrami 33 Discrete Laplace-Beltrami average Laplace-Beltrami gradient is constant and local Voronoi passes through a,b: over triangle 34 Discrete Laplace-Beltrami average Laplace-Beltrami gradient is constant and local Voronoi passes through a,b: over triangle discrete gradient 35 Discrete Laplace-Beltrami average Laplace-Beltrami within a triangle 36 Discrete Laplace-Beltrami average Laplace-Beltrami within a triangle 37 Discrete Laplace-Beltrami average Laplace-Beltrami over averaging region 38 Discrete Laplace-Beltrami average Laplace-Beltrami over averaging region discrete Laplace-Beltrami 39 Discrete Laplace-Beltrami Cotangent discretization! 1 ∆ f(vi) := (cot αij + cot ⇥ij)(f(vj) f(vi)) S 2A(vi) − v (v ) j ∈N1 i A(vi) vi βij αij for full derivation, check out: http://brickisland.net/cs177/ vj 40 Discrete Laplace-Beltrami Cotangent discretization 1 ∆ f(v) := (cot αi + cot ⇥i)(f(vi) f(v)) S 2A(v) − v (v) i∈N1 Problems! • weights can become negative • depends on triangulation Still the most widely used discretization 41 Outline • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures 42 Discrete Curvatures How to discretize curvature on a mesh?! • Zero curvature within triangles • Infinite curvature at edges / vertices • Point-wise definition doesn’t make sense Approximate differential properties at point x as average over local neighborhood!A(x) • x is a mesh vertex A(x) • A ( x ) within one-ring neighborhood x 43 Discrete Curvatures How to discretize curvature on a mesh?! • Zero curvature within triangles • Infinite curvature at edges / vertices • Point-wise definition doesn’t make sense Approximate differential properties at point x as average over local neighborhood A(x) A(x) 1 K(v) K(x)dA ≈ A(v) A(v) x 44 Discrete Curvatures Which curvatures to discretize?! • Discretize Laplace-Beltrami operator • Laplace-Beltrami gives us mean curvature H • Discretize Gaussian curvature K • From H and K we can compute 1 and 2 mean curvature Laplace-Beltrami ∆S x = divS ∇S x = −2Hn 45 Discrete Gaussian Curvature Gauss-Bonnet K =2⇥ χ =2 2g − Z Discrete Gauss Curvature K = (2⇥ θ )/A − j j Verify via Euler-Poincaré V E + F = 2(1 g) − − 46 Discrete Curvatures Mean curvature (absolute value) 1 H = ∆ x 2 S A Gaussian curvature K = (2⇥ θ )/A − j j θj Principal curvatures κ = H + H2 K κ = H H2 K 1 − 2 − − 47 Outline • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures 48 Mesh Quality Visual inspection of “sensitive” attributes! • Specular shading 49 Mesh Quality Visual inspection of “sensitive” attributes! • Specular shading • Reflection lines 50 Mesh Quality Visual inspection of “sensitive” attributes! • Specular shading • Reflection lines • differentiability one order lower than surface • can be efficiently computed using GPU C0 C1 C2 51 Mesh Quality Visual inspection of “sensitive” attributes! • Specular shading • Reflection lines • Curvature • Mean curvature 52 Mesh Quality Visual inspection of “sensitive” attributes! • Specular shading • Reflection lines • Curvature • Gauss curvature 53 Mesh Quality Criteria Smoothness! • Low geometric noise 54 Mesh Quality Criteria Smoothness! • Low geometric noise Fairness! • Simplest shape 55 Mesh Quality Criteria Smoothness! • Low geometric noise Fairness! • Simplest shape Adaptive tesselation! • Low complexity 56 Mesh Quality Criteria Smoothness! • Low geometric noise Fairness! • Simplest shape Adaptive tesselation! • Low complexity Triangle shape! • Numerical Robustness 57 Mesh Optimization Smoothness! • Smoothing Fairness! • Fairing Adaptive tesselation! • Decimation Triangle shape! • Remeshing 58 Summary Invariants as overarching theme! • shape does not depend on Euclidean motions (no stretch) • metric & curvatures • smooth continuous notions to discrete notions • generally only as averages! • different ways to derive same equations • DEC: discrete exterior calculus, FEM, abstract measure theory. 59 Literature • Book: Chapter 3 • Taubin: A signal processing approach to fair surface design, SIGGRAPH 1996 • Desbrun et al. : Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow, SIGGRAPH 1999 • Meyer et al.: Discrete Differential-Geometry Operators for Triangulated 2-Manifolds, VisMath 2002 • Wardetzky et al.: Discrete Laplace Operators: No free lunch, SGP 2007 60 Next Time 3D Scanning 61 http://cs599.hao-li.com Thanks! 62.