(Discrete) Differential Geometry - Computer Graphics Laboratory

Post on 11-Feb-2022

6 views 0 download

Transcript of (Discrete) Differential Geometry - Computer Graphics Laboratory

(Discrete) Differential Geometry

Motivation

• Understand the structure of the surface• Understand the structure of the surface

– Properties: smoothness, “curviness”, important directions

• How to modify the surface to change these propertiesHow to modify the surface to change these properties

• What properties are preserved for different modifications

• The math behind the scenes for many geometryThe math behind the scenes for many geometry processing applications

2

Motivation

• Smoothness• Smoothness

➡ Mesh smoothing

• Curvature

➡ Adaptive simplification

➡ Parameterization

3

Motivation

• Triangle shape• Triangle shape

➡ Remeshing

• Principal directions• Principal directions

➡ Quad remeshing

4

Differential Geometryy

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

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

5

Parametric Curves

“velocity” of particleon trajectory

6

Parametric CurvesA Simple Example

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

[0 2 ]ta

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

7

Parametric CurvesParametric CurvesA Simple Example

α'(t)

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

α (t)

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

α'(t) - direction of movement

⏐ '(t)⏐ d f t⏐α'(t)⏐ - speed of movement8

Parametric Curves

'( )

Parametric CurvesA Simple Example

α2'(t)

α '(t)

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

α1 (t)

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

Same direction, different speed

9

Length of a Curveg

L t d• Let and

10

Length of a Curveg

• Chord length• Chord length

Euclidean norm

11

Length of a Curveg

• Chord length

• Arc length

12

Examplesp

y(t) x(t)• Straight line

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

( )

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

x(t)

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

y(t)(t) (cos(t),s (t)), t [0, π)

x(t)

x(t)

13

Examplesp

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

α'(t) = (-a sin(t) a cos(t))α (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

Arc Length Parameterizationg

• Re parameterization• Re-parameterization

• Arc length parameterization

l f ( ) l l h f f– parameter value s for x(s) equals length of curve from x(a) to x(s)

1515

Curvature

x(t) a curve parameterized by arc lengthx(t) a curve parameterized by arc length

The curvature of x at t:

– the tangent vector at t

th h i th t t t t t– the change in the tangent vector at t

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

16

Examplesp

Straight lineStraight line

α(s) = us + v, u,v∈ R2

α'(s) = uα''(s) = 0 → ⏐α''(s)⏐ = 0α (s) 0 → ⏐α (s)⏐ 0

Circle

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

17

The Normal Vector

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

|x'(t)| - velocity

( )

|x (t)| - velocityx''(t)

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

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

x (t)

18

The Osculating Planeg

The plane determined by the unit tangent and normal vectors Tunit tangent and normal vectors T(s) and N(s) is called the osculating plane at s

T

NN

osculating plane at s

T

19

The Binormal Vector

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

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

N

BNBT

NN

The binormal vector defines the osculating plane

N

T

N

Tosculating plane TT

20

The Frenet Frame

tangent normal binormaltangent normal binormal

21

The Frenet Frame

{T( ) N( ) B( )} form{T(s), N(s), B(s)} form an orthonormal basis for R3 called the Frenet frame

How does the frame change when the

i l ?particle moves?

What are T', N', B' in terms of T, N, B ?

22

The Frenet Frame

• Frenet Serret formulas• Frenet-Serret formulas

• curvature• curvature

t i• torsion

(arc length parameterization)

23

(arc-length parameterization)

Curvature and Torsion

• Curvature: Deviation from straight line• Curvature: Deviation from straight line

• Torsion: Deviation from planarityp y

• Independent of parameterization

– intrinsic properties of the curve

• Invariant under rigidInvariant under rigid (translation+rotation) motion

• Define curve uniquely up to rigid motion

24

Curvature and Torsion

• Planes defined by x and two vectors:• Planes defined by x and two vectors:

– osculating plane: vectors T and N– normal plane: vectors N and B– rectifying plane: vectors T and B xfy g p

• Osculating circlex

– second order contact with curve

– center

– radius C

R

25

Differential Geometry: Surfacesy

26

Differential Geometry: Surfacesy

• Continuous surface• Continuous surface

• Normal vector

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

27

Normal Curvature

If and are orthogonal:u vx x

28

Normal Curvature

29

Surface Curvature

