Curve-shortening flow is the simplest example of a curvature flow. It moves each point on a plane curve \(\gamma\) in the inwards normal direction \(-\nu\) with speed proportional to the signed curvature \(k\) at that point, as described by the equation

$$ \frac{\partial \gamma}{\partial t} = - k \nu.$$

The name "curve-shortening" comes from the fact that the curve is always moving so as to decrease its length as efficiently as possible. The flow is the lowest-dimensional case of the mean curvature flow: for example, the next case deforms surfaces so as to decrease their area efficiently.

For any initial curve that does not intersect itself, the flow will converge to a "round point" in finite time - this is the Gage-Hamilton-Grayson theorem.

New: You can make video recordings of this demonstration by following this link. Only works in Google Chrome (not mobile friendly).

The demonstration on this page scales time by a factor of \(1/\max |k|\) for each curve to avoid numerical errors.

Self-intersecting curves also jump over some cusps that are singularities of the smooth flow - this behaviour is qualitatively (and perhaps quantitatively) the same as that of the weak formulation of the flow.

This applet is open-source - it was developed by me and other contributors, and can be freely modified and redistributed by anyone. Check out the source code at GitHub.