This post will compute the center of curvature for an object described in the previous post. In order to do that we first need to describe principle curvature and Gauss curvature, and we’ll throw in mean curvature while we’re at it.

Let *S* be a surface sitting in three dimensional space. No need for more generality to get where we want to go. At any point *p* on *S* we can draw curves on the *S* through *p* and compute the curvature at *p*. The curvature is the reciprocal of the radius of the kissing circle.

If we draw curves through *p* in every direction, some may have larger or smaller curvature than others. Let *k*_{1} and *k*_{2} be the minimum and maximum curvatures at *p*. These re the **principal curvatures**. The product *k*_{1} *k*_{2} of the principle curvatures is the **Gaussian curvature** and their average ( *k*_{1} + *k*_{2})/2 is the **mean curvature**. Incidentally, when principle curvatures are not equal. the directions in which the curvature is minimized and maximized are orthogonal.

In the previous post I said that the center of curvature for the surface with equation

is finite because the curvature is always positive. In particular, we wanted to know the center of curvature at the bottom, where *x* = *y* = 0 and *z* = −*h*.

The calculation to get there is messy, but the end result is simple: the principle curvatures are equal by symmetry, and both equal 1 − *s*². Therefore the center of curvature is at *z* = 1/(1 − *s*²).

## Calculation details

The following Mathematica code calculates the (signed) curvature of a curve of the form *F*(*x*, *y*) = 0.

k[f_, x_, y_] := (D[f[x, y], y]^2 D[f[x, y], {x, 2}] - 2 D[f[x, y], x] D[f[x, y], y] D[f[x, y], {x, 1}, {y, 1}] + D[f[x, y], x]^2 D[f[x, y], {y, 2}]) / (D[f[x, y], x]^2 + D[f[x, y], y]^2)^(3/2)

Define

g[x_, y_] := x^2 + y^2 - s^2 x^2 y^1 - 1

and replace *y* with *z*/*h*. When we evaluate the curvature at *x* = 0 and simplify

Simplify[k[g, x, y] /. { y -> z/h, x -> 0}, Assumptions -> {h > 0}]

we get

(*h* – *s*² *z*) / |*z*|.

When *z* = −*h* we find that the unsigned curvature is 1 − *s*². In the previous post we assumed *h *> 1, but the calculation above shows that if *h* < 1 it’s possible for the curvature to be 0. (Recall *s* must be between 0 and 1.)