<<

Spring 2015 CSCI 599: Digital

4.1 Discrete Differential Geometry

Hao Li http://cs599.hao-li.com 1 Outline

• Discrete Differential Operators

• Discrete

• Mesh Quality Measures

2 Differential Operators on Polygons

Differential Properties!

• Surface is sufficiently differentiable

• Curvatures → 2nd

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

• 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 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 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 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

mean curvature

Laplace-Beltrami ∆S x = divS ∇S x = −2Hn

operator

Discrete Gradient of a !

• Defined on piecewise linear triangle

• Important for parameterization and deformation

20 Gradients

xk xi triangle

xj piecewise 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

theorem

30 Discrete Laplace-Beltrami

gradient mean operator curvature

Laplace-Beltrami ∆S x = divS ∇S x = −2Hn

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) iN1 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 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 , 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 and Curvature Flow, SIGGRAPH 1999

• Meyer et al.: Discrete Differential-Geometry Operators for Triangulated 2-, 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