252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry
Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2
Differential Geometry Motivation Formalize geometric properties of shapes Smoothness Roi Poranne # 3
Differential Geometry Motivation Formalize geometric properties of shapes Smoothness Deformation Roi Poranne # 4
Differential Geometry Motivation Formalize geometric properties of shapes Smoothness Deformation Mappings Roi Poranne # 5
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood Roi Poranne # 6
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point Roi Poranne # 7
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point Roi Poranne # 8
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood continuous 1-1 mapping manifold point Roi Poranne # 9
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point continuous 1-1 mapping non-manifold point Roi Poranne # 10
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point continuous 1-1 mapping non-manifold point x Roi Poranne # 11
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood Roi Poranne # 12
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood continuous 1-1 mapping Roi Poranne # 13
Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood v continuous 1-1 mapping u If a sufficiently smooth mapping can be constructed, we can look at its first and second derivatives Tangents, normals, curvatures, curve angles Distances, topology Roi Poranne # 14
Differential Geometry of Curves
Planar Curves γ t = x t y t, t t 0, t 1 Roi Poranne # 16
Planar Curves γ t = x t y t, t t 0, t 1 Roi Poranne # 17
Planar Curves γ t = x t y t, t t 0, t 1 γ t = t t 2 Roi Poranne # 18
Planar Curves γ t = x t y t, t t 0, t 1 γ t = t t 2 γ t = t2 t 4 Roi Poranne # 19
Arc Length Parameterization Same curve has many parameterizations! Arc-length: equal speed of the parameter along the curve L(γ(t 1 ), γ(t 2 )) = t 1 t 2 Roi Poranne # 20
Secant A line through two points on the curve. Roi Poranne # 21
Secant A line through two points on the curve. Roi Poranne # 22
Secant A line through two points on the curve. Roi Poranne # 23
Tangent A line through two points on the curve. Roi Poranne # 24
Tangent The limit secant as two points come together. Roi Poranne # 25
Secant and Tangent Secant: line through p(p) p(q) Tangent:γ (P) = (x (P), y (P), ) T Roi Poranne # 26
Arc Length Parameterization Same curve has many parameterizations! Arc-length: equal speed of the parameter along the curve L(γ(t 1 ), γ(t 2 )) = t 1 t 2 γ t = 1 Roi Poranne # 27
Arc Length Parameterization Same curve has many parameterizations! Arc-length: equal speed of the parameter along the curve L(γ(t 1 What ), γ(t 2 it )) γ= t t is 1 not t 2 arc length? γ t = 1 Roi Poranne # 28
Arc Length Parameterization Re Curve Reparamterization γ(t) γ(p(t)) p: t 0, t 1 t 0, t 1 p t 0 Arc length reparamterization γ p t = 1 Roi Poranne # 29
Arc Length Parameterization Re Arc length reparamterization γ p t = 1 Let t q t = න Then t0 γ t p t = q 1 t Roi Poranne # 30
Tangent, normal, curvature Osculating circle p Roi Poranne # 31
Curvature Circle through three points on the curve Roi Poranne # 32
Curvature The limit circle as points come together. Roi Poranne # 33
Curvature The limit circle as points come together. Curvature κ = 1 r Roi Poranne # 34
Curving left or right Signed Curvature + Roi Poranne # 35
Gauss map n(t) Point on curve maps to point on unit circle. n t S 1 Roi Poranne # 36
Curvature = change in normal direction Absolute curvature (assuming arc length) via the Gauss map curve Gauss map curve Gauss map Roi Poranne # 37
Curvature Normal Assume t is arc-length parameter p ( t) nˆ( t) nˆ ( t) p(t) p (t) A multiresolution framework for variational subdivision, Kobbelt and Schröder, ACM TOG 17(4), 1998 Roi Poranne # 38
Curvature Normal Assume t is arc-length parameter p ( t) nˆ( t) p(t) nˆ ( t) p (t) The curvature defines the planar curve shape up to rotation and translation! Roi Poranne # 39
Turning Number, k Roi Poranne # 40
Turning Number, k Roi Poranne # 41
Turning Number Theorem +2 2 For a closed curve, the integral of curvature is an integer multiple of 2. +4 0 Roi Poranne # 42
Discrete Planar Curves Roi Poranne # 43
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 # 44
Sampling Connection between discrete and smooth Finite number of vertices each lying on the curve, connected by straight edges. Roi Poranne # 45
The Length of a Discrete Curve Sum of edge lengths p 2 p 3 p 4 p 1 Roi Poranne # 46
The Length of a Continuous Curve limit over a refinement sequence h = max edge length Roi Poranne # 47
Tangents, Normals On edges tangent is the unit vector along edge normal is the perpendicular vector Roi Poranne # 48
Many options Tangents, Normals On vertices Roi Poranne # 49
Many options Tangents, Normals On vertices Average the adjacent edge normals Roi Poranne # 50
Many options Tangents, Normals On vertices Average the adjacent edge normals Weighting by edge lengths Roi Poranne # 51
Many options Tangents, Normals On vertices Average the adjacent edge normals Weighting by edge lengths Roi Poranne # 52
Many options Tangents, Normals On vertices Average the adjacent edge normals Weighting by edge lengths Roi Poranne # 53
Curvature of a Discrete Curve Again: change in normal direction no change along each edge curvature is zero along edges Roi Poranne # 54
Curvature of a Discrete Curve Again: change in normal direction no change along each edge curvature is zero along edges Roi Poranne # 55
Curvature of a Discrete Curve Again: change in normal direction normal changes at vertices record the turning angle! Roi Poranne # 56
Curvature of a Discrete Curve Again: change in normal direction normal changes at vertices record the turning angle! Roi Poranne # 57
Curvature of a Discrete Curve Again: change in normal direction normal changes at vertices record the turning angle! Roi Poranne # 58
Curvature of a Discrete Curve Again: change in normal direction same as the turning angle between the edges Roi Poranne # 59
Curvature of a Discrete Curve Zero along the edges Turning angle at the vertices = the change in normal direction 1 2 1, 2 > 0, 3 < 0 3 Roi Poranne # 60
Total Signed Curvature Sum of turning angles 1 2 3 Roi Poranne # 61
Discrete Gauss Map Edges map to points, vertices map to arcs. Roi Poranne # 62
Discrete Gauss Map Turning number well defined for discrete curves. Roi Poranne # 63
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 # 64
Turning Number Theorem Continuous world Discrete world k: Roi Poranne # 65
Curvature is scale dependent is scale-independent Roi Poranne # 66
Discrete Curvature Integrated Quantity! Cannot view α i as pointwise curvature 1 2 It is integrated curvature over a local area associated with vertex i Roi Poranne # 67
Discrete Curvature Integrated Quantity! Integrated over a local area associated with vertex i A 1 1 2 Roi Poranne # 68
Discrete Curvature Integrated Quantity! Integrated over a local area associated with vertex i 1 2 A 1 A 2 Roi Poranne # 69
Discrete Curvature Integrated Quantity! Integrated over a local area associated with vertex i 1 2 A 1 A 2 The vertex areas A i form a covering of the curve. They are pairwise disjoint (except endpoints). Roi Poranne # 70
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 # 71
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, L 2 ; linear, quadratic) Roi Poranne # 72
Differential Geometry of Surfaces
Surfaces, Parametric Form Continuous surface n p u p v p(u,v) Tangent plane at point p(u,v) is spanned by v These vectors don t have to be orthogonal u Roi Poranne # 74
Isoparametric Lines Lines on the surface when keeping one parameter fixed v u Roi Poranne # 75
Surfaces, Parametric Form Continuous surface n p u p v p(u,v) Tangent plane at point p(u,v) is spanned by v These vectors don t have to be orthogonal u Roi Poranne # 76
Surface Normals Surface normal: n p u p v p(u,v) v u Roi Poranne # 77
Surface Normals Surface normal: n p u p v p(u,v) Regular parameterization v u Roi Poranne # 78
Normal Curvature Roi Poranne # 79
Normal Curvature n p u p v t p t in the tangent plane (if p u and p v are orthogonal): t Tangent plane Roi Poranne # 80
Normal Curvature p u n p v The curve is the intersection of the surface with the plane through n and t. t p Normal curvature: n ( ) = ( (p)) Roi Poranne # 81
Surface Curvatures Principal curvatures Minimal curvature Maximal curvature Mean curvature Gaussian curvature Roi Poranne # 82
Principal Directions Principal directions: tangent vectors corresponding to max and min t 2 t 1 min tangent plane min curvature max curvature Roi Poranne # 83
Principal Directions Principal directions: tangent vectors corresponding to max and min What can we say about the principal directions? t 2 t 1 min tangent plane min curvature max curvature Roi Poranne # 84
Principal Directions Euler s Theorem: Principal directions are orthogonal. Roi Poranne # 85
Principal Directions Roi Poranne # 86
Mean Curvature Roi Poranne # 87
Gaussian Curvature Classification 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 Roi Poranne # 88
Local Surface Shape By Curvatures K > 0, 1 = 2 K = 0 Isotropic: all directions are principal directions spherical (umbilical) planar K > 0 K = 0 K < 0 Anisotropic: 2 distinct principal directions 1 > 0, 2 > 0 2 > 0 1 = 0 2 > 0 1 < 0 elliptic parabolic hyperbolic Roi Poranne # 89
Theorema Egregium Remarkable theorem Roi Poranne # 90
Reminder: Euler-Poincaré Formula For orientable meshes: c = number of connected components g = genus b = number of boundary loops Roi Poranne # 91
Gauss-Bonnet Theorem For a closed surface M: Roi Poranne # 92
Gauss-Bonnet Theorem For a closed surface M: Compare with planar curves: Roi Poranne # 93
Fundamental Forms First fundamental form Roi Poranne # 94
Fundamental Forms I is a generalization of the dot product allows to measure length, angles, area, curvature arc element area element Roi Poranne # 95
Intrinsic Geometry Properties of the surface that only depend on the first fundamental form length angles Gaussian curvature (Theorema Egregium) Roi Poranne # 96
Fundamental Forms First fundamental form Second fundamental form Together, they define a surface (if some compatibility conditions hold) Roi Poranne # 97
Laplace Operator Laplace operator gradient operator 2nd partial derivatives function in Euclidean space divergence operator Roi Poranne # 98
Laplace-Beltrami Operator Extension of Laplace to functions on manifolds Laplace- Beltrami gradient operator function on surface M divergence operator Roi Poranne # 99
Laplace-Beltrami Operator For coordinate functions: p x, y, z = (x, y, z) Laplace- Beltrami gradient operator mean curvature function on surface M divergence operator unit surface normal Roi Poranne # 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 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 N k (v) = k-ring neighborhood Roi Poranne # 102
Discrete Laplace-Beltrami v i v j Roi Poranne # 103
Discrete Laplace-Beltrami Uniform discretization: L(v) or v Depends only on connectivity = simple and efficient v i Bad approximation for irregular triangulations v j Roi Poranne # 104
Discrete Laplace-Beltrami Intuition for uniform discretization Roi Poranne # 105
Discrete Laplace-Beltrami Intuition for uniform discretization v i-1 v i v i+1 Roi Poranne # 106
Discrete Laplace-Beltrami Intuition for uniform discretization v j1 v j2 v j6 v i v j3 v j5 v j4 Roi Poranne # 107
Discrete Laplace-Beltrami Cotangent formula v i v i A i ij v i v j v j v j ij Roi Poranne # 108
Discrete Laplace-Beltrami Cotangent formula Accounts for mesh geometry Potentially negative/ infinite weights Roi Poranne # 109
Discrete Laplace-Beltrami Cotangent formula Can be derived using linear Finite Elements Nice property: gives zero for planar 1-rings! Roi Poranne # 110
Discrete Laplace-Beltrami v i Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Normal v j Roi Poranne # 111
Discrete Laplace-Beltrami v i Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Normal v j For nearly equal edge lengths Uniform Cotangent Roi Poranne # 112
Discrete Laplace-Beltrami v i Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Normal v j For nearly equal edge lengths Uniform Cotangent Cotan Laplacian allows computing discrete normal Roi Poranne # 113
Mean curvature Discrete Curvatures Gaussian curvature A i j Principal curvatures Roi Poranne # 114
Discrete Gauss-Bonnet Theorem Total Gaussian curvature is fixed for a given topology Roi Poranne # 115
Discrete Gauss-Bonnet Theorem Total Gaussian curvature is fixed for a given topology Roi Poranne # 116
Discrete Gauss-Bonnet Theorem Total Gaussian curvature is fixed for a given topology Roi Poranne # 117
Example: Discrete Mean Curvature Roi Poranne # 118
Links and Literature M. Meyer, M. Desbrun, P. Schroeder, A. Barr Discrete Differential-Geometry Operators for Triangulated 2-Manifolds, VisMath, 2002 Roi Poranne # 119
Links and Literature libigl implements many discrete differential operators See the tutorial! http://libigl.github.io/libigl/tut orial/tutorial.html principal directions Roi Poranne # 120
Thank You