HomeArticlesPhysics & Mechanics

Soap Film: How Surface Tension Solves Plateau's Problem

A soap film stretched across a wire loop settles into the least-area surface possible - the same shape a relaxing Laplace-equation grid converges toward, one averaging sweep at a time.

mysimulator teamUpdated June 2026≈ 7 min read▶ Open the simulation

Why soap films are flat, on average

Dip a wire loop in soap solution and pull it out: the film that spans the loop is not an arbitrary surface, it is the one with the least possible surface area for that boundary. Surface tension makes this happen physically - the film's energy is proportional to its area, and a physical system left alone relaxes toward the configuration of lowest energy - but the same shape is also the answer to a purely geometric question first posed rigorously by Joseph Plateau in the 19th century: Plateau’s problem asks, given a closed boundary curve in space, what is the surface of least area spanning it?

live demo - a height field relaxing toward a minimal surface● LIVE

Zero mean curvature is the local signature

A surface that minimises area subject to a fixed boundary must satisfy, at every interior point, that its mean curvature is exactly zero - the average of its two principal curvatures (the maximum and minimum bending in perpendicular directions) cancels out. This does not mean the surface is flat; it means it curves equally and oppositely in two directions, like a saddle, so any small deformation that pushes the surface one way in one direction is exactly cancelled by the opposite curvature in the perpendicular direction, leaving the area unchanged to first order. Surfaces with this property everywhere are called minimal surfaces, and the soap film is nature's way of finding one for whatever wire boundary you dip.

The height-field approximation and Laplace's equation

For a soap film that can be written as a single-valued height h(x,y) over a flat reference plane - a good approximation when the boundary does not force the film to fold back on itself - the zero-mean-curvature condition simplifies, for small slopes, to Laplace’s equation:

∇²h = ∂²h/∂x² + ∂²h/∂y² = 0

This is exactly the same equation that governs steady-state heat distribution and electrostatic potential in a source-free region - a coincidence of mathematics, not physics, but a useful one: any numerical method built for one Laplace-equation problem transfers directly to the others. The boundary condition is simply the height of the wire loop at every point around its rim; the equation says the interior height at every point must equal the average of its infinitesimally close neighbours, with no local bumps or dips allowed.

Solving it by relaxation

Discretise the height field onto a grid and Laplace's equation becomes remarkably simple to enforce: every interior grid point converges to the average of its four neighbours. Starting from any initial guess (say, a flat sheet at zero height, with the boundary already fixed to the wire loop's shape), repeatedly sweep the grid and replace each interior height with the average of its up/down/left/right neighbours:

for (let iter = 0; iter < N_ITERS; iter++) {
  for (let y = 1; y < H - 1; y++) {
    for (let x = 1; x < W - 1; x++) {
      if (isBoundary(x, y)) continue;
      h[y][x] = 0.25 * (h[y-1][x] + h[y+1][x] + h[y][x-1] + h[y][x+1]);
    }
  }
}

This is Jacobi relaxation, the simplest member of a family of iterative solvers for Laplace's and Poisson's equations. It is slow to converge (the number of sweeps needed grows roughly with the square of the grid width) but trivially parallel and numerically robust, which is why it is the natural choice for an interactive demo redrawing every frame - each frame just runs a fixed, small number of additional sweeps, so the surface visibly relaxes toward the minimal shape over a second or two rather than jumping there instantly.

Isolines and the converging residual

Two views make the relaxation process legible. Isolines (contour lines of constant height) turn the height field into something like a topographic map - on a true minimal surface the contours space out smoothly with no sharp kinks, since a kink would mean locally concentrated curvature the zero-mean-curvature condition forbids. The residual - the average absolute difference between each point's height and its neighbour-average, summed over the whole grid - measures how far the current state is from satisfying Laplace's equation exactly; it starts large for an arbitrary initial guess and decays geometrically toward zero as the relaxation iterates, giving a direct, visible measure of convergence.

Beyond height fields: catenoids, helicoids and true 3D films

The height-field trick only works when the film never overhangs itself. Genuine soap films between more complex wire frames - two parallel rings, for instance - form true 3D minimal surfaces like the catenoid, the surface of revolution of a hyperbolic cosine curve, which cannot be written as a single-valued height function. These require a full parametric or mesh-based minimal-surface solver rather than a simple 2D grid relaxation, but they satisfy the exact same zero-mean-curvature condition locally - the height-field relaxation on this page is the simplest instance of a much larger family of numerical minimal-surface methods used in architecture (tensile roof design), biology (modelling cell membranes) and computer graphics.

Frequently asked questions

Why does a soap film form the shape it does?

Surface tension gives the film potential energy proportional to its surface area, and the film physically relaxes toward the lowest-energy configuration available, which is the minimum-area surface spanning its wire boundary. This is the same shape that answers Plateau's problem, the purely mathematical question of finding the least-area surface for a given boundary curve.

What does zero mean curvature actually mean?

At every point on a minimal surface, the two principal curvatures (how sharply the surface bends in the two perpendicular directions of maximum and minimum bending) are equal and opposite, so their average is zero. The surface still curves - often into a saddle shape - it just curves the same amount in both directions but with opposite sign.

Why does the relaxation simulation take a moment to settle instead of jumping straight to the answer?

Because it uses Jacobi relaxation, an iterative method that only updates each point using its immediate neighbours' current values. Each sweep spreads information one grid cell further, so it takes roughly as many sweeps as the grid is wide for a change at one edge to fully propagate and settle across the whole surface.

Try it live

Everything above runs in your browser — open Soap Film and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Soap Film simulation

What did you find?

Add reproduction steps (optional)