Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Differential Geometry Some figures from Cipolla & Giblin and DeCarlo et al."— Presentation transcript:

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

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

3 Surface Parameterization Locally smooth, continuous parameterization (u,v)  s (u,v) = [X(u,v), Y(u,v), Z(u,v)] TLocally 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 surfaceConsider only on local patches of the surface

4 Surface Parameterization Locally smooth, continuous parameterization (u,v)  s (u,v) = [X(u,v), Y(u,v), Z(u,v)] TLocally 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 surfaceConsider only on local patches of the surface r defines an “immersed surface” iff Jacobian has rank 2 (otherwise locally looks like a line) r defines an “immersed surface” iff Jacobian has rank 2 (otherwise locally looks like a line)

5 Tangent Planes and Normals The vectors s u and s v define a tangent planeThe vectors s u and s v define a tangent plane Defined iff s u and s v are not parallelDefined iff s u and s v are not parallel – Equivalent to saying s is an immersed surface Unit surface normal = normal to tangent planeUnit surface normal = normal to tangent plane susususu svsvsvsv n

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

7 First Fundamental Form I is called the first fundamental formI is called the first fundamental form – Symmetric bilinear form on the surface – Specific to a particular parameterization – Matrix is identity iff s u and s v are orthonormal

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

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

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

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

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

13 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)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 w 1 as we move in direction w 2More generally, can ask about change in normal in direction w 1 as we move in direction w 2 This is called the second fundamental form II ( w 1, w 2 )This is called the second fundamental form II ( w 1, w 2 ) – Also a symmetric bilinear form on the surface

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

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

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

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

18 Frénet Frames d 1, d 2, and n are mutually perpendicular d 1, d 2, and n are mutually perpendicular Natural to define a coordinate system according to these directions – the Frénet frameNatural to define a coordinate system according to these directions – the Frénet frame In this coordinate system, the matrix of II becomes diagonalIn this coordinate system, the matrix of II becomes diagonal

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

20 Computing Curvatures on Meshes For range images: use (u,v) parameterization of range image, finite differences for derivativesFor range images: use (u,v) parameterization of range image, finite differences for derivatives Options for general meshes: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)

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

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

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

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

25 Properties of Curvatures Attached shadows always created along parabolic linesAttached shadows always created along parabolic lines Sign of curvature of image contours (silhouettes) equals sign of Gaussian curvature of surfaceSign 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/ Apparent motion of specular highlights ~ 1/ 

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

27 Using Curvatures for Segmentation Sharp creases in surface (i.e., where |  1 |is large) tend to be good places to segmentSharp 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 directionOption #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.Option #2: optimize for both high curvature and smoothness using graph cuts, snakes, etc.

28 Using Curvatures for Visualization Ridge and valley lines often drawnRidge 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 contoursSuggestive contours – Zeros of normal curvature in projection of view direction into tangent plane – Positive derivative of curvature in projected view dir


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

Similar presentations


Ads by Google