62
CSCI 599: Digital Geometry Processing Hao Li http://cs599.hao-li.com 1 Spring 2015 4.1 Discrete Differential Geometry

4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

  • Upload
    others

  • View
    36

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

CSCI 599: Digital Geometry Processing

Hao Lihttp://cs599.hao-li.com

1

Spring 2015

4.1 Discrete Differential Geometry

Page 2: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Outline

2

• Discrete Differential Operators

• Discrete Curvatures

• Mesh Quality Measures

Page 3: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Differential Operators on Polygons

Differential Properties!• Surface is sufficiently differentiable

• Curvatures → 2nd derivatives

3

Page 4: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

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 N (x)

4

Page 5: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Local Averaging

Local Neighborhood of a point !• often coincides with mesh vertex

• n-ring neighborhood or local geodesic ball

N (x) x

vi

Nn(vi)

5

Page 6: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Local Averaging

Local Neighborhood of a point !• often coincides with mesh vertex

• n-ring neighborhood or local geodesic ball

N (x) x

vi

Nn(vi)

Neighborhood size!• Large: smoothing is introduced, stable to noise

• Small: fine scale variation, sensitive to noise

6

Page 7: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Local Averaging: 1-Ring

N (x)

x

Barycentric cell (barycenters/edgemidpoints)

Voronoi cell (circumcenters)

tight error bound

Mixed Voronoi cell (circumcenters/midpoint)

better approximation

7

Page 8: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Barycentric Cells

8

Connect edge midpoints and triangle barycenters!• Simple to compute

• Area is 1/3 o triangle areas

• Slightly wrong for obtuse triangles

Page 9: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mixed Cells

9

Connect edge midpoints and!• Circumcenters for non-obtuse triangles

• Midpoint of opposite edge for obtuse triangles

• Better approximation, more complex to compute…

Page 10: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Normal Vectors

Continuous surface

Normal vector

Assume regular parameterization

x(u, v) =

⇤x(u, v)y(u, v)z(u, v)

n =xu � xv

⇥xu � xv⇥

xu � xv ⇥= 0

n

p

xu xv

normal exists

10

Page 11: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Normal Vectors

xi

xj

xk

n(T )

11

Page 12: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

xi

xj

xk

n(T )n(v)

Discrete Normal Vectors

12

Page 13: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

xi

xj

xk

n(T )n(v)

✓T

Discrete Normal Vectors

13

Page 14: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

tessellated cylinder

Discrete Normal Vectors

14

Page 15: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Simple Curvature Discretization

15

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

mean curvature

Page 16: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Simple Curvature Discretization

16

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

mean curvature

How to discretize?

Page 17: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Laplace Operator on Meshes

17

Extend finite differences to meshes?!• What weights per vertex/edge?

½ ½-1¼ ¼

¼

¼

-1

? ?

?

??

? ?

1D grid 2D grid 2D/3D grid

Page 18: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Uniform Laplace

18

Uniform discretization!• What weights per vertex/edge?

Properties!• depends only on connectivity

• simple and efficient

Page 19: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Uniform Laplace

19

Uniform discretization!

Properties!• depends only on connectivity

• simple and efficient

• bad approximation for irregular triangulations • can give non-zero for planar meshes • tangential drift for mesh smoothing

�unixi :=1

|N1(vi)|�

vj�N1(vi)

(xj � xi) ⇥ �2Hn

H

Page 20: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

Discrete Gradient of a Function!• Defined on piecewise linear triangle

• Important for parameterization and deformation

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

gradient operator

mean curvature

20

Page 21: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

xi

xj

xk

triangle

piecewise linear function u = (u, v)

linear basis functions for barycentric interpolation on a triangle

fi = f(xi)

21

Page 22: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

piecewise linear function u = (u, v)

22

Page 23: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

piecewise linear function u = (u, v)

gradient of linear function

23

Page 24: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

piecewise linear function u = (u, v)

gradient of linear function

partition of unity

gradients of basis

24

Page 25: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

piecewise linear function u = (u, v)

gradient of linear function

partition of unity

gradients of basis

gradient of linear function

25

Page 26: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

gradient of linear function

Page 27: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

gradient of linear function

with appropriate normalization:

27

Page 28: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Gradients

gradient of linear function

with appropriate normalization:

discrete gradient of a piecewiese linear function within T

fi = f(xi)

28

Page 29: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

gradient operator

mean curvature

Discrete Laplace-Beltrami

Page 30: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

gradient operator

mean curvature

divergence theorem

30

Discrete Laplace-Beltrami

Page 31: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

gradient operator

mean curvature

divergence theorem

31

vector-valued functionlocal averaging domain

boundary

Discrete Laplace-Beltrami

Page 32: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

gradient operator

mean curvature

