L2_Surfaces
Office Hour
• Check Piazza
L2: Surfaces
Hao Su
Machine Learning meets Geometry
Our Focus Today: Surface
http://web.mit.edu/manoli/crust/www/slides/piggy.jpg
Agenda
• Parameterized Surface
• Manifold
• Differential Map
• Curvature
• Principal Curvature
Lots of (sloppy) math!
http://www.wgnflag.com/xcart/images/P/G-50_StopSeatBeltsStockSign.jpg
Parameterized Surface
Parametrized Surface
Image from Wikipedia
A parameterized surface is a map from a two-
dimensional region into U ⊂ ℝ2 ℝn
f : U → ℝn
The set of points is called the image of the parameterization.f(U)
Example
• Example: We can express a saddle as a
parameterized surface:
U
1
1
f
U := {(u, v) ∈ ℝ2 : u2 + v2 ≤ 1}
f(u, v) = [u, v, u2 − v2]T
• Smoothly “interpolate” between a set of points Pi
Application: Bezier Surface, Spline Surface
Application: Bezier Surface, Spline Surface
Widely used in design industry (e.g., car modeling)
(Differentiable) Manifold
Smoothness as a Local Property
• Things that can be discovered by local
observation: point + neighborhood
Local Smoothness
• Things that can be discovered by local
observation: point + neighborhood
differentiable
1-1 mapping
• Things that can be discovered by local
observation: point + neighborhood
Local to Global
continuous
1-1 mapping
u
v
Tangents, normals,
curvatures, curve
angles, distances
Tangent Plane
• One can attach to every point a tangent plane
• Intuitively, it contains the possible directions in which
one can tangentially pass through .
p Tp
p
p
Tp(ℝ
3)
Differential Map
Differential of a Surface
• Relate the movement of point in the domain and on
the surface
X f(U)U
Dfp(X )
f
p
fp
Differential of a Surface
Total differential: df =
∂f
∂u
du +
∂f
∂v
dvTotal differential:
X
f(U)
U
Df (X)
f
If point moves along vector by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
fp
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv]
Δf ≈
∂f
∂u
Δu +
∂f
∂v
Δv
Differential of a Surface
Total differential: df =
∂f
∂u
du +
∂f
∂v
dvTotal differential:
X
f(U)
U
Df (X)
f
If point moves with velocity by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
fp
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv]
Dfp := [ ∂f∂u , ∂f∂v ] ∈ ℝ3×2
Differential of a Surface
Total differential: df =
∂f
∂u
du +
∂f
∂v
dvTotal differential:
X
f(U)
U
Df (X)
f
If point moves with velocity by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
fp
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv] = ϵ[Dfp]X
Dfp := [ ∂f∂u , ∂f∂v ] ∈ ℝ3×2 : differential (Jacobian) a linear map.
Dfp
Differential of a Surface
Total differential: df =
∂f
∂u
du +
∂f
∂v
dvTotal differential:
X
f(U)
U
Df (X)
f
If point moves with velocity by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
fp
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv] = ϵ[Dfp]X
velocity in 2D domainDfp := [ ∂f∂u , ∂f∂v ] ∈ ℝ3×2
Differential of a Surface
df =
∂f
∂u
du +
∂f
∂v
dvTotal differential:
X
f(U)
U
Df (X)
f
If point moves with velocity by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
fp
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv] = ϵ[Dfp]X
velocity in 3D space
velocity in 2D domainDfp := [ ∂f∂u , ∂f∂v ] ∈ ℝ3×2
Differential of a Surface
𝚍f =
∂f
∂u
𝚍u +
∂f
∂v
𝚍vTotal differential:
X
f(U)
U
Df (X)
f
If point moves along vector by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
fp
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv] = ϵ[Dfp]X
Intuitively, the differential of a parameterized surface
tells us how tangent vectors on the domain get mapped
to tangent vectors in space:
Tangent Plane
is a vector in 3D tangent plane[ ∂f∂u ,
∂f
∂v ] [uv]
These vectors don’t have to be orthogonal
Δfp ≈
∂f
∂u
(ϵu) +
∂f
∂v
(ϵv) = ϵ [ ∂f∂u ,
∂f
∂v ] [uv]
Tangent plane at point is
spanned by
f(u, v)
fu =
∂f
∂u
, fv =
∂f
∂v
fu fv
Df(0,0)(X )
An Example
f(u, v) = [u, v, u2 − v2]T
Dfp =
∂f1/∂u ∂f1/∂v
∂f2/∂u ∂f2/∂v
∂f3/∂u ∂f3/∂v
= [
1 0
0 1
2u −2v]
Df(0,0)(X )
An Example
f(u, v) = [u, v, u2 − v2]T
Dfp =
∂f1/∂u ∂f1/∂v
∂f2/∂u ∂f2/∂v
∂f3/∂u ∂f3/∂v
= [
1 0
0 1
2u −2v]
Df(0,0)(X )
An Example
f(u, v) = [u, v, u2 − v2]T
Dfp =
∂f1/∂u ∂f1/∂v
∂f2/∂u ∂f2/∂v
∂f3/∂u ∂f3/∂v
= [
1 0
0 1
2u −2v]
X :=
3
4
[1, − 1]T
Df(X) =
3
4
[1, − 1,2(u + v)]T
e.g., at u = v = 0 : Df(X) = [
3
4
, −
3
4
,0]T
Df(0,0)(X )
An Example
f(u, v) = [u, v, u2 − v2]T
Dfp =
∂f1/∂u ∂f1/∂v
∂f2/∂u ∂f2/∂v
∂f3/∂u ∂f3/∂v
= [
1 0
0 1
2u −2v]
X :=
3
4
[1, − 1]T
Df(X) =
3
4
[1, − 1,2(u + v)]T
e.g., at u = v = 0 : Df(X) = [
3
4
, −
3
4
,0]T
Df(0,0)(X )
An Example
f(u, v) = [u, v, u2 − v2]T
Dfp =
∂f1/∂u ∂f1/∂v
∂f2/∂u ∂f2/∂v
∂f3/∂u ∂f3/∂v
= [
1 0
0 1
2u −2v]
at , tangent space is spanned by and . u = v = 1 [
1
0
2] [
0
1
−2]
e.g., at u = v = 0 : Df(X) = [
3
4
, −
3
4
,0]T
X :=
3
4
[1, − 1]T
Df(X) =
3
4
[1, − 1,2(u + v)]T
Df(0,0)(X )
An Example
f(u, v) = [u, v, u2 − v2]T
Dfp =
∂f1/∂u ∂f1/∂v
∂f2/∂u ∂f2/∂v
∂f3/∂u ∂f3/∂v
= [
1 0
0 1
2u −2v]
at , tangent space is spanned by and . u = v = 1 [
1
0
2] [
0
1
−2]
e.g., at u = v = 0 : Df(X) = [
3
4
, −
3
4
,0]T
X :=
3
4
[1, − 1]T
Df(X) =
3
4
[1, − 1,2(u + v)]T
Summary of Differential Map
• Tells us the velocity of point in 3D when the parameter
changes in 2D
• Maps a vector in the tangent space of the domain to
the tangent space of the surface
• Allows us to construct the bases of tangent plane
• Is a linear map
Dfp : Tp(ℝ
2) → Tf(p)(ℝ
3)
Curvature
Goal
Quantify how a surface bends.
Curvature of CurvesRecall:
Theorem:
Curvature and torsion determine geometry
of a curve up to rigid motion.
35
The Binormal Vector
For points s, s.t. !(s) ≠ 0, the
binormal vector B(s) is defined
as:
B(s) = T(s) ” N(s)
The binormal vector defines the
osculating plane
T
N
B
N
T
B
T
N
N
T
Can curvature/torsion of
a curve help us
understand surfaces?
Curves: Change of Normal
Describes Curve Bending
http://mathworld.wolfram.com/images/eps-gif/UnitSphere_800.gif
Surfaces: Change of Normal
Describes Surface Bending
q
Surface Normals
Surface normal:
fu :=
∂f
∂u
, fv :=
∂f
∂v
N(u, v) =
fu × fv
∥fu × fv∥
also as a function of N u, v
fu fv
Consider a nonstandard parameterization of the cylinder
(sheared along ):z
Example
Df =
−sin(u) 0
cos(u) 0
1 1
N =
−sin(u)
cos(u)
1
× [
0
0
1] =
cos(u)
sin(u)
0
f(u, v) := [cos(u), sin(u), u + v]T
Df (X2) Df (X1)
N
http://mathworld.wolfram.com/images/eps-gif/UnitSphere_800.gif
Measure the Change of Normal
Assume moves along a curve parameterized by arc-
length: , and the normal is with unit norm
q γ
q = γ(s) N(s)
q
http://mathworld.wolfram.com/images/eps-gif/UnitSphere_800.gif
Measure the Change of Normal
Assume moves along a curve parameterized by arc-
length: , and the normal is with unit norm
q γ
q = γ(s) N(s)
0 ≡
d
ds
⟨N(s), N(s)⟩ = 2⟨ ·N(s), N(s)⟩
Local change of normal is
always in the tangent plane!
·N(s) ⊥ N(s)
q
Differential of Normal
dN =
∂N
∂u
du +
∂N
∂v
dvTotal differential:
X U
f
If point moves with velocity by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
Np
ΔNp =
∂N
∂u
(ϵu) +
∂N
∂v
(ϵv) = ϵ [ ∂N∂u ,
∂N
∂v ] [uv] = ϵ[DNp]X
DNp := [ ∂N∂u , ∂N∂v ] ∈ ℝ3×2
p
q = fp
Differential of Normal
dN =
∂N
∂u
du +
∂N
∂v
dvTotal differential:
If point moves with velocity by , the
movement of is:
p ∈ ℝ2 X = [u, v]T ϵ
Np
ΔNp =
∂N
∂u
(ϵu) +
∂N
∂v
(ϵv) = ϵ [ ∂N∂u ,
∂N
∂v ] [uv] = ϵ[DNp]X
X U
f
DNp := [ ∂N∂u , ∂N∂v ] ∈ ℝ3×2
Note: [DNp]X ∈ Tp(ℝ3)
p
q = fp
Curvature of at ⃗κ γ p
• Recall we need the arc-length parameterization and
measure the change of normal
• Recall that tangent vector under arc-length
parameterization. So we need to scale by so that:
• As moves with velocity , the tangent is
• the velocity of normal change is:
∥T∥ = 1
X μ
∥Dfp[μX]∥ = 1 ⟹ μ =
1
∥DfpX∥
p μX
Dfp[μX] =
DfpX
∥DfpX∥
DNp[μX] =
DNpX
∥DfpX∥
Curvature of at ⃗κ γ p
• The velocity of normal change is:
• We denote this quantity as in this lecture (note that
in the last lecture is a scalar, the norm of this vector)
DNp[μX] =
DNpX
∥DfpX∥
⃗κ
κ
Directional Normal Curvature
κn(X) := ⟨T, ⃗κ ⟩ =
⟨Dfp(X), DNp(X)⟩
∥Dfp(X)∥2
Df
Df
Note: is not the curvature of κn κ γ
X U
p
f
Dfp(X)
DNp(X)
N
tangent plane
Relationship to Curvature of Curves
http://www.solitaryroad.com/c335.html
Drawing by Adrian Butscher
κn := ⟨ ⃗κ , T⟩
κg := ⟨ ⃗κ , N × T⟩
(Geodesic curvature)
Consider a nonstandard parameterization of the cylinder
(sheared along ):z
Example
Df =
−sin(u) 0
cos(u) 0
1 1
f(u, v) := [cos(u), sin(u), u + v]T
Df (X2) Df (X1)
N
N =
cos(u)
sin(u)
0
DN =
−sin(u) 0
cos(u) 0
0 0
Consider a nonstandard parameterization of the cylinder
(sheared along ):z
Example
Df =
−sin(u) 0
cos(u) 0
1 1
f(u, v) := [cos(u), sin(u), u + v]T
Df (X2) Df (X1)
N
N =
cos(u)
sin(u)
0
DN =
−sin(u) 0
cos(u) 0
0 0
Consider a nonstandard parameterization of the cylinder
(sheared along ):z
Example
Df =
−sin(u) 0
cos(u) 0
1 1
f(u, v) := [cos(u), sin(u), u + v]T
Df (X2) Df (X1)
N
N =
cos(u)
sin(u)
0
X1 = [01]
κn(X1) =
⟨Df(X1), DN(X1)⟩
∥Df(X1)∥2
= 0
DN =
−sin(u) 0
cos(u) 0
0 0
X2 = [−11 ]
κn(X2) =
⟨Df(X2), DN(X2)⟩
∥Df(X2)∥2
= 1
Consider a nonstandard parameterization of the cylinder
(sheared along ):z
Example
Df =
−sin(u) 0
cos(u) 0
1 1
f(u, v) := [cos(u), sin(u), u + v]T
Df (X2) Df (X1)
N
N =
cos(u)
sin(u)
0
X1 = [01]
κn(X1) =
⟨Df(X1), DN(X1)⟩
∥Df(X1)∥2
= 0
DN =
−sin(u) 0
cos(u) 0
0 0
X2 = [−11 ]
κn(X2) =
⟨Df(X2), DN(X2)⟩
∥Df(X2)∥2
= 1
Summary of Curvature
• Curvature quantifies the bending of surfaces
• Local change of normal (differential of normal) is
always in the tangent plane
• Directional normal curvature quantifies how fast a
surface bends along a direction
Principal Curvatures
Principal Curvatures
Maximal curvature:
Minimal curvature:
κ1 = κmax = max
φ
κn(φ)
κ2 = κmin = min
φ
κn(φ)
N
X1
X2
N X1N X2
Principal Directions
min curvature max curvaturetangent plane in 3D
ϕ min
t1
t2
Principal directions:
tangent vectors
corresponding to
and φmax φmin
Euler’s Theorem: Planes of principal curvature are orthogonal
and independent of parameterization.
Principal Directions
κn(φ) = κ1 cos
2 φ + κ2 sin
2 φ, φ = angle with t1
Tangent plane with principal
directions as axes
t1
t2
φ
Principal Directions
Summary of Principal Curvatures
• The direction that bends fastest / slowest are principal
directions, which are orthogonal to each other
• The corresponding curvatures are principal curvatures