CSCI 621: Digital Geometry Processing
Hao Li
http://cs621.hao-li.com
1
Spring 2019
2.2 Classic Differential Geometry 1 Hao Li http://cs621.hao-li.com - - PowerPoint PPT Presentation
Spring 2019 CSCI 621: Digital Geometry Processing 2.2 Classic Differential Geometry 1 Hao Li http://cs621.hao-li.com 1 Spring 2018 CSCI 621: Digital Geometry Processing 2.2 Classic Differential Geometry 1 With a Twist! Hao Li
CSCI 621: Digital Geometry Processing
Hao Li
http://cs621.hao-li.com
1
Spring 2019
CSCI 621: Digital Geometry Processing
Hao Li
http://cs621.hao-li.com
2
Spring 2018
Some Updates: run.usc.edu/vega
3
Another awesome free library with half-edge data-structure By Prof. Jernej Barbic
FYI
4
MeshLab Popular Mesh Processing Software (meshlab.sourceforge.net)
FYI
5
BeNTO3D Mesh Processing Framework for Mac (www.bento3d.com)
Last Time
6
Discrete Representations
Topology Geometry
Differential Geometry
7
Why do we care?
Motivation
8
We need differential geometry to compute
Applications: 3D Reconstruction
9
Applications: Head Modeling
10
Applications: Facial Animation
11
Motivation
12
Geometry is the key
Hodge, de Rham, Gauss, Noether…)
Getting Started
13
How to apply DiffGeo ideas?
Let’s look at that first
Getting Started
14
What characterizes structure(s)?
Getting Started
15
Invariant descriptors
Intrinsic descriptor
Outline
16
Formalism & Intuition
Differential Geometry
17
Leonard Euler (1707-1783) Carl Friedrich Gauss (1777-1855)
Parametric Curves
18
x(t) = x(t) y(t) z(t) x : [a, b] ⊂ IR → IR3
x(a) x(b) xt(t) a t b
xt(t) := dx(t) dt = dx(t) /dt dy(t) /dt dz(t) /dt
x(t)
Recall: Mappings
19
Injective
NO SELF-INTERSECTIONS
Surjective
SELF-INTERSECTIONS AMBIGUOUS PARAMETERIZATION
Bijective
Parametric Curves
20
A parametric curve is
x(t) x(t) xt(t) xt(t) 6= 0 t ∈ [a, b] t ∈ [a, b]
x(a) x(b) x(t) xt(t)
Length of a Curve
21
Let and
ti = a + i∆t xi = x(ti) x(a) x(b) a b ti ∆t xi
Length of a Curve
22
Polyline chord length Curve arc length ( )
∆t → 0 S = ⇥
i
⇥∆xi⇥ = ⇥
i
∆t
∆xi := ⇥xi+1 xi⇥
x(a) x(b) a b ti ∆t xi
s = s(t) = t
a
xt dt
norm change length = integration of infinitesimal change × norm of speed
Re-Parameterization
23
Mapping of parameter domain Re-parameterization w.r.t. Derivative (chain rule)
u : [a, b] → [c, d] [c, d] IR3 , t ⇥ x(u(t)) dx(u(t)) dt = dx du du dt = xu(u(t)) ut(t) u(t)
Re-Parameterization
24
⇒ g(φ(t)) = f(t) f :
2 ⇥ IR2 , t ⇥ (4t, 2t) φ :
2 ⇥ [0, 1] , t ⇥ 2t g : [0, 1] IR2 , t ⇥ (2t, t)
Example
Arc Length Parameterization
25
Mapping of parameter domain: Parameter for equals length from to Special properties of resulting curve
t ⇥ s(t) = t
a
⇤xt⇤ dt ds = xt dt x(s) = x(s(t)) ⇥xs(s)⇥ = 1 , xs(s) · xss(s) = 0 s x(s) x(a) x(s)
defines orthonormal frame same infinitesimal change
The Frenet Frame
26
Taylor expansion
x(t + h) = x(t) + xt(t) h + 1 2xtt(t) h2 + 1 6xttt(t) h3 + . . .
Define local frame (Frenet frame)
t = xt xt b = xt xtt ⇥xt xtt⇥ n = b × t (t, n, b)
tangent main normal binormal
for convergence analysis and approximations
The Frenet Frame
27
Orthonormalization of local frame
xt xtt xttt b t n
local affine frame Frenet frame
The Frenet Frame
28
Frenet-Serret: Derivatives w.r.t. arc length s
ts = +κn ns = −κt +τb bs = −τn
Curvature (deviation from straight line)
κ = xss
Torsion (deviation from planarity)
τ = 1 κ2 det([xs, xss, xsss])
b t n
Curvature and Torsion
29
Planes defined by and two vectors:
Osculating circle
x t b b t 1/κ n n c = x + (1/κ)n
b t n
Curvature and Torsion
30
Curvature: Some Intuition
31
A line through two points on the curve (Secant)
Curvature: Some Intuition
32
A line through two points on the curve (Secant)
Curvature: Some Intuition
33
Tangent, the first approximation
limiting secant as the two points come together
Curvature: Some Intuition
34
Circle of curvature
Consider the circle passing through 3 pints of the curve
Curvature: Some Intuition
35
Circle of curvature
The limiting circle as three points come together
Curvature: Some Intuition
36
Radius of curvature r
Curvature: Some Intuition
37
Radius of curvature r
Curvature: Some Intuition
38
Signed curvature
Sense of traversal along curve
Curvature: Some Intuition
39
Gauß map
Point on curve maps to point on unit circle
Curvature: Some Intuition
40
Shape operator (Weingarten map)
Change in normal as we slide along curve describes directional curvature
negative directional derivative D of Gauß map using normals as degrees of freedom → accuracy/convergence/implementation (discretization)
Curvature: Some Intuition
41
Turning number, k
Number of orbits in Gaussian image
Curvature: Some Intuition
42
Turning number theorem
For a closed curve, the integral of curvature is an integer multiple of 2π
Take Home Message
43
In the limit of a refinement sequence, discrete measure of length and curvature agree with continuous measures
http://cs621.hao-li.com
44