(discrete) differential geometry - computer...

58
(Discrete) Differential Geometry (Discrete) Differential Geometry

Upload: dangcong

Post on 20-Mar-2018

251 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

(Discrete) Differential Geometry(Discrete) Differential Geometry

Page 2: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

MotivationMotivation

• Understand the structure of the surface

Properties: smoothness “curviness” important– Properties: smoothness,  curviness , important directions

• How to modify the surface to change these properties

• What properties are preserved for different modificationsmodifications

• The math behind the scenes for many geometry processing applications

2

Page 3: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

MotivationMotivation

• Smoothness

➡ Mesh smoothing➡ Mesh smoothing

• Curvature

➡ Adaptive simplification➡ Adaptive simplification

➡ Parameterization➡ Parameterization

3

Page 4: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

MotivationMotivation

• Triangle shape

➡ Remeshing➡ Remeshing

• Principal directions

➡ Quad remeshing

4

Page 5: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Differential GeometryDifferential Geometry

• M.P. do Carmo: Differential Geometry of Curves and Surfaces, Prentice Hall, 1976f , ,

Leonard Euler (1707 - 1783) Carl Friedrich Gauss (1777 - 1855)

5

Page 6: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Parametric CurvesParametric Curves

“velocity” of particleon trajectory

6

Page 7: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Parametric CurvesA Simple Example

α1(t) = (a cos(t), a sin(t))t

α1(t) (a cos(t), a s (t))t ∈ [0,2π]

aα2(t) = (a cos(2t), a sin(2t))t ∈ [0,π]

7

Page 8: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Parametric CurvesParametric CurvesA Simple Example

α(t) = (cos(t), sin(t))α'(t)

tα(t) (cos(t), s (t))

α'(t) = (-sin(t), cos(t))

α'(t) - direction of movementα (t) - direction of movement

⏐α'(t)⏐ speed of movement⏐α (t)⏐ - speed of movement8

Page 9: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Parametric CurvesParametric CurvesA Simple Example

α2'(t)

α1(t) = (cos(t), sin(t))α1'(t)

tα1(t) (cos(t), s (t))

α2(t) = (cos(22t), sin(22t))

Same direction, different speed

9

Page 10: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Length of a CurveLength of a Curve

• Let                           and                    

10

Page 11: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Length of a CurveLength of a Curve

• Chord length                    

Euclidean norm

11

Page 12: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Length of a CurveLength of a Curve

• Chord length

• Arc length• Arc length                    

12

Page 13: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

ExamplesExamples

y(t)

• Straight line– x(t) = (t t) t∈[0 ∞)

y(t) x(t)

– x(t) = (t,t), t∈[0,∞) – x(t) = (2t,2t), t∈[0,∞) – x(t) = (t2,t2), t∈[0,∞)x(t) (t ,t ), t∈[0, )

• Circle

x(t)

• Circle– x(t) = (cos(t),sin(t)), t∈[0,2π)

y(t)

x(t)

x(t)

13

Page 14: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

ExamplesExamples

α(t) = (a cos(t), a sin(t)), t ∈ [0,2π]

α'(t) = (-a sin(t), a cos(t))

Many possible parameterizations

Length of the curve does not depend on parameterization!Length of the curve does not depend on parameterization!Length of the curve does not depend on parameterization!Length of the curve does not depend on parameterization!

14

Page 15: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Arc Length ParameterizationArc Length Parameterization

• Re‐parameterization

• Arc length parameterizationArc length parameterization

– parameter value s for x(s) equals length of curve fromparameter value s for x(s) equals length of curve from x(a) to x(s)

1515

Page 16: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

CurvatureCurvature

x(t) a curve parameterized by arc length

h fThe curvature of x at t:

– the tangent vector at tthe tangent vector at t

– the change in the tangent vector at t

R(t) = 1/κ (t) is the radius of curvature at t

16

Page 17: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

ExamplesExamples

Straight line

α(s) = us + v u v∈ R2α(s) = us + v, u,v∈ Rα'(s) = uα''(s) = 0 →   ⏐α''(s)⏐ = 0

CircleCircle

α(s) = (a cos(s/a), a sin(s/a)), s ∈ [0,2πa]α'(s) = (-sin(s/a), cos(s/a))

''( ) ( ( / )/ i ( / )/ ) → ⏐ ''( )⏐ 1/α''(s) = (-cos(s/a)/a, -sin(s/a)/a) →   ⏐α''(s)⏐ = 1/a17

