CS 523: Computer Graphics, Spring 2009 Shape Modeling Differential Geometry of Surfaces Andrew Nealen, Rutgers, 2009 3/4/2009
Recap Differential Geometry of Curves Andrew Nealen, Rutgers, 2009 3/4/2009 2
Circle of curvature Consider the circle passing through three points on the curve Andrew Nealen, Rutgers, 2009 3/4/2009 3
Circle of curvature the limiting circle as threepoints come together. Andrew Nealen, Rutgers, 2009 3/4/2009 4
Radius of curvature, r Andrew Nealen, Rutgers, 2009 3/4/2009 5
Radius of curvature, r = 1/κ Curvature κ = 1 r 1/κ Andrew Nealen, Rutgers, 2009 3/4/2009 6
Signed curvature Sense of traversal along curve. +κ κ Andrew Nealen, Rutgers, 2009 3/4/2009 7
Assume t is arc length parameter p ( t ) = κ nˆ( t ) Curvature normal parametric form n(t) ˆ( p(t) p (t) [Kobbelt and Schröder] Andrew Nealen, Rutgers, 2009 3/4/2009 8
Discrete planar curves Piecewise linear curves Not smooth at vertices Can t take derivatives i Generalize notions from the smooth world for the discrete case! Andrew Nealen, Rutgers, 2009 3/4/2009 9
Tangents, normals For any point on the edge, the tangent is simply the unit vector along the edge and the normal is theperpendicular vector Andrew Nealen, Rutgers, 2009 3/4/2009 10
Tangents, normals For vertices, we have many options Andrew Nealen, Rutgers, 2009 3/4/2009 11
Tangents, normals Can choose to average theadjacent edge normals nˆ v = nˆ nˆ e 1 + nˆ + nˆ e 2 e 1 e 2 e 2 e 1 Andrew Nealen, Rutgers, 2009 3/4/2009 12
Tangents, normals Tangents, normals Weight by edge lengths Weight by edge lengths e 2 e 1 ˆ e ˆ e n n + 2 1 2 1 e 2 e 1 e 2 e 1 v ˆ e ˆ e ˆ n n n + = e e 2 e 1 3/4/2009 13 Andrew Nealen, Rutgers, 2009
Curvature normal = length gradient Can use this to dfi define discrete curvature! Andrew Nealen, Rutgers, 2009 3/4/2009 14
Curvature normal = length gradient Andrew Nealen, Rutgers, 2009 3/4/2009 15
Differential Geometry of Surfaces Continuous and Discrete Andrew Nealen, Rutgers, 2009 3/4/2009 16
Motivation Smoothness Mesh smoothing Adaptive tessellation Mesh decimation Shape preserving mesh editing Andrew Nealen, Rutgers, 2009 3/4/2009 17
Surfaces Parametric form Continuous surface x( u, v) p ( u,v ) = y ( u,v ), ( u, v ) R ( ) z u,v Tangent plane at point p(u,v) is spanned by 2 p u v n p v p(u,v) p u = p( u,v) p( u,v), pv = uu vv u Andrew Nealen, Rutgers, 2009 3/4/2009 18
Surfaces Isoparametric lines Lines on the surface when keeping one parameter fixed γ γ u v ( v) = ( u0 0 p, v) ( u) = ( u, v0 ) 0 p v u Andrew Nealen, Rutgers, 2009 3/4/2009 19
Surfaces Surface normal: n n ( u,v ) = p p u u p p v v p u p v p(u,v) Assuming regular parameterization, i.e., v p u p v 0 u Andrew Nealen, Rutgers, 2009 3/4/2009 20
Normal curvature p u n p v n = p p u u p p v v t p Direction t in the tangent plane: t p p u = cos φ + u sin φ p p v v p v / p v ϕ t p u / p u Andrew Nealen, Rutgers, 2009 3/4/2009 21
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: κ(γ(p)) p v / p v ϕ t p u / p u Andrew Nealen, Rutgers, 2009 3/4/2009 22
Surface curvatures Principal curvatures Maximal curvature Minimal curvature Mean curvature Gaussian curvature Andrew Nealen, Rutgers, 2009 3/4/2009 23
Mean curvature Intuition for mean curvature Andrew Nealen, Rutgers, 2009 3/4/2009 24
Surface curvatures Andrew Nealen, Rutgers, 2009 3/4/2009 25
Classification A point p on the surface is called Elliptic, if K > 0 Parabolic, if K =0 Hyperbolic, if K < 0 Umbilical, l if Developable surface K = 0 Andrew Nealen, Rutgers, 2009 3/4/2009 26
Laplace operator Andrew Nealen, Rutgers, 2009 3/4/2009 27
Laplace Beltrami operator Extension of Laplace to functions on manifolds Andrew Nealen, Rutgers, 2009 3/4/2009 28
Laplace Beltrami operator Extension of Laplace to functions on manifolds Andrew Nealen, Rutgers, 2009 3/4/2009 29
Discrete differential operators Assumption: meshes are piecewise linear approximations of smooth surfaces Approach: approximate differential properties at point x as spatial average over local mesh neighborhood N(x) where typically x = mesh vertex N k (x) = k ring neighborhood or local geodesic ball Andrew Nealen, Rutgers, 2009 3/4/2009 30
Discrete Laplace Beltrami Uniform discretization L(v) or v Depends only on connectivity = simple and efficient v i Bad approximation for irregular triangulations Andrew Nealen, Rutgers, 2009 3/4/2009 31 v j
Discrete Laplace Beltrami Intuition for uniform discretization v i-1 v i v i+1 γ H 2π 0 = κθ ( ) dθ ( ) ( ) κ = && γ && γ v v v v = v + v v i 1 i i i+ 1 i 1 i+ 1 2 i Andrew Nealen, Rutgers, 2009 3/4/2009 32
Discrete Laplace Beltrami Intuition for uniform discretization v j1 v j2 v j6 v i v j3 v j5 v j4 H 2π v j1+ v j4 2vi + = κθ ( ) dθ v 2 + v 5 2 v + 0 j j i j3 j6 2 i 6 v + v v = = v j 6 vi = L ( vi ) k = 1 k Andrew Nealen, Rutgers, 2009 3/4/2009 33
Discrete Laplace Beltrami Cotangent formula Andrew Nealen, Rutgers, 2009 3/4/2009 34
Discrete Laplace Beltrami Cotangent formula Problems Potentially oe negative e weights Depends on geometry Andrew Nealen, Rutgers, 2009 3/4/2009 35
Discrete Laplace Beltrami α v i β Laplacian operators Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Mean curvature normal v j A i Andrew Nealen, Rutgers, 2009 3/4/2009 36
Discrete Laplace Beltrami α A i v i β v j Laplacian operators Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Mean curvature normal Cotangent Laplacian = mean curvature normal x vertex area (A i ) For nearly equal edge lengths Uniform Cotangent Andrew Nealen, Rutgers, 2009 3/4/2009 37
Discrete Laplace Beltrami α v i A i β v j Laplacian operators Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Mean curvature normal Cotangent Laplacian = mean curvature normal x vertex area (A i ) For nearly equal edge lengths Uniform Cotangent Andrew Nealen, Rutgers, 2009 3/4/2009 38
Discrete curvatures Mean curvature Gaussian curvature Principal curvatures Andrew Nealen, Rutgers, 2009 3/4/2009 39
Links and literature M. Meyer, M. Desbrun, P. Schroeder, A. Barr Discrete Differential Geometry Operators for Triangulated 2 Manifolds Manifolds, VisMath, 2002 Andrew Nealen, Rutgers, 2009 3/4/2009 40
Links and literature P. Alliez, Estimating Curvature Tensors on Triangle Meshes, Source Code http://wwwsop.inria.fr/geometric a/team/pierre.alliez/d / / emos/curvature/ Andrew Nealen, Rutgers, 2009 3/4/2009 41
Links and literature Grinspun et al.: Computing discrete shape operators on general meshes, Eurographics 2006 Andrew Nealen, Rutgers, 2009 3/4/2009 42