4.1 Discrete Differential Geometry

4.1 Discrete Differential Geometry

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    62 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us