Page 18: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Normal VectorThe Normal Vector

x'(t)x'(t) = T(t) ‐ tangent vector

x'(t)

|x'(t)| ‐ arc lengthx''(t)

x''(t) = T'(t) normal direction

( )

x''(t) = T'(t) ‐ normal direction 

|x''(t)| ‐ curvature|x (t)| curvaturex'(t)

If |x''(t)| ≠ 0, define N(t) = T'(t)/|T'(t)| x''(t) Then x''(t) = T'(t) = κ(t)N(t)

( )

18

Page 19: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Osculating PlaneThe Osculating Plane

The plane determined by the p yunit tangent and normal vectors T(s) and N(s) is called the

TNT(s) and N(s) is called the 

osculating plane at s NN

T

19

Page 20: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Binormal VectorThe Binormal Vector

For points s, s.t. κ(s) ≠ 0, the binormalvector B(s) is defined as:vector B(s) is defined as:

B(s) = T(s) × N(s) TBNT

N

BNBN

N

The binormal vector defines the osculating plane  TTg p

20

Page 21: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Frenet FrameThe Frenet Frame

tangent normal binormal

21

Page 22: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Frenet FrameThe Frenet Frame

{T(s), N(s), B(s)} form an orthonormal basis f 3 ll d hfor R3 called the Frenet frame

How does the frameHow does the frame change when the particle moves?p

Wh t T' N' B' iWhat are T', N', B' in terms of T, N, B ?

22

Page 23: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Frenet FrameThe Frenet Frame

• Frenet‐Serret formulas

• curvature 

• torsiontorsion

(arc-length parameterization)

23

( g p )

Page 24: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Curvature and TorsionCurvature and Torsion

• Curvature: Deviation from straight line

f l• Torsion: Deviation from planarity

• Independent of parameterization• Independent of parameterization

– intrinsic properties of the curve

• Invariant under rigid ( l i i ) i(translation+rotation) motion

• Define curve uniquely up to rigid motion• Define curve uniquely up to rigid motion

24

Page 25: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Curvature and TorsionCurvature and Torsion

• Planes defined by x and two vectors:

osculating plane: vectors T and N– osculating plane: vectors T and N– normal plane: vectors N and B– rectifying plane: vectors T and B

l i i lx

• Osculating circle

– second order contact with curve

– center

– radius C

R

25

Page 26: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Differential Geometry: SurfacesDifferential Geometry: Surfaces

26

Page 27: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Differential Geometry: SurfacesDifferential Geometry: Surfaces

• Continuous surface

N l t• Normal vector

– assuming regular parameterization, i.e.g g p ,

27

Page 28: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Normal CurvatureNormal Curvature

If and are orthogonal:u vx x

28

Page 29: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Normal CurvatureNormal Curvature

29

Page 30: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Surface CurvatureSurface Curvature

• Principal Curvatures

maximum curvature– maximum curvature                                                       

– minimum curvature

• Mean CurvatureMean Curvature

• Gaussian Curvature• Gaussian Curvature

30

Page 31: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Principal CurvaturePrincipal Curvature

Euler’s Theorem: Planes of principal curvature are orthogonal

and independent of parameterization.

31

Page 32: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

CurvatureCurvature

32

Page 33: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Surface ClassificationSurface Classification

Isotropic

k1= k2 > 0k1 = k2= 0

Equal in all directions

spherical planar

Anisotropic k2 > 0k2 = 0

k2 < 0Anisotropic

Distinct principal directions

k1 > 0k1> 0 k1 > 0

elliptic parabolic hyperbolicK > 0 K = 0 K < 0

d l bldevelopable

33

Page 34: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Principal DirectionsPrincipal Directions

kk22 kk11

34

Page 35: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Gauss‐Bonnet TheoremGauss Bonnet Theorem

For ANY closed manifold surface with Euler numberFor ANY closed manifold surface with Euler number χ=2-2g:

( )K∫ ( )K=∫ ( )K=∫ 4= π( )K∫ ( )K=∫ ( )K=∫ 4= π

35

Page 36: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Gauss‐Bonnet TheoremExample

Sphere

k1 = k2= 1/r

K = k k = 1/r 2K = k1k2 = 1/r

Manipulate sphere

New positive + negative curvature

C l t!Cancel out!36

Page 37: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Fundamental FormsFundamental Forms

• First fundamental form

• Second fundamental form• Second fundamental form

37

Page 38: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Fundamental FormsFundamental Forms

• I and II allow to measure

