Categories: Mathematics.


Given a curve or surface, its curvature κ\kappa describes how sharply it is bending at a given point. It is defined as the inverse of the radius of curvature RR, which is the radius of the tangent circle that osculates (i.e. best approximates) the curve/surface at that point:

κ=1R\begin{aligned} \kappa = \frac{1}{R} \end{aligned}

Typically, κ\kappa is positive for convex curves/surfaces, and negative for concave ones, although this distinction is somewhat arbitrary. Below, we calculate the curvature in several general cases.

2D height functions

We start with a specialized case: height functions, where one coordinate is a function of the other one (2D) or two (3D). In this case, we can use the calculus of variations to find the curvature.

This approach relies on the fact that a circle has the highest area-perimeter ratio of any 2D shape, and a sphere has the highest volume-surface ratio of any 3D body. By the definition of curvature, these shapes have constant κ\kappa.

We will thus minimize the perimeter/surface while keeping the area/volume fixed, which will give us a shape with constant curvature, and from that we can extrapolate an expression for κ\kappa.

In 2D, for a single-variable height function h(x)h(x), the length of a small segment of the curve is:

dx2+dh2=dx(dxdx)2+(dhdx)2=dx1+hx2\begin{aligned} \sqrt{\dd{x}^2 + \dd{h}^2} = \dd{x} \sqrt{\Big( \dv{x}{x} \Big)^2 + \Big( \dv{h}{x} \Big)^2} = \dd{x} \sqrt{1 + h_x^2} \end{aligned}

Which leads us to define the following Lagrangian L\mathcal{L} describing the “energy cost” of the curve:

L=1+hx2\begin{aligned} \mathcal{L} = \sqrt{1 + h_x^2} \end{aligned}

Furthermore, we demand that the area under the curve (i.e. the “volume”) is constant:

V=x0x1h(x)dx\begin{aligned} V = \int_{x_0}^{x_1} h(x) \dd{x} \end{aligned}

By putting these things together, we arrive at the following energy functional E[h]E[h], where κ\kappa is an ominously-named Lagrange multiplier:

E[h]=(L+κh)dx\begin{aligned} E[h] = \int (\mathcal{L} + \kappa h) \dd{x} \end{aligned}

Minimizing this functional leads to the following Lagrange equation of the first kind:

0=Lhddx(Lhx)+κ\begin{aligned} 0 = \pdv{\mathcal{L}}{h} - \dv{}{x}\Big( \pdv{\mathcal{L}}{h_x} \Big) + \kappa \end{aligned}

We evaluate the terms of this equation to arrive at an expression for the curvature κ\kappa:

κ=hxx(1+hx2)3/2\begin{aligned} \boxed{ \kappa = \frac{h_{xx}}{\big(1 + h_x^2\big)^{3/2}} } \end{aligned}

In this optimization problem, κ\kappa is a constant, but in fact the statement above is valid for variable curvatures too, in which case κ\kappa is a function of xx.

2D in general

We can parametrically describe an arbitrary plane curve as a function of the arc length ss:

(x(s),y(s))whereds2=dx2+dy2\begin{aligned} \big( x(s), y(s) \big) \qquad \mathrm{where} \qquad \dd{s}^2 = \dd{x}^2 + \dd{y}^2 \end{aligned}

If we choose the horizontal xx-axis as a reference, we can furthermore define the elevation angle θ(s)\theta(s) as the angle between the reference and the curve’s tangent vector t^\vu{t}:

t^=(xs(s),ys(s))=(cosθ(s),sinθ(s))\begin{aligned} \vu{t} = \big( x_s(s), y_s(s) \big) = \big( \cos\theta(s), \sin\theta(s) \big) \end{aligned}

Where xs(s)=dx/dsx_s(s) = \idv{x}{s}. The curvature κ\kappa is defined as the ss-derivative of this elevation angle:

κ=dθds=θs(s)\begin{aligned} \kappa = \dv{\theta}{s} = \theta_s(s) \end{aligned}

We have two ways of writing t^\vu{t}: using the derivatives xsx_s and ysy_s, or the elevation angle θ\theta. Now, let us take the ss-derivative of both expressions, and equate them:

(xss,yss)=dt^ds=θs( ⁣ ⁣sinθ,cosθ)=κ( ⁣ ⁣ys,xs)\begin{aligned} \big( x_{ss}, y_{ss} \big) = \dv{\vu{t}}{s} = \theta_s \: \big( \!-\!\sin\theta, \cos\theta \big) = \kappa \big( \!-\!y_s, x_s \big) \end{aligned} xss=κysyss=κxs\begin{aligned} x_{ss} = - \kappa y_s \qquad y_{ss} = \kappa x_s \end{aligned}

We multiply these equation by ysy_s and xsx_s, respectively, and subtract the first from the last:

