Catenoid, 0^{o} rotation. |
45^{o} rotation. |
Helicoid, 90^{o} rotation. |

A multiply connected surface must be instead treated as its universal covering surface, as the catenoid-helicoid shows. Hence the adjoint of a triply periodic minimal surface will not usually be triply periodic (at least not a non-self-intersecting TPMS). Some pairs are adjoints, though, such as the P and D surfaces.

An important property of the adjoint transformation is that mirror planes transform to embedded two-fold rotation axes, and vice versa. For example, the equator of the catenoid turns into the midline of the helicoid.

A fact useful for generating TPMS shown in these pages is that the adjoint of an unstable fundamental region may be stable. All the free contact lines on the faces of the kaleidoscopic cells transform to fixed straight line boundaries, which are much more stable. However, the lengths of those boundaries are unknown a priori; they must be adjusted to make the surface match up going around a hole. This is the notorious period killing problem of proving a conjectured TPMS exists.

A nifty algorithm for the Bonnet rotation of triangulated minimal surfaces (such as the Surface Evolver produces) was discovered by Pinkall and Polthier. If each triangle is rotated by the Bonnet angle in its own plane, the triangles can be translated to be reassembled so the midpoints of the edges match up again. The edges are not parallel, so the triangle vertices do not quite match up. Thus the algorithm used in adjoint.cmd puts each vertex at the average position of all its images. To see a movie of such a Bonnet rotation on a patch with just a few facets (to better see how the facets wind up "nonconforming"), click here (1.4 MB). To see a movie of a many-thousand facet fundamental region of a Starfish surface, click here (1.6 MB).

My algorithm for computing a TMPS by its adjoint is as follows:

- Set up the adjoint in a datafile with parameters for the adjustable edge lengths. Included is a command that calculates the approximate periods directly in the adjoint.
- Repeatedly evolve and adjust the edge lengths to nearly kill all the periods.
- Transform to the adjoint, replacing with each fixed edge with a constraint plane. Note that unkilled periods mean several parallel planes where there is supposed to be one plane face of the kaleidoscopic cell.
- Use the Evolver's hessian command to get the exact minimal surface. The minimal surface is unstable (usually the index is the same as the number of periods to kill), so ordinary gradient descent evolution doesn't work. But hessian seeks the equilibrium surface, so it works as long as the starting surface is near the equilibrium.
- Gradually move the constraint planes into alignment, using hessian to keep the surface minimal.

Return to Triply Periodic Minimal Surfaces

Susquehanna University assumes no responsibility for the content of this personal website. Please read the disclaimer.