length angles area curvature– length, angles, area, curvature

– arc element

– area element

38

Page 39: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Fundamental FormsFundamental Forms

• Normal curvature = curvature of the normal curve              at pointat point 

• Can be expressed in terms of fundamental forms asp

39

Page 40: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Intrinsic GeometryIntrinsic Geometry

• Properties of the surface that only depend on the first fundamental formfirst fundamental form

– length

– angles

– Gaussian curvature (Theorema Egregium)Gaussian curvature (Theorema Egregium)

40

Page 41: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Laplace OperatorLaplace Operator

gradientgradientoperatorLaplace

operator2nd partialderivatives

R∈

Cartesiancoordinatesdivergence

operatorscalar function in Euclidean space

41

Page 42: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Laplace‐Beltrami OperatorLaplace Beltrami Operator

• Extension to functions on manifolds

gradientoperator

Laplace-Beltrami operatorBeltrami

scalar function divergencescalar function on manifold

divergenceoperator

42

Page 43: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Laplace‐Beltrami OperatorLaplace Beltrami Operator

• For coordinate function(s) 

meangradientoperator

Laplace-B lt i curvature

operatorBeltrami

surfacenormaldivergencecoordinate divergence

operatorfunction

43

Page 44: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete Differential OperatorsDiscrete Differential Operators

• Assumption: Meshes are piecewise linear approximations of smooth surfacesapproximations of smooth surfaces

• Approach: Approximate differential properties at pp pp p ppoint v as finite differences over local mesh neighborhood N(v)neighborhood N(v)– v = mesh vertex

v

– Nd(v) = d‐ring neighborhoodN1(v)

• Disclaimer: many possible  discretizations,none is “perfect”

44

p

Page 45: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Functions on MeshesFunctions on Meshes

• Function f given at mesh vertices f(vi) = f(xi) = fi

l l• Linear interpolation to triangle 

1 Bi (x)

xixk

xjj

45

Page 46: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Gradient of a FunctionGradient of a Function

1 Bi (x) Steepest ascent direction di l t it d

xixk

perpendicular to opposite edge

i

Constant in the trianglexj

46

Page 47: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Gradient of a FunctionGradient of a Function

47

Page 48: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete Laplace‐BeltramiFirst Approach

• Laplace operator:

• In 2D:• In 2D:

• On a grid – finite differences discretization: 

48

Page 49: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete Laplace‐BeltramiUniform Discretization

v

N1(v)

Normalized:

49

Page 50: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete Laplace‐BeltramiSecond Approach

• Laplace‐Beltrami operator:

l d• Compute integral around vertex Divergence theorem

50

Page 51: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete Laplace‐BeltramiCotangent Formula

Plugging in expression for gradients gives:

51

Page 52: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Averaging RegionThe Averaging Region

Edge midpoint

θ

Barycentric cell

b t

Voronoi cell

i t

Mixed cell

ci = barycenterof triangle

ci = circumcenterof triangle

52

Page 53: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

The Averaging RegionMixed Cell

If θ < π/2, ci is the circumcenter, iof the triangle (vi , v, vi+1 )

If θ /2 i h id i f

θ

If θ ≥ π/2, ci is the midpoint of the edge (vi , vi+1 )( i i+1 )

53

Page 54: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete NormalDiscrete Normal

( )n x

54

Page 55: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Discrete CurvaturesDiscrete Curvatures

• Mean curvature

• Gaussian curvature

• Principal curvatures

55

Page 56: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Example: Mean CurvatureExample: Mean Curvature

56

Page 57: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

Example: Gaussian CurvatureExample: Gaussian Curvature

original smoothedoriginal smoothed

Discrete Gauss-Bonnet (Descartes) theorem:Discrete Gauss-Bonnet (Descartes) theorem:

57

Page 58: (Discrete) Differential Geometry - Computer graphicsgraphics.stanford.edu/courses/cs468-10-fall/LectureSlides/05_Diff...Differential Geometry • M.P. do Carmo: Differential Geometry

ReferencesReferences

• “Discrete Differential‐Geometry Operators for Triangulated 2‐Manifolds”, Meyer et al., ’02

• “Restricted Delaunay triangulations and normal cycle”, Cohen‐Steiner et al., SoCG ‘03,

• “On the convergence of metric and geometric properties of polyhedral surfaces” Hildebrandt et al ’06surfaces , Hildebrandt et al.,  06

• “Discrete Laplace operators: No free lunch”, Wardetzky et al., SGP ‘07

58