I have some points in 3D space. I can fit the equation of a surface z = f(x,y) to them either globally or locally. However:

  1. The surface does not pass through the origin
  2. I can't parametrize it.

How can I find principal curvatures at any point on this surface?

I am finding this to be very difficult. All the examples I've seen so far parametrize the surface.

I've tried a "shortcut" method of finding the normal at each point and looking at how much the angle of the normal changes from a point to its neighbor, and estimating arc length ~ distance between the two points. This didn't work too well because the points aren't evenly spaced and I don't have neighbors in all directions around each point.

Online resources point me to the shape operator, which requires the first and second fundamental forms -- which I have no clue how to get from an equation like the one I showed above. I don't have a curvilinear coordinate system - do I have to have one?

Thank you

  • 1
    $\begingroup$ Why can't you parameterize it? If you can write the surface as the graph of a function $z=f(x,y)$ then $f$ is a parameterization. Also, are you are looking for the principal curvatures of a particular fitting surface? The curvatures will depend on the choice of fit. $\endgroup$
    – Kajelad
    Aug 21, 2020 at 1:48
  • $\begingroup$ Thank you for the response! I'm sorry if this is a silly question, I don't have a background in math -- so if I have, say, a surface of the form x = ax^2 + by^2 + cxy + dy + ex + f -- then how do I go from here to the principal curvatures? $\endgroup$ Aug 21, 2020 at 2:41

1 Answer 1


If surface $M$ defined by the graph of a function $z=f(x,y)$, then the function $(x,y)\mapsto (x,y,f(x,y))$ is a global parameterization $\mathbb{R}^2\to M$. In this parameterization, the shape operator $s$ (w.r.t. the positive $z$ direction) takes a particularly simple form $$ s=\left(I-\frac{\operatorname{grad}f(\operatorname{grad}f)^T}{1+\|\operatorname{grad}f\|^2}\right)\frac{\operatorname{Hess}(f)}{\sqrt{1+\|\operatorname{grad}(f)\|^2}} $$ Where $\operatorname{Hess}(f)$ is the matrix of second partial derivatives of $f$ and $\operatorname{grad}(f)$ is the vector of first partials of $f$. In index notation, this is $$ s^i{}_j=C(\partial_i\partial_j f)-C^3(\partial_i f)(\partial_k f)(\partial_k\partial_j f),\ \ \ \ \ C=[1+\partial_i f\partial_i f]^{-1/2} $$ The principal curvatures of $M$ are the eigenvalues of $s$.

  • $\begingroup$ Thank you for that explanation - exactly what I needed. How does this compare to the quantity "curvature tensor", which is equal to the gradient of the normal vector field? I've seen this quantity referred to as well and don't know the correlation. $\endgroup$ Aug 21, 2020 at 15:27
  • $\begingroup$ The shape operator $s:TM\to TM$ is defined by $sX=-\nabla_XN$, where $X$ is a vector tangent to $M$, and $N$ is the normal vector field. This is one object which one might call the "curvature tensor", but there are others, such as the second fundamental form, Riemann tensor, or the Ricci tensor. In the case of surfaces in $\mathbb{R}^3$, these are all closely related, but contain different information about the surface. $\endgroup$
    – Kajelad
    Aug 21, 2020 at 19:27
  • $\begingroup$ Could you explain a bit more about what the notation means? There are infinite tangent vectors at any point on the surface, correct? So the shape operator takes in one of these tangent vectors and outputs the gradient of the normal vectors along the corresponding direction? I am confused about the physical interpretation of the right side of the equation - could you please explain? Thank you! $\endgroup$ Aug 21, 2020 at 21:44
  • $\begingroup$ The shape operator at a point $p$ is a map $T_pM\to T_pM$, where $T_pM$ is the 2D subspace of vectors tangent to $M$ at $p$. It assigns to each $v\in T_pM$ the negative directional derivative of the normal vector $s_p(v)=-\nabla_v N(p)$, which is also tangent to $M$ at $p$. Roughly speaking $-s_p(\epsilon v)$ gives the infinitesimal displacement of the normal vector after an infinitesimal displacement $\epsilon v$ along $M$ from $p$. $\endgroup$
    – Kajelad
    Aug 22, 2020 at 1:08
  • $\begingroup$ On an unrelated note, the formula that was written was for the $-z$ pointing normal; It's been corrected to be consistent with my choice of $+z$ pointing normal. $\endgroup$
    – Kajelad
    Aug 22, 2020 at 1:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .