(discrete) differential geometry - computer graphics laboratory
TRANSCRIPT
(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