I have been working on a taxonomy of space-filling curves in the square and triangular lattices. I came across Adam Goucher’s blog: Complex Projective 4-Space. I asked Adam what he thought of my proposed fractal curve families and he told me that I should study the Gaussian and Eisenstein integers. The image below shows Gaussian integers (red dots) and Eisenstein integers (blue dots).
So cool! Adam pointed me to a whole new world of discovery that I am still unraveling and unfolding to this day.
I will not get into the details of Gaussian and Eisenstein integers here, except to say that they are sets of complex numbers occupying square and triangular lattices respectively. (You can click on the links provided and follow the search to any level of detail you wish).
They can be seen as two-dimensional versions of the one-dimensional number line of integers that we are all so familiar with.
Like their familiar one-dimensional counterpart, the Gaussian and Eisenstein integers form an integral domain: the rules of addition and multiplication apply, and these operations always result in a new number which is within the domain. Gaussian and Eisenstein integers have their own unique prime number and composite number personalities – which make for a fascinating study – including how they relate to families of plane-filling curves.
The Koch Curve and it’s Squarish cousin occupy triangular and square grids, respectively. And each has a “spine” that traverses exactly three units.
In these two lattices, all distances of grid points from the origin (0+0i) are square roots of integers (Euclidian norm).
Squaring the Euclidian norm gives us the field norm , the integer that we use to denote the fractal family. It is either prime or composite.
Here are some examples of plane-filling curves that occupy the square lattice:
Example 1 (also discovered by Carbajo)
Example 2 (Mandelbrot’s “Quartet”)
Example 3: (a Root 13 self-avoiding curve)
And here are some examples of plane-filling curves that occur in the triangular lattice:
Example 4: (a curve I discovered)
Example 5: (a member of the Root 7 family)
Example 6: (a member of the triangle Root 9 family)
Check out the generators of these curves (shown at the left of each diagram). You may have noticed that some of them consist of line segments of differing lengths. These represent members of composite fractal families: their spines traverse a distance that is equal to the square root of a composite number in the domain. (Examples 1, 4, and 6 are composite).
The members of “prime” families (examples 2, 3, and 5 above) can only have segments of length 1. Consequently, as they are iterated to create higher-level teragons, with more fractal detail, the texture becomes more even and smooth. The composite curves – on the other hand – have varying density within their flesh, which increases in variety as they are iterated.
This is awesome: it’s another way to show the recursive complexity of composite numbers. And if you ask me (and Greg Chaitin), the composite numbers are way more interesting than the primes!
Here’s a plane-filling curve of the root-8 family. Since 8 = 2^3, this family contains interesting variants of the famous dragon curve, which is a member of the root 2 family. This example has the corners rounded for aesthetics. It shows some of the variation in scale within its flesh.