A Complete Taxonomy of Plane-filling Curves

I am in the process of completing several years of work in developing a complete taxonomy of plane-filling curves. There are infinitely many plane-filling curves, but most of the ones you are familiar with can be found among the first nine families:


Some of these were introduced in Mandelbrot’s famous book. They are constructed using “edge-replacement” (Mandelbrot called it “Koch construction”).


“Edge-replacement curves” are to be contrasted with “node-replacement curves” such as the Hilbert Curve. (I explain the difference between these two techniques in this article).

Have you ever wondered if there is a relationship between the classic Dragon Curve and Mandelbrot’s Amazing self-avoiding Snowflake Sweep?


Have you ever wondered why some space-filling curves are self-avoiding, while others touch themselves all over? Below is the Gosper Curve and Dragon of Eve (a self-avoiding curve I discovered in the 1980’s):


Both the Dragon of Eve and another curve I discovered (below) each have generators with only three segments. These constitute the simplest generators (in terms of segment count) that afford self-avoiding curves:


Notice that these curves occupy two kinds of lattice: square and triangular (sometimes called “hexagonal lattice”). I mentioned this to Adam Goucher, and asked him if he had any insights abut the special properties of these curves, in terms of how they relate to the lattices that they occupy. He said that these properties can be understood in terms of the Gaussian integers (square lattice) and Eisenstein integers (triangular lattice).

Thank you Adam! What amazing discoveries poured in after thinking of these curves in this way. I have begun to think of a plane-filling curve as an ordered sum of integers (each segment is an integer “added” to the previous segment in the list). The endpoint is an integer in the plane which represents the family for that curve.

Here are just a few of the hundreds of amazing curves I have fished out of the deep sea, in the process of developing this taxonomy. (Some of the self-touching curves have been smoothed-out with splines to reveal the beautiful sweep of its path as it fills the body).



I will be adding more on this subject over the year. Meanwhile, come visit fractalcurves.com.

The Hilbert Curve is Similar to the Peano Sweep

Imagine an upward surge of fluid like this:

smokeAs the dark fluid surges upward, the light-colored fluid around it gets pulled inward, creating a “neck” as shown above at right, and the dark fluid bifurcates at the top. You can compare this shape to the generators for the Hilbert curve and the Peano Sweep. Since these are plane-filling fractal curves, they carry this dance of surging fluids down to smaller and smaller levels, until the fluid regimes are completely mixed. Below are the first few iterations of this mixing.

Hilbert Curve


Peano Sweep

Screen Shot 2015-03-04 at 9.06.50 AM

The Hilbert curve is conveniently self-avoiding: no matter how much the fluids mix, the curve never touches itself. But the Peano Sweep has overlapping segments. This can be alleviated using a technique to separate the overlaps, which makes it topologically similar to the Hilbert curve, in terms of its intricate branching structure.

Screen Shot 2015-03-04 at 9.09.07 AM

This comparison is described in more detail here, and it is illustrated below.

One key difference is that the Hilbert curve is a “node replacement curve” while the Peano Sweep is an “edge-replacement curve”. Edge-replacement curves were used by Mandelbrot in the introduction to fractals in his book. (He referred to this as Koch construction).

Screen Shot 2015-03-04 at 9.09.00 AM

The Hilbert curve and Peano Sweep both conform to a four-square tiling scheme in which the main square is replaced with four smaller squares, and the two bottom ones are rotated inward.

Notice that the Hilbert curve requires connective links at every iteration. This is a required step for node-replacement curves, as shown in this variation of Mandelbrot’s Quartet that I discovered:

Screen Shot 2015-03-06 at 12.38.04 AM

There are many more examples of plane-filling curves that use different tiling schemes, including a series of curves that Peano discovered, using nine inner-squares.


Several people have used plane-filling curves like this to define an image as a squiggly line. Imagine drawing the Mona Lisa with only one line, and the line gets more squiggly when it needs to cover a darker area:

Screen Shot 2015-03-04 at 9.08.14 AM

(the above image is based on the Peano Sweep and it is explained here)

Stay tuned for more adventures with plane-filling curves!