yssxsxssys=κxs2+κys2\begin{aligned} y_{ss} x_s - x_{ss} y_s = \kappa x_s^2 + \kappa y_s^2 \end{aligned}

Isolating this for κ\kappa and using the fact that xs2+ys2=1x_s^2 + y_s^2 = 1 thanks to ss being the arc length:

κ=yssxsxssysxs2+ys2=yssxsxssys\begin{aligned} \kappa = \frac{y_{ss} x_s - x_{ss} y_s}{x_s^2 + y_s^2} = y_{ss} x_s - x_{ss} y_s \end{aligned}

While this result is correct, we would like to generalize it to cases where the curve is parametrized by some other tt, not necessarily the arc length. Let prime denote the tt-derivative:

xs=xtsxss=xts2+xtssys=ytsyss=yts2+xtss\begin{aligned} x_s = x' t_s \qquad x_{ss} = x'' t_s^2 + x' t_{ss} \\ y_s = y' t_s \qquad \: y_{ss} = y'' t_s^2 + x' t_{ss} \end{aligned}

By inserting these expression into the earlier formula for κ\kappa, we find:

κ=yssxsxssys=xts(yts2+ytss)yts(xts2+xtss)=tstss(xyyx)+ts3(xyyx)=ts3(xyyx)\begin{aligned} \kappa = y_{ss} x_s - x_{ss} y_s &= x' t_s (y'' t_s^2 + y' t_{ss}) - y' t_s (x'' t_s^2 + x' t_{ss}) \\ &= t_s t_{ss} (x' y' - y' x') + t_s^3 (x' y'' - y' x'') \\ &= t_s^3 (x' y'' - y' x'') \end{aligned}

Since xs2+ys2=1x_s^2 + y_s^2 = 1, we know that (x)2+(y)2=1/ts2(x')^2 + (y')^2 = 1 / t_s^2, which leads us to the following general expression for the curvature κ\kappa of a plane curve:

κ=yxxy((x)2+(y)2)3/2\begin{aligned} \boxed{ \kappa = \frac{y'' x' - x'' y'}{\big((x')^2 + (y')^2\big)^{3/2}} } \end{aligned}

If the curve happens to be a height function, i.e. y(x)y(x), then x=1x' = 1 and x=0x'' = 0, and we arrive at our previous result again.

3D height functions

The generalization to a 3D height function h(x,y)h(x, y) is straightforward: the cost of an infinitesimal portion of the surface is as follows, using the same reasoning as before:

L=1+hx2+hy2\begin{aligned} \mathcal{L} = \sqrt{1 + h_x^2 + h_y^2} \end{aligned}

Keeping the volume VV constant, we get the following energy functional EE to minimize:

E[h]=(L+λh)dxdy\begin{aligned} E[h] = \iint (\mathcal{L} + \lambda h) \dd{x} \dd{y} \end{aligned}

Which gives us an Euler-Lagrange equation involving the Lagrange multiplier λ\lambda:

0=Lhddx(Lhx)ddy(Lhy)+λ\begin{aligned} 0 = \pdv{\mathcal{L}}{h} - \dv{}{x}\Big( \pdv{\mathcal{L}}{h_x} \Big) - \dv{}{y}\Big( \pdv{\mathcal{L}}{h_y} \Big) + \lambda \end{aligned}

Inserting L\mathcal{L} into this and evaluating all the derivatives yields a result for the (variable) curvature:

λ=κ1+κ2=(1+hy2)hxx2hxhyhxy+(1+hx2)hyy(1+hx2+hy2)3/2\begin{aligned} \boxed{ \lambda = \kappa_1 + \kappa_2 = \frac{(1 + h_y^2) h_{xx} - 2 h_x h_y h_{xy} + (1 + h_x^2) h_{yy}}{\big(1 + h_x^2 + h_y^2\big)^{3/2}} } \end{aligned}

What are κ1\kappa_1 and κ2\kappa_2? Well, the problem in 3D is that the curvature of an osculating circle depends on the orientation of that circle. The principal curvatures κ1\kappa_1 and κ2\kappa_2 are the largest and smallest curvatures at a given point, but finding their values and the corresponding principal directions is not so easy. Fortunately, in practice, we are often only interested in their sum:

λ=κ1+κ2=1R1+1R2\begin{aligned} \lambda = \kappa_1 + \kappa_2 = \frac{1}{R_1} + \frac{1}{R_2} \end{aligned}

These principal radii R1R_1 and R2R_2 are important for e.g. the Young-Laplace law.

3D in general

To find a general expression for the mean curvature of an arbitrary surface, we “cut off” a small part of the surface that we can regard as a height function. We call the “cutting” reference plane (x,y)(x, y), and the surface it describes h(x,y)h(x, y). We then define the unit tangent vectors t^x\vu{t}_x and t^y\vu{t}_y to be parallel to the xx-axis and yy-axis, respectively:

