4.1 Discrete Differential Geometry Hao Li http://cs599.hao-li.com - - PowerPoint PPT Presentation

4 1 discrete differential geometry
SMART_READER_LITE
LIVE PREVIEW

4.1 Discrete Differential Geometry Hao Li http://cs599.hao-li.com - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

CSCI 599: Digital Geometry Processing

Hao Li

http://cs599.hao-li.com

1

Spring 2015

4.1 Discrete Differential Geometry

slide-2
SLIDE 2

Outline

2

  • Discrete Differential Operators
  • Discrete Curvatures
  • Mesh Quality Measures
slide-3
SLIDE 3

Differential Operators on Polygons

Differential Properties

  • Surface is sufficiently differentiable
  • Curvatures → 2nd derivatives

3

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

Barycentric Cells

8

Connect edge midpoints and triangle barycenters

  • Simple to compute
  • Area is 1/3 o triangle areas
  • Slightly wrong for obtuse triangles
slide-9
SLIDE 9

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…
slide-10
SLIDE 10

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

slide-11
SLIDE 11

Discrete Normal Vectors

xi xj xk n(T)

11

slide-12
SLIDE 12

xi xj xk n(T) n(v)

Discrete Normal Vectors

12

slide-13
SLIDE 13

xi xj xk n(T) n(v) θT

Discrete Normal Vectors

13

slide-14
SLIDE 14

tessellated cylinder

Discrete Normal Vectors

14

slide-15
SLIDE 15

Simple Curvature Discretization

15

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami mean curvature

slide-16
SLIDE 16

Simple Curvature Discretization

16

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami mean curvature How to discretize?

slide-17
SLIDE 17

Laplace Operator on Meshes

17

Extend finite differences to meshes?

  • What weights per vertex/edge?

½ ½

  • 1

¼ ¼ ¼ ¼

  • 1

? ? ? ? ? ? ?

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

slide-18
SLIDE 18

Uniform Laplace

18

Uniform discretization

  • What weights per vertex/edge?

Properties

  • depends only on connectivity
  • simple and efficient
slide-19
SLIDE 19

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

slide-20
SLIDE 20

Gradients

Discrete Gradient of a Function

  • Defined on piecewise linear triangle
  • Important for parameterization and deformation

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami gradient

  • perator

mean curvature

20

slide-21
SLIDE 21

Gradients

xi xj xk

triangle piecewise linear function

u = (u, v)

linear basis functions for barycentric interpolation on a triangle

fi = f(xi)

21

slide-22
SLIDE 22

Gradients

piecewise linear function

u = (u, v)

22

slide-23
SLIDE 23

Gradients

piecewise linear function

u = (u, v)

gradient of linear function

23

slide-24
SLIDE 24

Gradients

piecewise linear function

u = (u, v)

gradient of linear function partition of unity gradients of basis

24

slide-25
SLIDE 25

Gradients

piecewise linear function

u = (u, v)

gradient of linear function partition of unity gradients of basis gradient of linear function

25

slide-26
SLIDE 26

Gradients

gradient of linear function

slide-27
SLIDE 27

Gradients

gradient of linear function with appropriate normalization:

27

slide-28
SLIDE 28

Gradients

gradient of linear function with appropriate normalization: discrete gradient of a piecewiese linear function within T

fi = f(xi)

28

slide-29
SLIDE 29

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami gradient

  • perator

mean curvature

Discrete Laplace-Beltrami

slide-30
SLIDE 30

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami gradient

  • perator

mean curvature divergence theorem

30

Discrete Laplace-Beltrami

slide-31
SLIDE 31

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami gradient

  • perator

mean curvature divergence theorem

31

vector-valued function local averaging domain boundary

Discrete Laplace-Beltrami

slide-32
SLIDE 32

∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami gradient

  • perator

mean curvature divergence theorem

32

Discrete Laplace-Beltrami

slide-33
SLIDE 33

33