• Principal Curvatures• Principal Curvatures

– maximum curvature

– minimum curvature

• Mean Curvature

• Gaussian Curvature

30

Principal Curvaturep

Euler’s Theorem: Planes of principal curvature are orthogonal

and independent of parameterization.

31

Curvature

32

Surface Classification

k1= k2 > 0

Isotropic

k1= k2 > 0k1 = k2= 0

Equal in all directions

spherical planar

k2 = 0

Anisotropic

Distinct principal

k2 > 0k1 > 0

k2 = 0

k1> 0

k2 < 0

k1 > 0

directions

elliptic parabolic hyperbolicK > 0 K = 0 K < 0

developable

33

Principal DirectionsPrincipal Directions

kk22 kk11

34

Gauss-Bonnet Theorem

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

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

35

Gauss-Bonnet TheoremE lExample

hSphere

k1 = k2= 1/r1 2

K = k1k2 = 1/r 2

Manipulate sphere

New positive + negative curvature

Cancel out!36

Fundamental Forms

• First fundamental form• First fundamental form

• Second fundamental form

37

Fundamental Forms

• I and II allow to measure• I and II allow to measure

– length, angles, area, curvature

– arc element

– area element

38

Fundamental Forms

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

• Can be expressed in terms of fundamental forms as

39

Intrinsic Geometryy

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

– length

– angles

– Gaussian curvature (Theorema Egregium)

40

Laplace Operatorp p

gradienttLaplace 2nd partialoperatorLaplace

operator2nd partialderivatives

R∈

Cartesiancoordinatesdivergence

tscalar function in Euclidean space operatorEuclidean space

41

Laplace-Beltrami Operatorp p

• Extension to functions on manifolds• Extension to functions on manifolds

di tgradientoperator

Laplace-Beltrami

fscalar function on manifold

divergenceoperator

42

Laplace-Beltrami Operatorp p

• For coordinate function(s)• For coordinate function(s)

meancurvature

gradientoperator

Laplace-Beltrami

surfaceldi t normaldivergence

operatorcoordinatefunction

43

Discrete Differential Operatorsp

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

• Approach: Approximate differential properties at point v as finite differences over local meshpoint v as finite differences over local mesh neighborhood N(v)

h tv

– v = mesh vertex

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

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

N1(v)

44

none is perfect

Functions on Meshes

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

• Linear interpolation to triangle p g

1 Bi (x)

xixk

xxj

45

Gradient of a Function

1 Steepest ascent direction

xk

1 Bi (x) Steepest ascent direction perpendicular to opposite edge

xixk

Constant in the trianglexj

g

46

Gradient of a Function

47

Discrete Laplace-BeltramiFi t A hFirst Approach

• Laplace operator:• Laplace operator:

• In 2D:

O id fi it diff di ti ti• On a grid – finite differences discretization:

48

Discrete Laplace-BeltramiU if Di ti tiUniform Discretization

v

N1(v)

li dNormalized:

49

Discrete Laplace-BeltramiS d A hSecond Approach

• Laplace Beltrami operator:• Laplace-Beltrami operator:

• Compute integral around vertex p gDivergence theorem

50

Discrete Laplace-BeltramiC F lCotangent Formula

Plugging in expression for gradients gives:Plugging in expression for gradients gives:

51

The Averaging Regiong g g

Edge midpointg p

θ

Barycentric cell Voronoi cell Mixed cell

ci = barycenterof triangle

ci = circumcenterof triangle

52

The Averaging RegionMixed Cell

If θ < π/2, ci is the circumcenterf th t i l ( )of the triangle (vi , v, vi+1 )

θ

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

53

Discrete Normal

( )( )n x

54

Discrete Curvatures

• Mean curvature• Mean curvature

• Gaussian curvature

• Principal curvatures• Principal curvatures

55

Example: Mean Curvaturep

56

Example: Gaussian CurvatureExample: Gaussian Curvature

original smoothed

Discrete Gauss-Bonnet (Descartes) theorem:

57

References

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

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

• “On the con er ence of metric and eometric properties of pol hedral• “On the convergence of metric and geometric properties of polyhedral surfaces”, Hildebrandt et al., ’06

“Di t L l t N f l h” W d t k t l SGP ‘07• “Discrete Laplace operators: No free lunch”, Wardetzky et al., SGP ‘07

58