Finding principal curvatures at points on a surface without parametrization

curvaturedifferential-geometry

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

Best Answer

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$.

Related Question