Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Shape Modeling and
Geometry Processing
Discrete Differential Geometry
252-0538-00L, Spring 2018
3/8/2018
#
Differential Geometry – Motivation
Formalize geometric properties of shapes
Roi Poranne 23/8/2018
#
Differential Geometry – Motivation
Formalize geometric properties of shapes
Smoothness
Roi Poranne 33/8/2018
#
Differential Geometry – Motivation
Roi Poranne 43/8/2018
Formalize geometric properties of shapes
Smoothness
Deformation
#
Differential Geometry – Motivation
Roi Poranne 53/8/2018
Formalize geometric properties of shapes
Smoothness
Deformation
Mappings
#
Differential Geometry Basics
Geometry of manifolds
Things that can be explored locally
point + neighborhood
Roi Poranne 63/8/2018
#
Differential Geometry Basics
Roi Poranne 7
manifold point
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 8
manifold point
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 9
manifold point
continuous
1-1 mapping
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 10
manifold point
continuous
1-1 mapping non-manifold point
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 11
manifold point
continuous
1-1 mapping non-manifold point
x
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 123/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 13
continuous
1-1 mapping
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
#
Differential Geometry Basics
Roi Poranne 14
continuous
1-1 mapping
u
v
If a sufficiently smooth
mapping can be
constructed, we can look
at its first and second
derivatives
Tangents, normals,
curvatures, curve
angles
Distances, topology
3/8/2018
Geometry of manifolds
Things that can be explored locally
point + neighborhood
Differential Geometry of Curves
3/8/2018
#
Planar Curves
3/8/2018 Roi Poranne 16
𝛾 𝑡 =𝑥 𝑡𝑦 𝑡
, 𝑡 ∈ 𝑡0, 𝑡1
#
Planar Curves
Roi Poranne 173/8/2018
𝛾 𝑡 =𝑥 𝑡𝑦 𝑡
, 𝑡 ∈ 𝑡0, 𝑡1
#
Planar Curves
Roi Poranne 183/8/2018
𝛾 𝑡 =𝑡𝑡2
𝛾 𝑡 =𝑥 𝑡𝑦 𝑡
, 𝑡 ∈ 𝑡0, 𝑡1
#
Planar Curves
Roi Poranne 193/8/2018
𝛾 𝑡 =𝑡𝑡2
𝛾 𝑡 =𝑥 𝑡𝑦 𝑡
, 𝑡 ∈ 𝑡0, 𝑡1
𝛾 𝑡 = 𝑡2
𝑡4
#
Arc Length Parameterization
Same curve has many parameterizations!
Arc-length: equal speed of
the parameter along the curve
Roi Poranne 203/8/2018
𝐿(𝛾(𝑡1), 𝛾(𝑡2)) = |𝑡1 – 𝑡2|
#
Secant
A line through two points on the curve.
Roi Poranne 213/8/2018
#
Secant
A line through two points on the curve.
Roi Poranne 223/8/2018
#
Secant
A line through two points on the curve.
Roi Poranne 233/8/2018
#
Tangent
Roi Poranne 24
A line through two points on the curve.
3/8/2018
#
Tangent
Roi Poranne 25
The limit secant as two points come together.
3/8/2018
#
Secant and Tangent
Secant: line through 𝒑(𝑃) – 𝒑(𝑄)
Tangent:𝛾(𝑃) = (𝑥(𝑃), 𝑦(𝑃), … )𝑇
Roi Poranne 263/8/2018
#
Arc Length Parameterization
Same curve has many parameterizations!
Arc-length: equal speed of
the parameter along the curve
Roi Poranne 273/8/2018
𝐿(𝛾(𝑡1), 𝛾(𝑡2)) = |𝑡1 – 𝑡2|
𝛾′ 𝑡 = 1
#
Arc Length Parameterization
Same curve has many parameterizations!
Arc-length: equal speed of
the parameter along the curve
Roi Poranne 283/8/2018
𝐿(𝛾(𝑡1), 𝛾(𝑡2)) = |𝑡1 – 𝑡2|
𝛾′ 𝑡 = 1
What it 𝛾 𝑡 is not arc length?
#
Arc Length Parameterization
Roi Poranne 293/8/2018
Re
Curve
𝛾(𝑡) 𝛾(𝑝(𝑡))
Reparamterization
𝑝: 𝑡0, 𝑡1 → 𝑡0, 𝑡1𝑝′ 𝑡 ≠ 0
Arc length reparamterization
𝛾′ 𝑝 𝑡 = 1
#
Arc Length Parameterization
Roi Poranne 303/8/2018
Re
Arc length reparamterization
𝛾′ 𝑝 𝑡 = 1
Let
𝑞 𝑡 = න𝑡0
𝑡
𝛾′ 𝑡
Then
𝑝 𝑡 = 𝑞−1 𝑡
#
Tangent, normal, curvature
Roi Poranne 31
p
Osculating circle
3/8/2018
#
Curvature
Circle through three points on the curve
Roi Poranne 323/8/2018
#
Curvature
The limit circle as points come together.
Roi Poranne 333/8/2018
#
Curvature
Roi Poranne 343/8/2018
The limit circle as points come together.
Curvature
𝜅 =1
𝑟
#
Signed Curvature
Curving left or right
Roi Poranne 35
+
–
3/8/2018
#
Gauss map ො𝑛(𝑡)
Point on curve maps to point on unit circle.
3/8/2018 Roi Poranne 36
ො𝑛 𝑡 → S1
#
Curvature =
change in normal direction
Absolute curvature (assuming arc length)
via the Gauss map
Roi Poranne 37
curve Gauss map curve Gauss map
3/8/2018
#
Curvature Normal
Assume t is arc-length parameter
Roi Poranne 38
)(ˆ)( tt np
“A multiresolution framework for variational subdivision”,
Kobbelt and Schröder, ACM TOG 17(4), 1998
p(t)
)(ˆ tn
p(t)
3/8/2018
#
Curvature Normal
Assume t is arc-length parameter
Roi Poranne 39
)(ˆ)( tt np
p(t)
)(ˆ tn
p(t)
The curvature defines
the planar curve shape
3/8/2018
up to rotation and translation!
#
Turning Number, k
Roi Poranne 403/8/2018
#
Turning Number, k
Roi Poranne 413/8/2018
#
Turning Number Theorem
For a closed curve,
the integral of curvature is
an integer multiple of 2.
Roi Poranne 42
+2
–2
+4
0
3/8/2018
#
Discrete Planar Curves
Roi Poranne 433/8/2018
#
Discrete Planar Curves
Piecewise linear curves
Not smooth at vertices
Can’t take derivatives
Goal :Generalize notions
From the smooth world for
the discrete case
There is no one single way!
Roi Poranne 443/8/2018
#
Sampling
Connection between discrete and smooth
Finite number of vertices
each lying on the curve,
connected by straight edges.
Roi Poranne 453/8/2018
#
p1
p2
p3
p4
The Length of a Discrete Curve
Sum of edge lengths
Roi Poranne 463/8/2018
#
The Length of a Continuous Curve
limit over a refinement sequence
Roi Poranne 47
h = max edge length
3/8/2018
#
Tangents, Normals
tangent is the unit vector along edge
normal is the perpendicular vector
Roi Poranne 483/8/2018
On edges
#
Tangents, Normals
Many options…
Roi Poranne 493/8/2018
On vertices
#
Tangents, Normals
Average the adjacent edge normals
Roi Poranne 503/8/2018
On vertices
Many options…
#
Tangents, Normals
Average the adjacent edge normals
Weighting by edge lengths
Roi Poranne 513/8/2018
On vertices
Many options…
#
Tangents, Normals
Average the adjacent edge normals
Weighting by edge lengths
Roi Poranne 523/8/2018
On vertices
Many options…
#
Tangents, Normals
Average the adjacent edge normals
Weighting by edge lengths
Roi Poranne 533/8/2018
On vertices
Many options…
#
Curvature of a Discrete Curve
Again: change in normal direction
Roi Poranne 54
no change along each edge –
curvature is zero along edges
3/8/2018
#
Curvature of a Discrete Curve
Roi Poranne 553/8/2018
Again: change in normal direction
no change along each edge –
curvature is zero along edges
#
Curvature of a Discrete Curve
Roi Poranne 56
normal changes at vertices –
record the turning angle!
3/8/2018
Again: change in normal direction
#
Curvature of a Discrete Curve
Roi Poranne 573/8/2018
Again: change in normal direction
normal changes at vertices –
record the turning angle!
#
Curvature of a Discrete Curve
Roi Poranne 583/8/2018
Again: change in normal direction
normal changes at vertices –
record the turning angle!
#
Curvature of a Discrete Curve
Roi Poranne 59
same as the turning angle
between the edges
3/8/2018
Again: change in normal direction
#
Curvature of a Discrete Curve
Zero along the edges
Turning angle at the vertices
= the change in normal direction
Roi Poranne 60
1, 2 > 0, 3 < 0
1 2
3
3/8/2018
#
Total Signed Curvature
Sum of turning
angles
Roi Poranne 61
1 2
3
3/8/2018
#
Discrete Gauss Map
Edges map to points, vertices map to arcs.
Roi Poranne 623/8/2018
#
Discrete Gauss Map
Turning number well defined for discrete
curves.
Roi Poranne 633/8/2018
#
Discrete Turning Number Theorem
For a closed curve,
the total signed curvature is
an integer multiple of 2.
proof: sum of exterior angles
Roi Poranne 643/8/2018
#
Turning Number Theorem
Roi Poranne 65
Continuous world Discrete world
k:
3/8/2018
#
Curvature is scale dependent
Roi Poranne 66
is scale-independent
3/8/2018
#
Discrete Curvature – Integrated Quantity!
Cannot view αi as
pointwise curvature
It is integrated
curvature over a local
area associated with
vertex i
Roi Poranne 67
1 2
3/8/2018
#
Discrete Curvature – Integrated Quantity!
Integrated over a local
area associated with
vertex i
Roi Poranne 68
1 2A1
3/8/2018
#
Discrete Curvature – Integrated Quantity!
Integrated over a local
area associated with
vertex i
Roi Poranne 69
1 2A1
A2
3/8/2018
#
Discrete Curvature – Integrated Quantity!
Integrated over a local
area associated with
vertex i
Roi Poranne 70
1 2A1
A2
The vertex areas Ai form a covering
of the curve.
They are pairwise disjoint (except
endpoints).
3/8/2018
#
Discrete analogues
● Arbitrary discrete curve
▪ total signed curvature obeys
discrete turning number theorem
• even coarse mesh (curve)
▪ which continuous theorems to preserve?
• that depends on the application…
Roi Poranne 713/8/2018
#
Convergence
● length of sampled polygon approaches length of
smooth curve
● in general, discrete measures approaches
continuous analogues
● How to refine?
▪ depends on discrete operator
▪ pathological sequences may exist
▪ in what sense does the operator converge? (pointwise, L2; linear, quadratic)
Roi Poranne 723/8/2018
Differential Geometry of Surfaces
3/8/2018
#
Surfaces, Parametric Form
Continuous surface
Tangent plane at point
p(u,v) is spanned by
3/8/2018 Roi Poranne
n
p(u,v)
pu
u
v
pv
These vectors don’t have to be orthogonal
74
#
Isoparametric Lines
Lines on the surface when
keeping one parameter fixed
3/8/2018 Roi Poranne
u
v
75
#
Surfaces, Parametric Form
Continuous surface
Tangent plane at point
p(u,v) is spanned by
3/8/2018 Roi Poranne
n
p(u,v)
pu
u
v
pv
These vectors don’t have to be orthogonal
76
#
Surface Normals
3/8/2018 Roi Poranne
n
p(u,v)
pu
u
v
pv
77
Surface normal:
#
Surface Normals
Surface normal:
3/8/2018 Roi Poranne
n
p(u,v)
pu
u
v
pv
78
Regular parameterization
#
Normal Curvature
3/8/2018 Roi Poranne 79
#
n
p
pupv
t
Normal Curvature
3/8/2018 Roi Poranne
t in the tangent plane
(if pu and pv are orthogonal):
t
Tangent plane
80
#
Normal Curvature
3/8/2018 Roi Poranne
n
p
pupv
t
The curve is the intersection
of the surface with the plane
through n and t.
Normal curvature:
n() = ((p))
81
#
Surface Curvatures
● Principal curvatures
▪ Minimal curvature
▪ Maximal curvature
● Mean curvature
● Gaussian curvature
3/8/2018 Roi Poranne 82
#
Principal Directions
Principal directions:
tangent vectors
corresponding to
max and min
3/8/2018 Roi Poranne
min curvature max curvaturetangent
plane
min
t1
t2
83
#
Principal Directions
Principal directions:
tangent vectors
corresponding to
max and min
3/8/2018 Roi Poranne
min curvature max curvaturetangent
plane
min
t1
t2
84
What can we say about the principal directions?
#
Euler’s Theorem: Principal directions are orthogonal.
Principal Directions
3/8/2018 Roi Poranne 85
#
Principal Directions
3/8/2018 Roi Poranne 86
#
Mean Curvature
3/8/2018 Roi Poranne 87
#
Gaussian Curvature
A point p on the surface is called
● Elliptic, if K > 0
● Parabolic, if K = 0
● Hyperbolic, if K < 0
Developable surface
iff K = 0
3/8/2018 Roi Poranne 88
Classification
#
Local Surface Shape By Curvatures
3/8/2018 Roi Poranne
Isotropic:
all directions are
principal directions
spherical (umbilical) planar
K > 0, 1= 2
Anisotropic:
2 distinct
principal
directions
elliptic parabolic hyperbolic
1 > 0, 2 > 0
1= 0
2 > 0
K > 0 K = 0 K < 0
K = 0
1 < 0
2 > 0
89
#
Theorema Egregium
“Remarkable theorem”
3/8/2018 Roi Poranne 90
#
For orientable meshes:
c = number of connected components
g = genus
b = number of boundary loops
Reminder: Euler-Poincaré Formula
3/8/2018 Roi Poranne 91
#
Gauss-Bonnet Theorem
For a closed surface M:
3/8/2018 Roi Poranne 92
#
Gauss-Bonnet Theorem
For a closed surface M:
Compare with planar curves:
3/8/2018 Roi Poranne 93
#
Fundamental Forms
First fundamental form
3/8/2018 Roi Poranne 94
#
Fundamental Forms
I is a generalization of the dot product
allows to measure
length, angles, area, curvature
arc element
area element
3/8/2018 Roi Poranne 95
#
Intrinsic Geometry
Properties of the surface that only depend
on the first fundamental form
length
angles
Gaussian curvature (Theorema Egregium)
3/8/2018 Roi Poranne 96
#
Fundamental Forms
First fundamental form
Second fundamental form
Together, they define a surface (if some
compatibility conditions hold)
3/8/2018 Roi Poranne 97
#
Laplace Operator
3/8/2018 Roi Poranne
Laplace
operator
gradient
operator2nd partial
derivatives
divergence
operator
function in
Euclidean space
98
#
Laplace-Beltrami Operator
Extension of Laplace to functions on manifolds
3/8/2018 Roi Poranne
Laplace-
Beltrami
gradient
operator
divergence
operator
function on
surface M
99
#
Laplace-Beltrami Operator
For coordinate functions: 𝐩 𝑥, 𝑦, 𝑧 = (𝑥, 𝑦, 𝑧)
3/8/2018 Roi Poranne
mean
curvature
unit
surface
normal
Laplace-
Beltrami
gradient
operator
divergence
operator
function on
surface M
100
#
Differential Geometry on Meshes
Assumption: meshes are piecewise linear
approximations of smooth surfaces
Can try fitting a smooth surface locally
(say, a polynomial) and find differential
quantities analytically
But: it is often too slow for interactive
setting and error prone
3/8/2018 Roi Poranne 101
#
Discrete Differential Operators
Approach: approximate differential
properties at point v as spatial average
over local mesh neighborhood N(v) where
typically
● v = mesh vertex
● Nk(v) = k-ring neighborhood
3/8/2018 Roi Poranne 102
#
Discrete Laplace-Beltrami
3/8/2018 Roi Poranne 103
vi
vj
#
Discrete Laplace-Beltrami
Uniform discretization: L(v) or ∆v
Depends only on connectivity
= simple and efficient
Bad approximation for
irregular triangulations
3/8/2018 Roi Poranne
vi
vj
104
#
Discrete Laplace-Beltrami
Intuition for uniform discretization
3/8/2018 Roi Poranne 105
#
Discrete Laplace-Beltrami
Intuition for uniform discretization
3/8/2018 Roi Poranne
vi vi+1
vi-1
106
#
Discrete Laplace-Beltrami
Intuition for uniform discretization
3/8/2018 Roi Poranne
vi
vj1 vj2
vj3
vj4vj5
vj6
107
#
Discrete Laplace-Beltrami
Cotangent formula
3/8/2018 Roi Poranne
Aivi
vi
vj vj
ij
ij
vi
vj
108
#
Discrete Laplace-Beltrami
Cotangent formula
Accounts for mesh
geometry
Potentially negative/
infinite weights
3/8/2018 Roi Poranne 109
#
Discrete Laplace-Beltrami
Cotangent formula
Can be derived using linear Finite Elements
Nice property: gives zero for planar 1-rings!
3/8/2018 Roi Poranne 110
#
Discrete Laplace-Beltrami
● Uniform Laplacian Lu(vi)
● Cotangent Laplacian Lc(vi)
● Normal
3/8/2018 Roi Poranne
vi
vj
111
#
Discrete Laplace-Beltrami
● Uniform Laplacian Lu(vi)
● Cotangent Laplacian Lc(vi)
● Normal
● For nearly equal edgelengthsUniform ≈ Cotangent
3/8/2018 Roi Poranne
vi
vj
112
#
Discrete Laplace-Beltrami
● Uniform Laplacian Lu(vi)
● Cotangent Laplacian Lc(vi)
● Normal
● For nearly equal edgelengthsUniform ≈ Cotangent
3/8/2018 Roi Poranne
vi
vj
Cotan Laplacian allows computing discrete normal
113
#
Discrete Curvatures
Mean curvature
Gaussian curvature
Principal curvatures
3/8/2018 Roi Poranne
Ai
j
114
#
Discrete Gauss-Bonnet Theorem
Total Gaussian curvature is fixed for a given
topology
3/8/2018 Roi Poranne 115
#
Discrete Gauss-Bonnet Theorem
Total Gaussian curvature is fixed for a given
topology
3/8/2018 Roi Poranne 116
#
Discrete Gauss-Bonnet Theorem
Total Gaussian curvature is fixed for a given
topology
3/8/2018 Roi Poranne 117
#
Example: Discrete Mean Curvature
3/8/2018 Roi Poranne 118
#
Links and Literature
● M. Meyer, M. Desbrun, P. Schroeder, A. Barr
Discrete Differential-Geometry Operators for
Triangulated 2-Manifolds, VisMath, 2002
3/8/2018 Roi Poranne 119
#
Links and Literature
● libigl implements many
discrete differential
operators
● See the tutorial! ● http://libigl.github.io/libigl/tut
orial/tutorial.html
3/8/2018 Roi Poranne
principal directions
120
Thank You
3/8/2018