t^x=11+(hx)2[10hx]t^y=11+(hy)2[01hy]\begin{aligned} \vu{t}_x = \frac{1}{\sqrt{1 + (h_x)^2}} \begin{bmatrix} 1 \\ 0 \\ h_x \end{bmatrix} \qquad \vu{t}_y = \frac{1}{\sqrt{1 + (h_y)^2}} \begin{bmatrix} 0 \\ 1 \\ h_y \end{bmatrix} \end{aligned}

Since they were chosen to lie along the axes, these vectors are not necessarily orthogonal, so we need to normalize the resulting normal vector n^\vu{n}:

n^=t^x×t^y=11+(hx)2+(hy)2[hxhy1]\begin{aligned} \vu{n} = \vu{t}_x \cross \vu{t}_y = \frac{1}{\sqrt{1 + (h_x)^2 + (h_y)^2}} \begin{bmatrix} - h_x \\ - h_y \\ 1 \end{bmatrix} \end{aligned}

Let us take a look at the divergence of n^\vu{n}, or to be precise, its projection onto the reference plane (although this distinction is not really important for our purposes):

n^=ddx(hx1+(hx)2+(hy)2)ddy(hy1+(hx)2+(hy)2)\begin{aligned} \nabla \cdot \vu{n} = - \dv{}{x}\bigg( \frac{h_x}{\sqrt{1 + (h_x)^2 + (h_y)^2}} \bigg) - \dv{}{y}\bigg( \frac{h_y}{\sqrt{1 + (h_x)^2 + (h_y)^2}} \bigg) \end{aligned}

Compare this with the expression for λ\lambda we found earlier, with the help of variational calculus:

λ=ddx(Lhx)+ddy(Lhy)=ddx(hx1+(hx)2+(hy)2)+ddy(hy1+(hx)2+(hy)2)\begin{aligned} \lambda &= \dv{}{x}\Big( \pdv{\mathcal{L}}{h_x} \Big) + \dv{}{y}\Big( \pdv{\mathcal{L}}{h_y} \Big) \\ &= \dv{}{x}\bigg( \frac{h_x}{\sqrt{1 + (h_x)^2 + (h_y)^2}} \bigg) + \dv{}{y}\bigg( \frac{h_y}{\sqrt{1 + (h_x)^2 + (h_y)^2}} \bigg) \end{aligned}

The similarity is clearly visible. This leads us to the following general expression:

κ1+κ2=n^\begin{aligned} \boxed{ \kappa_1 + \kappa_2 = - \nabla \cdot \vu{n} } \end{aligned}

A useful property is that the principal directions of curvature are always orthogonal. To show this, consider the most general second-order approximating surface, in polar coordinates:

h(x,y)=12ax2+12by2+cxy=12ar2cos2φ+12br2sin2φ+cr2cosφsinφ\begin{aligned} h(x, y) &= \frac{1}{2} a x^2 + \frac{1}{2} b y^2 + c x y \\ &= \frac{1}{2} a r^2 \cos^2\varphi + \frac{1}{2} b r^2 \sin^2\varphi + c r^2 \cos\varphi \sin\varphi \end{aligned}

Sufficiently close to the extremum, where hxh_x and hyh_y are negligible, the curvature along a certain direction φ\varphi is given by our earlier formula for a 2D height function:

κ(φ)2hr2=acos2φ+bsin2φ+csin(2φ)\begin{aligned} \kappa(\varphi) \approx \pdvn{2}{h}{r} = a \cos^2\varphi + b \sin^2\varphi + c \sin(2 \varphi) \end{aligned}

To find the extremes of κ\kappa, we differentiate with respect to φ\varphi and demand that it is zero:

0=2acosφsinφ+2bsinφcosφ+2ccos(2φ)=asin(2φ)+bsin(2φ)+2ccos(2φ)\begin{aligned} 0 &= - 2 a \cos\varphi \sin\varphi + 2 b \sin\varphi \cos\varphi + 2 c \cos(2 \varphi) \\ &= - a \sin(2 \varphi) + b \sin(2 \varphi) + 2 c \cos(2 \varphi) \end{aligned}

After rearranging this a bit, we arrive at the following transcendental equation:

2cab=sin(2φ)cos(2φ)=tan(2φ)\begin{aligned} \frac{2 c}{a - b} = \frac{\sin(2 \varphi)}{\cos(2 \varphi)} = \tan(2 \varphi) \end{aligned}

Since the tan\tan function is π\pi-periodic, this has two solutions, φ0\varphi_0 and φ0+π/2\varphi_0 + \pi/2, which are clearly orthogonal, hence the principal directions are at an angle of π/2\pi/2.

Finally, it is also worth mentioning that the principal directions always lie in planes containing the normal of the surface.


  1. T. Bohr, Curvature of plane curves and surfaces, 2020, unpublished.
  2. B. Lautrup, Physics of continuous matter: exotic and everyday phenomena in the macroscopic world, 2nd edition, CRC Press.