(Discrete) Differential Geometry - Computer Graphics Laboratory
Transcript of (Discrete) Differential Geometry - Computer Graphics Laboratory
![Page 1: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/1.jpg)
(Discrete) Differential Geometry
![Page 2: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/2.jpg)
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
![Page 3: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/3.jpg)
Motivation
• Smoothness• Smoothness
➡ Mesh smoothing
• Curvature
➡ Adaptive simplification
➡ Parameterization
3
![Page 4: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/4.jpg)
Motivation
• Triangle shape• Triangle shape
➡ Remeshing
• Principal directions• Principal directions
➡ Quad remeshing
4
![Page 5: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/5.jpg)
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
![Page 6: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/6.jpg)
Parametric Curves
“velocity” of particleon trajectory
6
![Page 7: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/7.jpg)
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
![Page 8: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/8.jpg)
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
![Page 9: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/9.jpg)
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
![Page 10: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/10.jpg)
Length of a Curveg
L t d• Let and
10
![Page 11: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/11.jpg)
Length of a Curveg
• Chord length• Chord length
Euclidean norm
11
![Page 12: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/12.jpg)
Length of a Curveg
• Chord length
• Arc length
12
![Page 13: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/13.jpg)
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
![Page 14: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/14.jpg)
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
![Page 15: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/15.jpg)
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
![Page 16: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/16.jpg)
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
![Page 17: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/17.jpg)
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
![Page 18: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/18.jpg)
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
![Page 19: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/19.jpg)
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
![Page 20: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/20.jpg)
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
![Page 21: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/21.jpg)
The Frenet Frame
tangent normal binormaltangent normal binormal
21
![Page 22: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/22.jpg)
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
![Page 23: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/23.jpg)
The Frenet Frame
• Frenet Serret formulas• Frenet-Serret formulas
• curvature• curvature
t i• torsion
(arc length parameterization)
23
(arc-length parameterization)
![Page 24: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/24.jpg)
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
![Page 25: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/25.jpg)
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
![Page 26: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/26.jpg)
Differential Geometry: Surfacesy
26
![Page 27: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/27.jpg)
Differential Geometry: Surfacesy
• Continuous surface• Continuous surface
• Normal vector
assuming regular parameterization i e– assuming regular parameterization, i.e.
27
![Page 28: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/28.jpg)
Normal Curvature
If and are orthogonal:u vx x
28
![Page 29: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/29.jpg)
Normal Curvature
29
![Page 30: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/30.jpg)
Surface Curvature
• Principal Curvatures• Principal Curvatures
– maximum curvature
– minimum curvature
• Mean Curvature
• Gaussian Curvature
30
![Page 31: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/31.jpg)
Principal Curvaturep
Euler’s Theorem: Planes of principal curvature are orthogonal
and independent of parameterization.
31
![Page 32: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/32.jpg)
Curvature
32
![Page 33: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/33.jpg)
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
![Page 34: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/34.jpg)
Principal DirectionsPrincipal Directions
kk22 kk11
34
![Page 35: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/35.jpg)
Gauss-Bonnet Theorem
For ANY closed manifold surface with Euler number χ=2-2g:
∫ ∫ ( )∫( )K∫ ( )K=∫ ( )K=∫ 4= π
35
![Page 36: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/36.jpg)
Gauss-Bonnet TheoremE lExample
hSphere
k1 = k2= 1/r1 2
K = k1k2 = 1/r 2
Manipulate sphere
New positive + negative curvature
Cancel out!36
![Page 37: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/37.jpg)
Fundamental Forms
• First fundamental form• First fundamental form
• Second fundamental form
37
![Page 38: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/38.jpg)
Fundamental Forms
• I and II allow to measure• I and II allow to measure
– length, angles, area, curvature
– arc element
– area element
38
![Page 39: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/39.jpg)
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
![Page 40: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/40.jpg)
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
![Page 41: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/41.jpg)
Laplace Operatorp p
gradienttLaplace 2nd partialoperatorLaplace
operator2nd partialderivatives
R∈
Cartesiancoordinatesdivergence
tscalar function in Euclidean space operatorEuclidean space
41
![Page 42: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/42.jpg)
Laplace-Beltrami Operatorp p
• Extension to functions on manifolds• Extension to functions on manifolds
di tgradientoperator
Laplace-Beltrami
fscalar function on manifold
divergenceoperator
42
![Page 43: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/43.jpg)
Laplace-Beltrami Operatorp p
• For coordinate function(s)• For coordinate function(s)
meancurvature
gradientoperator
Laplace-Beltrami
surfaceldi t normaldivergence
operatorcoordinatefunction
43
![Page 44: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/44.jpg)
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
![Page 45: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/45.jpg)
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
![Page 46: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/46.jpg)
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
![Page 47: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/47.jpg)
Gradient of a Function
47
![Page 48: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/48.jpg)
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
![Page 49: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/49.jpg)
Discrete Laplace-BeltramiU if Di ti tiUniform Discretization
v
N1(v)
li dNormalized:
49
![Page 50: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/50.jpg)
Discrete Laplace-BeltramiS d A hSecond Approach
• Laplace Beltrami operator:• Laplace-Beltrami operator:
• Compute integral around vertex p gDivergence theorem
50
![Page 51: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/51.jpg)
Discrete Laplace-BeltramiC F lCotangent Formula
Plugging in expression for gradients gives:Plugging in expression for gradients gives:
51
![Page 52: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/52.jpg)
The Averaging Regiong g g
Edge midpointg p
θ
Barycentric cell Voronoi cell Mixed cell
ci = barycenterof triangle
ci = circumcenterof triangle
52
![Page 53: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/53.jpg)
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
![Page 54: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/54.jpg)
Discrete Normal
( )( )n x
54
![Page 55: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/55.jpg)
Discrete Curvatures
• Mean curvature• Mean curvature
• Gaussian curvature
• Principal curvatures• Principal curvatures
55
![Page 56: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/56.jpg)
Example: Mean Curvaturep
56
![Page 57: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/57.jpg)
Example: Gaussian CurvatureExample: Gaussian Curvature
original smoothed
Discrete Gauss-Bonnet (Descartes) theorem:
57
![Page 58: (Discrete) Differential Geometry - Computer Graphics Laboratory](https://reader030.fdocuments.in/reader030/viewer/2022021208/62062a538c2f7b1730050bcd/html5/thumbnails/58.jpg)
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