Discrete Laplace-Beltrami

average Laplace-Beltrami

slide-34
SLIDE 34

34

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

  • ver triangle

Discrete Laplace-Beltrami

average Laplace-Beltrami

slide-35
SLIDE 35

35

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

  • ver triangle

Discrete Laplace-Beltrami

average Laplace-Beltrami

slide-36
SLIDE 36

36

average Laplace-Beltrami within a triangle

Discrete Laplace-Beltrami

slide-37
SLIDE 37

37

average Laplace-Beltrami within a triangle

Discrete Laplace-Beltrami

slide-38
SLIDE 38

Discrete Laplace-Beltrami

38

average Laplace-Beltrami over averaging region

slide-39
SLIDE 39

Discrete Laplace-Beltrami

39

average Laplace-Beltrami over averaging region discrete Laplace-Beltrami

slide-40
SLIDE 40

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/

slide-41
SLIDE 41

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

slide-42
SLIDE 42

Outline

42

  • Discrete Differential Operators
  • Discrete Curvatures
  • Mesh Quality Measures
slide-43
SLIDE 43

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 neighborhood

x A(x) A(x) x x A(x)

slide-44
SLIDE 44

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

slide-45
SLIDE 45

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 K H κ1 κ2 ∆Sx = divS ∇Sx = −2Hn

Laplace-Beltrami mean curvature

slide-46
SLIDE 46

Discrete Gaussian Curvature

46

Discrete Gauss Curvature

K = (2π −

  • j

θj)/A χ = 2 − 2g Z K = 2πχ

Gauss-Bonnet

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

Verify via Euler-Poincaré

slide-47
SLIDE 47

Discrete Curvatures

47

Mean curvature (absolute value) Gaussian curvature Principal curvatures

H = 1 2 ∆Sx K = (2π −

  • j

θj)/A κ1 = H +

  • H2 − K

κ2 = H −

  • H2 − K

A

θj

slide-48
SLIDE 48

Outline

48

  • Discrete Differential Operators
  • Discrete Curvatures
  • Mesh Quality Measures
slide-49
SLIDE 49

Mesh Quality

49

Visual inspection of “sensitive” attributes

  • Specular shading
slide-50
SLIDE 50

Mesh Quality

50 50

Visual inspection of “sensitive” attributes

  • Specular shading
  • Reflection lines
slide-51
SLIDE 51

Mesh Quality

51 51 51

Visual inspection of “sensitive” attributes

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

C0 C2 C1

slide-52
SLIDE 52

Mesh Quality

52

Visual inspection of “sensitive” attributes

  • Specular shading
  • Reflection lines
  • Curvature
  • Mean curvature
slide-53
SLIDE 53

Mesh Quality

53

Visual inspection of “sensitive” attributes

  • Specular shading
  • Reflection lines
  • Curvature
  • Gauss curvature
slide-54
SLIDE 54

Mesh Quality Criteria

54

Smoothness

  • Low geometric noise
slide-55
SLIDE 55

Mesh Quality Criteria

55

Smoothness

  • Low geometric noise

Fairness

  • Simplest shape
slide-56
SLIDE 56

Mesh Quality Criteria

56

Smoothness

  • Low geometric noise

Fairness

  • Simplest shape

Adaptive tesselation

  • Low complexity
slide-57
SLIDE 57

Mesh Quality Criteria

57

Smoothness

  • Low geometric noise

Fairness

  • Simplest shape

Adaptive tesselation

  • Low complexity

Triangle shape

  • Numerical Robustness
slide-58
SLIDE 58

Mesh Optimization

58

Smoothness

  • Smoothing

Fairness

  • Fairing

Adaptive tesselation

  • Decimation

Triangle shape

  • Remeshing
slide-59
SLIDE 59

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.

slide-60
SLIDE 60

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

slide-61
SLIDE 61

Next Time

61

3D Scanning

slide-62
SLIDE 62

http://cs599.hao-li.com

Thanks!

62