Using a loxodromic transformation to generate form.
It is appropriate that things different in substance, but alike in form, should be put into the same mold, so to speak. When our language is well chosen, it is astonishing to see how all the demonstrations made upon some known fact immediately become applicable to many new facts. Nothing has to be changed, not even the words, since the names are the same in the new cases.
- Henri Poincaré
These notes are an exploration of the mathematics, design, and craft behind a carved wall panel for Yale's Mathematics Department. They record the process of designing the Loxodromic Panel using the mathematics of the complex plane and ask how a loxodromic transformation can become a periodic carved height field.
The aim is to build and design directly using math and to produce an artifact that is beautiful in its own right.
The Problem
The goal of this project is to produce a 3D representation of a loxodromic transformation like the one shown here.
Computed trajectories of the loxodromic flow. The left fixed point repels forward orbits; the right fixed point attracts them.
We don't want to just show invariant curves like in the image above, but rather to express the operation of function application: what does the transformation do?
So, rather than just have ridges where the invariant curves are, the idea is to show regions that follow along the invariant curves but vary their thickness. This produces a series of bulges, and applying the loxodromic transformation carries each bulge to the next one along its curve.
The completed Loxodromic Panel, made for Yale's Mathematics Department.
We'll start by generating the transformation.
The Transformation
A loxodromic Möbius transformation has two fixed points and, in suitable coordinates, acts by a dilation together with a rotation. Here we are interested in transformations for which both the dilation and the rotation are nontrivial.
The transformation we're seeking in the panel plane has two fixed points at ±i. We extend the plane to the Riemann sphere by adjoining a point at infinity, then choose a coordinate in which the fixed points are 0 and ∞. Call the panel coordinate p and the new coordinate z. These are two coordinates on the same sphere, related by
This sends p=−i to z=0 and p=i to z=∞. In the z-coordinate, our transformation is simply
L(z)=γz,γ=1.9eiπ/3.L(z)γ=γz,=1.9eiπ/3.
I chose this value of γ by experimentation. Each application multiplies the distance from the origin by 1.9 and rotates by π/3. In the panel coordinate, the corresponding transformation in the p-plane is M−1∘L∘M.
A natural family of invariant curves consists of logarithmic spirals. Let
λ=Logγ=ln(1.9)+3πi.
For example, the spiral through 1 can be parametrized as
z(u)=euλ,u∈R.
Applying L to a point on this spiral is equivalent to increasing u by 1:
L(z(u))=γeuλ=e(u+1)λ=z(u+1).
The Snakes
One application of the transformation is a translation by 1 in u. To introduce neighboring snakes, we add a second coordinate, v, and move perpendicular to the u-direction in a new plane:
w=u+iv,z(w)=eλw.wz(w)=u+iv,=eλw.
Each horizontal line v=v0 maps to a logarithmic spiral, and increasing u moves along it. To generate the bulges, start with a periodic field in this plane:
The two terms have periods π/4 in v and π/6 in u. These frequencies were an initial visual choice. We will see what happens when the field is carved.
The initial height field in the w=u+iv plane. Rose marks positive height; blue marks negative height.
Before mapping this height field into the z-plane, we need a computational technique for evaluating it on the panel.
Computation
For fabrication, we need heights at the points sampled by the panel mesh. We can start with those points in the panel plane and transform each one into the z-plane, then into the w-plane, where the height is easy to calculate. Here I'm taking extra care to distinguish the variious spaces in which height is calculated. p is the panel coordinate, z is the complex plane where 0 and ∞ are fixed, and w is the rectilinear periodic coordinate. The coordinate relationships are
z=M(p),z=eλw.zz=M(p),=eλw.
To choose one inverse value, we use the principal logarithm, denoted by Log, whose argument lies between −π and π on the slit plane. Then
The same field in the z-plane. Its oscillations crowd toward z=0; the open edge along the negative real axis will matter when we carve it.
We can also view the z-plane as the Riemann sphere by inverse stereographic projection. Here the same scalar height is shown as a small radial displacement of a unit sphere. The displacement is a drawing convention, not another coordinate transformation.
R(z)=1+0.03hZ(z).
On the Riemann sphere, z=0 and z=∞ are the two poles. The open line marks the edges of the coordinate cut, not a feature of the sphere itself.
The height assigned to a point on the panel is therefore
hP(p)=hZ(M(p))=hW(λLog(M(p))).
In the panel's p-plane, the two accumulation points are ±i. The open edge runs along the segment joining them.
Fabrication
To acheive the two tone effect, I laminated a thin black walnut board on top of a lighter maple board. The, using a CNC router to translate the computed values into physical space, I carved the height field into the walnut. The depth of the cut determines how much walnut remains at the surface, and where the cut is deep enough to remove all the walnut, the maple shows through. The plane where the two species meet is where the function hP is zero.
A construction schematic: the front half is carved, while the back remains uncut. Rose represents walnut and blue represents maple; the layer thicknesses are illustrative.
The cutter makes repeated passes, removing material to the computed depth at each position. In the workshop footage, the spiral pattern gradually emerges from the laminated blank.
Three views of the carving process, condensed to nine seconds.
The first carved piece had a visible seam. The bulges on one side did not meet those on the other:
The first piece, before the height field was adjusted to close the seam.
The router had followed the heights it was given. To understand the break, we had to return to the inverse map used to compute those heights.
Patching the Logarithmic Seam
The seam came from the principal logarithm in the inverse map. On the two sides of the negative real axis in the z-plane, its limiting values differ by 2πi. Under w=Logz/λ, this becomes a jump in the coordinates at which we evaluate the height:
Δw=λ2πi.
The inverse Möbius map M−1 carries that cut to the segment between −i and i in the panel plane, exactly where the carving broke. There is no continuous single-valued logarithm on C×, so the logarithm itself cannot be repaired globally. Instead, we can patch the height field across its cut: make this coordinate jump a period of the field. Then both sides give the same height and matching derivatives.
The initial frequencies did not satisfy this condition. Adjusting the two sine frequencies gives us two parameters to fit the logarithm's jump. Introduce nonzero real numbers a and b and set
The condition on the real-coordinate term therefore involves the imaginary part of 1/λ, with a minus sign:
−b24πIm(λ1)Im(λ1)=2πn,=−12bn.
These conditions give a family of possible frequency choices. Taking m=8 and n=−12 gives the choice used for the panel:
a=Re(λ1),b=Im(λ1).ab=Re(λ1),=Im(λ1).
With this choice, 1/λ=a+ib, so crossing from the lower bank to the upper bank changes u by −2πb and v by 2πa. The sine arguments consequently change by 16π and −24π: eight periods of the first sine and minus twelve periods of the second.
The height field therefore joins smoothly across the seam, even though the chosen w-coordinates jump. It defines a smooth, single-valued function on C×=C∖{0}. The oscillations still prevent a continuous extension to the two fixed points, 0 and ∞.
A new Transformation
Now that the seam is closed, we can ask which transformations preserve the resulting pattern. The original multiplier γ corresponds to a translation by 1 in the u-direction. The new sine frequencies have their own periods, so a unit translation need not carry a bulge precisely to the next one. To find that transformation, we must use the actual periods of the height field.
The Symmetries
The symmetries are easiest to see in the w-plane, where the pattern repeats on a rectangular lattice. For our choice of λ, we have a>0 and b<0. The positive periods in the two coordinate directions are
A translation by Pu advances one bulge along a horizontal row. A translation by iPv moves to the corresponding bulge in the neighboring row. Both preserve the entire height field:
More generally, its translation periods are exactly
Λ={rPu+siPv:r,s∈Z}.
The two sine terms depend on independent coordinates, so a translation preserves the field everywhere precisely when each term returns to the same phase. This is why the periods form a rectangular lattice.
From a translation to a loxodromic transformation
Under the exponential map, adding any complex number t to w becomes multiplication in the z-plane:
eλ(w+t)=eλteλw.
If t∈Λ, this multiplication preserves the height field. Indeed, writing z=eλw, we have
The seam calculation makes this identity valid independently of which logarithm we use to recover w. Every other choice differs by an integer multiple of 2πi/λ, which is itself a period.
To move one bulge forward along its snake, take t=Pu. The resulting transformation is
Lu(z)=γuz,γu=eλPu.Lu(z)γu=γuz,=eλPu.
With γ=1.9eiπ/3, these values are
Puγu≈0.363457,≈1.262743e0.380612i.
Thus one step scales distance from the origin by about 1.263 and rotates by about 21.81∘. Each horizontal line still maps to the same logarithmic spiral as before, but we now advance by Pu along that line. The original multiplier determines the spiral family; the height field determines the step that repeats the bulges.
The original map z↦γz advances by 1. Here 1/Pu is not an integer, so that step does not preserve the height field. This is the precise sense in which the finished pattern visualizes a different loxodromic transformation.
Returning to the panel
The corresponding transformation in the panel coordinate is obtained by conjugating with M:
This equation expresses the design goal: applying the transformation carries each bulge to the next bulge along its curve, with the same height at corresponding points. Repeated forward applications approach p=i, while repeated inverse applications approach p=−i. The bulges become progressively smaller in the plane as they approach either fixed point.
The symmetry is a property of the ideal scalar height field. Its graph is preserved by mapping p to Tu(p) and keeping the height coordinate unchanged. This map is not a rigid motion in three-dimensional Euclidean space, and the rectangular crop used for the physical panel is a separate design choice.
The family of multiplication symmetries
Moving along a snake is one symmetry among many. Every lattice period gives a multiplier
γr,s=eλ(rPu+siPv),r,s∈Z.
Here we are considering the Möbius symmetries that fix 0 and ∞ individually, so they have the form z↦qz. Every such symmetry comes from a period of hW, but distinct periods need not give distinct transformations. The exponential map identifies
Consequently, twelve horizontal steps followed by eight vertical steps return to exactly the same point in the z-plane. Integer pairs (r,s) describe the same multiplier precisely when they differ by an integer multiple of (12,8). Quotienting the lattice by this relation gives the group of multiplication symmetries:
In the w-plane, each arrow translates by τ=3Pu+2iPv. Points 0–3 correspond to the four marked bulges in the panel diagram below. After four steps, the displacement is 2πi/λ: point 4 is distinct from point 0 here, but exponentiation sends them to the same z, and hence the same panel point.
Hence hZ(iz)=hZ(z): the field has a fourfold rotational symmetry about the two poles. On the Riemann sphere this is a rotation by 90∘. In the panel plane, call the corresponding order-four Möbius transformation T(p)=M−1(iM(p)).
Near one fixed point, T sends each numbered bulge to the next; the fourth step returns to the start. The arrows show discrete correspondences, not paths of motion or a rigid rotation of the panel.
The source code for these diagrams is public, including the coordinate-space plots, construction schematics, and both symmetry diagrams. The CNC mesh generator is a separate program.
The finished panel. The walnut and maple boundary makes the field visible, and the relief changes how it catches the light.
Special thanks to Yair Minsky for helping me clarify the seam-fixing calculations.