CSCI 599: Digital Geometry Processing
Hao Li
http://cs599.hao-li.com
1
Spring 2014
3.1 Classic Differential Geometry Hao Li http://cs599.hao-li.com 1 - - PowerPoint PPT Presentation
Spring 2014 CSCI 599: Digital Geometry Processing 3.1 Classic Differential Geometry Hao Li http://cs599.hao-li.com 1 Spring 2014 CSCI 599: Digital Geometry Processing 3.1 Classic Differential Geometry With a Twist! Hao Li
CSCI 599: Digital Geometry Processing
Hao Li
http://cs599.hao-li.com
1
Spring 2014
CSCI 599: Digital Geometry Processing
Hao Li
http://cs599.hao-li.com
2
Spring 2014
Administrative
3
Some Updates: run.usc.edu/vega
4
Another awesome free library with half-edge data-structure By Prof. Jernej Barbic
FYI
5
MeshLab Popular Mesh Processing Software (meshlab.sourceforge.net)
FYI
6
BeNTO3D Mesh Processing Framework for Mac (www.bento3d.com)
Last Time
7
Discrete Representations
Topology Geometry
Differential Geometry
8
Why do we care?
Motivation
9
We need differential geometry to compute
Applications: 3D Reconstruction
10
Applications: Head Modeling
11
Applications: Facial Animation
12
Motivation
13
Geometry is the key
Hodge, de Rham, Gauss, Noether…)
Getting Started
14
How to apply DiffGeo ideas?
Let’s look at that first
Getting Started
15
What characterizes structure(s)?
Getting Started
16
Invariant descriptors
Intrinsic descriptor
Outline
17
Formalism & Intuition
Differential Geometry
18
Leonard Euler (1707-1783) Carl Friedrich Gauss (1777-1855)
Parametric Curves
19
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
20
Injective
NO SELF-INTERSECTIONS
Surjective
SELF-INTERSECTIONS AMBIGUOUS PARAMETERIZATION
Bijective
Parametric Curves
21
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
22
Let and
ti = a + i∆t xi = x(ti) x(a) x(b) a b ti ∆t xi
Length of a Curve
23
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
24
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
25
⇒ 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
26
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
27
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
28
Orthonormalization of local frame
xt xtt xttt b t n
local affine frame Frenet frame
The Frenet Frame
29
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
30
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
31
Curvature: Some Intuition
32
A line through two points on the curve (Secant)
Curvature: Some Intuition
33
A line through two points on the curve (Secant)
Curvature: Some Intuition
34
Tangent, the first approximation
limiting secant as the two points come together
Curvature: Some Intuition
35
Circle of curvature
Consider the circle passing through 3 pints of the curve
Curvature: Some Intuition
36
Circle of curvature
The limiting circle as three points come together
Curvature: Some Intuition
37
Radius of curvature r
Curvature: Some Intuition
38
Radius of curvature r
Curvature: Some Intuition
39
Signed curvature
Sense of traversal along curve
Curvature: Some Intuition
40
Gauß map
Point on curve maps to point on unit circle
Curvature: Some Intuition
41
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
42
Turning number, k
Number of orbits in Gaussian image
Curvature: Some Intuition
43
Turning number theorem
For a closed curve, the integral of curvature is an integer multiple of 2π
Take Home Message
44
In the limit of a refinement sequence, discrete measure of length and curvature agree with continuous measures
Outline
45
Surfaces
46
What characterizes shape?
Metric on Surfaces
47
Measure Stuff
Parametric Surfaces
48
Continuous surface Normal vector Assume regular parameterization
x(u, v) = x(u, v) y(u, v) z(u, v) n = xu xv ⇥xu xv⇥ xu xv ⇥= 0
n p xu xv
normal exists
Angles on Surface
49
Curve in uv-plane defines curve on the surface Two curves and intersecting at
c(t) = x(u(t) , v(t)) [u(t), v(t)] x(u, v) c1 c2 p t1 t2 ti = αixu + βixv tT
1 t2 = cos θ t1 t2
n p xu xv
c1 c2
Angles on Surface
50
Curve in uv-plane defines curve on the surface Two curves and intersecting at
[u(t), v(t)] x(u, v) c1 c2 p c(t) = x(u(t) , v(t)) tT
1 t2 = (α1xu + β1xv)T (α2xu + β2xv)
= (α1, β1) xT
u xu
xT
u xv
xT
u xv
xT
v xv
⇥ α2 β2 ⇥ = α1α2xT
u xu + (α1β2 + α2β1) xT u xv + β1β2xT v xv
First Fundamental Form
51
First fundamental form
I = E F F G ⇥ := xT
u xu
xT
u xv
xT
u xv
xT
v xv
⇥
Defines inner product on tangent space
⇤α1 β1 ⇥ , α2 β2 ⇥⌅ := α1 β1 ⇥T I α2 β2 ⇥
First Fundamental Form
52
First fundamental form allows to measure (w.r.t. surface metric) Angles Length Area
I ds2 = (du, dv), (du, dv)⇥ = Edu2 + 2Fdudv + Gdv2 dA = ⌅xu ⇤ xv⌅ du dv = ⇥ xT
u xu · xT v xv (xT u xv)2 du dv
=
t>
1 t2 = h(α1, β1), (α2, β2)i
squared infinitesimal length infinitesimal Area cross product → determinant with unit vectors → area
Sphere Example
53
Spherical parameterization Tangent vectors First fundamental Form
x(u, v) = cos u sin v sin u sin v cos v , (u, v) ∈ [0, 2π) × [0, π) xu(u, v) = − sin u sin v cos u sin v xv(u, v) = cos u cos v sin u cos v − sin v I =
1 ⇥
Sphere Example
54
Length of equator x(t, π/2)
2π 1 ds = 2π ⇥ E (ut)2 + 2Futvt + G (vt)2 dt = 2π sin v dt = 2π sin v = 2π
Sphere Example
55
Area of a sphere
π 2π 1 dA = π 2π ⇥ EG − F 2 du dv = π 2π sin v du dv = 4π
Normal Curvature
56
Tangent vector …
t n p t xu xv t = cos φ xu ∥xu∥ + sin φ xv ∥xv∥
unit vector
Normal Curvature
57
… defines intersection plane, yielding curve c(t)
t n p t = cos φ xu ∥xu∥ + sin φ xv ∥xv∥ c(t)
normal curve
Geometry of the Normal
58
Gauss map
Normal Curvature
59
Normal curvature is defined as curvature of the normal curve at point With second fundamental form normal curvature can be computed as
II =
f f g ⇥ := ⇤ xT
uun
xT
uvn
xT
uvn
xT
vvn
⌅ κn(¯ t) = ¯ tT II¯ t ¯ tT I¯ t = ea2 + 2fab + gb2 Ea2 + 2Fab + Gb2
t = axu + bxv ¯ t = (a, b)
κn(t) c(t) p(t) = x(u, v)
Surface Curvature(s)
60
Principal curvatures
κ1 = max
φ
κn(φ) κ2 = min
φ κn(φ)
κn(φ) = κ1 cos2 φ + κ2 sin2 φ e1 e2
Surface Curvature(s)
61
Principal curvatures
κ1 = max
φ
κn(φ) κ2 = min
φ κn(φ)
κn(φ) = κ1 cos2 φ + κ2 sin2 φ e1 e2
Special curvatures
H = κ1 + κ2 2 K = κ1 · κ2
intrinsic (only first FF) extrinsic
Invariants
62
Gaussian and mean curvature
Mean Curvature
63
Integral representations
Curvature of Surfaces
64
Mean curvature
H = 0 → H = κ1 + κ2 2
soap film
Curvature of Surfaces
65
Mean curvature
H = 0 → H = κ1 + κ2 2
Green Void, Sydney Architects: Lava
Curvature of Surfaces
66
Gaussian curvature
→ K = 0 K = κ1 · κ2
Disney, Concert Hall, L.A. Architects: Gehry Partners Timber Fabric IBOIS, EPFL
surface that can be flattened to a plane without distortion (stretching or compression)
Shape Operator
67
Derivative of Gauss map
Intrinsic Geometry
68
Properties of the surface that only depend on the first fundamental form
K = lim
r→0
6πr − 3C(r) πr3
remarkable theorem (Gauss) Gaussian curvature of a surface is invariant under local isometry
Classification
69
Point on the surface is called
x K > 0 K < 0 K = 0
Gaussian curvature K
Classification
70
Point on the surface is called
x
Gauss-Bonnet Theorem
71
For any closed manifold surface with Euler characteristic
χ = 2 − 2g Z K = 2πχ Z K( ) = Z K( ) = Z K( ) = 4π
Gauss-Bonnet Theorem
72
Sphere
κ1 = κ2 = 1/r K = κ1κ2 = 1/r2 Z K = 4πr2 · 1 r2 = 4π
when sphere is deformed, new positive and negative curvature cancel out
Differential Operators
73
rf := ✓ ∂f ∂x1 , . . . , ∂f ∂xn ◆
Gradient
Differential Operators
74
Divergence
divF = r · F := ∂F1 ∂x1 + . . . + ∂Fn ∂xn
75
Divergence
divF = r · F := ∂F1 ∂x1 + . . . + ∂Fn ∂xn
high divergence low divergence
Differential Operators
Laplace Operator
76
∆f = div∇f =
∂2f ∂x2
i
Laplace
gradient
2nd partial derivatives Cartesian coordinates divergence
function in Euclidean space
Laplace-Beltrami Operator
77
Extension of Laplace fo functions on manifolds
∆Sf = divS ∇Sf
Laplace- Beltrami gradient
function on manifold divergence
S
Laplace on the surface …of the surface
Laplace-Beltrami Operator
78
Laplace- Beltrami gradient
function on manifold divergence
S ∆Sx = divS ∇Sx = −2Hn
mean curvature surface normal
Literature
79
Prentice Hall, 1976
Design, AK Peters 1994
Techniques, Springer 2002
Next Time
80
http://cs599.hao-li.com
81