# Differential Geometry

## Presentation on theme: "Differential Geometry"— Presentation transcript:

Differential Geometry
Some figures from Cipolla & Giblin and DeCarlo et al.

Goal Analyze qualitative shape of surface (e.g., convex vs. concave vs. saddle) Understand surface curvatures Approach: parameterize surface, look at derivatives in different directions

Surface Parameterization
Locally smooth, continuous parameterization (u,v)  s(u,v) = [X(u,v), Y(u,v), Z(u,v)]T Consider only on local patches of the surface

Surface Parameterization
Locally smooth, continuous parameterization (u,v)  s(u,v) = [X(u,v), Y(u,v), Z(u,v)]T Consider only on local patches of the surface r defines an “immersed surface” iff Jacobian has rank 2 (otherwise locally looks like a line)

Tangent Planes and Normals
The vectors su and sv define a tangent plane Defined iff su and sv are not parallel Equivalent to saying s is an immersed surface Unit surface normal = normal to tangent plane n sv su

Vectors on Surfaces Consider two vectors w1 and w2 defined at a point p on the surface Basic operation: how to compute dot product? Trivial if vectors defined in terms of (x,y,z) What if defined in terms of (u,v)? That is, In general,

First Fundamental Form
I is called the first fundamental form Symmetric bilinear form on the surface Specific to a particular parameterization Matrix is identity iff su and sv are orthonormal

Curves on Surfaces Consider a curve c(t) = (U(t), V(t))
Velocity along the curve So, I describes how much surface is “stretched” Does not change if surface is “bent” without stretching

Areas on Surfaces For a region on a surface, area is given by
So, sqrt of det of matrix I gives stretch of area

Normal Curves A normal curve is defined by the intersection of a surface and a plane containing the normal

Normal Curvatures Curvature  of a curve is reciprocal of radius of circle that best approximates it Curvature of a normal curve is called a normal or sectional curvature Defined at a point p in a particular direction w

Finding Normal Curvatures
Consider a normal curve c(t) = (U(t), V(t)) n n+dn c(t) r r

Second Fundamental Form
So, need to find component of change in normal in the c’ direction as we move along curve (i.e., in the c’ direction) More generally, can ask about change in normal in direction w1 as we move in direction w2 This is called the second fundamental form II(w1, w2) Also a symmetric bilinear form on the surface

Second Fundamental Form
Note sign convention – this produces positive curvature for convex surfaces with outward-pointing normals

II and Second Derivatives
So II is related to the second derivatives of the surface

Normal Curvatures The normal curvature in the direction w can be written as

Principal Curvatures The normal curvature varies between some minimum and maximum – these are the principal curvatures 1 and 2 These occur in the principal directions d1 and d2 Eigenvalues and eigenvectors of the matrix I-1II 1 and 2 must exist and be real (symmetric matrix) d1 and d2 must be perpendicular to each other

Frénet Frames d1, d2, and n are mutually perpendicular
Natural to define a coordinate system according to these directions – the Frénet frame In this coordinate system, the matrix of II becomes diagonal

Euler’s Formula Working in the Frénet frame,
Euler’s formula for normal curvature  is the angle between w and d1

Computing Curvatures on Meshes
For range images: use (u,v) parameterization of range image, finite differences for derivatives Options for general meshes: Fit a smooth surface, compute analytically Compute normal curvature to neighboring vertices, least squares fit to a quadratic in  Compute normal curvature to neighboring vertices, do SVD (curvatures are some function of singular values)

Gaussian and Mean Curvature
The Gaussian curvature K = 1 2 The mean curvature H = ½ (1 + 2) Equal to the determinant and half the trace, respectively, of the curvature matrix Enable qualitative classification of surfaces

Positive Gaussian Curvature: Elliptic Points
Convex/concave depending on sign of H Tangent plane intersects surface at 1 point

Negative Gaussian Curvature: Hyperbolic Points
Tangent plane intersects surface along 2 curves

Zero Gaussian Curvature: Parabolic Points
Tangent plane intersects surface along 1 curve

Properties of Curvatures
Attached shadows always created along parabolic lines Sign of curvature of image contours (silhouettes) equals sign of Gaussian curvature of surface Inflections of the contour occur at parabolic points on the surface Apparent motion of specular highlights ~ 1/

Using Curvatures for Recognition/Matching
Curvature histograms: compute 1 and 2 throughout surface, create 2D histograms Invariant to translation, rotation Alternative: use 2 / 1 – also invariant to scale Shape index: Curvatures sensitive to noise (2nd derivative…), so sometimes just use sign of curvatures

Using Curvatures for Segmentation
Sharp creases in surface (i.e., where |1|is large) tend to be good places to segment Option #1: look for maxima of curvature in the first principal direction Much like Canny edge detection Nonmaximum suppression, hysteresis thresholding Option #2: optimize for both high curvature and smoothness using graph cuts, snakes, etc.

Using Curvatures for Visualization
Ridge and valley lines often drawn Local maxima and minima of larger (in magnitude) curvature in principal direction Makes interpretation of surfaces easier in some cases Suggestive contours Zeros of normal curvature in projection of view direction into tangent plane Positive derivative of curvature in projected view dir