divergence theorem

32

Discrete Laplace-Beltrami

Page 33: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

33

Discrete Laplace-Beltramiaverage Laplace-Beltrami

Page 34: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

34

gradient is constant and local Voronoi passes through a,b:

over triangle

Discrete Laplace-Beltramiaverage Laplace-Beltrami

Page 35: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

35

discrete gradient

gradient is constant and local Voronoi passes through a,b:

over triangle

Discrete Laplace-Beltramiaverage Laplace-Beltrami

Page 36: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

36

average Laplace-Beltrami within a triangle

Discrete Laplace-Beltrami

Page 37: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

37

average Laplace-Beltrami within a triangle

Discrete Laplace-Beltrami

Page 38: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Laplace-Beltrami

38

average Laplace-Beltrami over averaging region

Page 39: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Laplace-Beltrami

39

average Laplace-Beltrami over averaging region

discrete Laplace-Beltrami

Page 40: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Laplace-Beltrami

40

Cotangent discretization!

�Sf(vi) :=1

2A(vi)

vj�N1(vi)

(cot �ij + cot ⇥ij) (f(vj)� f(vi))

vi

vj

A(vi)

�ij�ij

for full derivation, check out: http://brickisland.net/cs177/

Page 41: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Laplace-Beltrami

41

Cotangent discretization

�Sf(v) :=1

2A(v)

vi�N1(v)

(cot �i + cot ⇥i) (f(vi)� f(v))

Problems!• weights can become negative

• depends on triangulation

Still the most widely used discretization

Page 42: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Outline

42

• Discrete Differential Operators

• Discrete Curvatures

• Mesh Quality Measures

Page 43: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Curvatures

43

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 as average over local neighborhood!

• is a mesh vertex

• within one-ring neighborhoodx

A(x)

A(x)x

x

A(x)

Page 44: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Curvatures

44

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 as average over local neighborhood

x

A(x)K(v) � 1

A(v)

A(v)K(x) dA

A(x)x

Page 45: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Curvatures

45

Which curvatures to discretize?!• Discretize Laplace-Beltrami operator

• Laplace-Beltrami gives us mean curvature

• Discretize Gaussian curvature

• From and we can compute and

H

K

KH 1 2

∆Sx = divS ∇Sx = −2HnLaplace-Beltrami

mean curvature

Page 46: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Gaussian Curvature

46

Discrete Gauss Curvature

K = (2⇥ ��

j

�j)/A

� = 2� 2g

ZK = 2�⇥

Gauss-Bonnet

V � E + F = 2(1� g)

Verify via Euler-Poincaré

Page 47: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Discrete Curvatures

47

Mean curvature (absolute value)

Gaussian curvature

Principal curvatures

H =12��Sx�

K = (2⇥ ��

j

�j)/A

�1 = H +�

H2 �K �2 = H ��

H2 �K

A

�j

Page 48: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Outline

48

• Discrete Differential Operators

• Discrete Curvatures

• Mesh Quality Measures

Page 49: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality

49

Visual inspection of “sensitive” attributes!• Specular shading

Page 50: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality

5050

Visual inspection of “sensitive” attributes!• Specular shading

• Reflection lines

Page 51: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality

515151

Visual inspection of “sensitive” attributes!• Specular shading

• Reflection lines • differentiability one order lower than surface • can be efficiently computed using GPU

C0 C2C1

Page 52: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality

52

Visual inspection of “sensitive” attributes!• Specular shading

• Reflection lines

• Curvature • Mean curvature

Page 53: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality

53

Visual inspection of “sensitive” attributes!• Specular shading

• Reflection lines

• Curvature • Gauss curvature

Page 54: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality Criteria

54

Smoothness!• Low geometric noise

Page 55: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality Criteria

55

Smoothness!• Low geometric noise

Fairness!• Simplest shape

Page 56: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality Criteria

56

Smoothness!• Low geometric noise

Fairness!• Simplest shape

Adaptive tesselation!• Low complexity

Page 57: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Quality Criteria

57

Smoothness!• Low geometric noise

Fairness!• Simplest shape

Adaptive tesselation!• Low complexity

Triangle shape!• Numerical Robustness

Page 58: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Mesh Optimization

58

Smoothness!• Smoothing

Fairness!• Fairing

Adaptive tesselation!• Decimation

Triangle shape!• Remeshing

Page 59: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Summary

59

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.

Page 60: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Literature

60

• 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

Page 61: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

Next Time

61

3D Scanning

Page 62: 4.1 Discrete Differential Geometry - Hao Li · 4.1 Discrete Differential Geometry . Outline 2 • Discrete Differential Operators • Discrete Curvatures • Mesh Quality Measures

http://cs599.hao-li.com

Thanks!

62