At some point, perhaps in grade school, most people encounter the Mobius band: a simple shape made from a rectangular strip of paper by giving one end a half-twist before looping it around and gluing it to the other. The resulting surface has many interesting properties, both aesthetic and mathematical. Perhaps the most famous artistic image of it is from MC Escher:
Last September I was contacted by someone interested in 3D printing a steel Mobius band. I said “no problem” and within a few minutes had written down an explicit parameterization (set of equations) and had one modeled. When I sent this to the client, he was unhappy. The band I had modeled was mathematically a Mobius band, but not the one you’d get if you made it out of paper. It was stretched in various places, which paper just won’t do without tearing. Here’s an image of the one I made, with the image of a gum wrapper added to it so you can see the stretching.
Once I understood the problem, I realized just how non-trivial it is. In fact, after asking lots of mathematicians, I now believe that it’s unknown how to explicitly find a parameterization for a Mobius band that you’d get from a strip of paper. Here’s a more general problem: Given a 3D curve in space, what shape would a rectangular strip of paper take on if it was bent so the line down its center followed the curve? (For the mathematicians: obvious conditions, such as having Gaussian curvature zero, or being a ruled surface, are not sufficient.)
To satisfy the client, I just virtually “hand”-modeled something that looked close to photos of a paper model. Here was the resulting piece, 3D printed in steel by Shapeways.
I didn’t think much more about this problem until about a month ago, when I was contacted by an artist who wanted to 3D-print various surfaces with a uniform grid of holes, to sew beads on. I realized immediately that the uniformity of the grid forced the kinds of surfaces she was interested to be those that could be made by bending a rectangular strip of paper!
This time I had more tools at my disposal. I’m now much more familiar with Kangaroo, a program for simulating objects endowed with physical properties. Kangaroo is a freely available extension of Grasshopper, a plug-in for Rhino 3D. (Rhino is a popular CAD package used primarily by architects, jewelry designers, artists and many of those mathematicians I know who do any 3D modeling.)
The way one works with Kangaroo is to define a set of geometric objects, and assign various forces to them. Those forces can be internal (e.g. turning line segments of the model into springs) or external (e.g. simulated gravity). After some internet searching I knew Kangaroo could be useful for the paper bending problem. Back in 2011 Marten Nettelbladt posted some videos with similar Kangaroo experiments. In particular, in this video he sets the positions of each end of the strip in space, and the program finds the position of the rest of it. However, he doesn’t post his GH script there, and I was a little stuck figuring it out on my own (it turned out that was because I was trying to do it with Kangaroo2, when its much easier with the older Kangaroo.)
I then came across this discussion in the Grasshopper forum in which Daniel Gonzales Abalde shares a script that is very similar to what I was looking for. In that script he simulates the drooping of a sheet of paper with user-determined corner points. The key to making it work is the following:
- Triangulate the “paper” surface with a triangular grid of (roughly) equilateral triangles.
- For each internal edge, apply a relatively weak “hinge force” to keep the adjacent triangles in roughly the same plane. This is what makes the extrinsic geometry similar to physical paper.
- Apply a strong spring force along each edge of the triangulation, with each spring having equal rest-length, to preserve the intrinsic geometry of the object.
The first step turned out to be the hardest, since there was no uniform triangular grid component in Grasshopper, or any of the zillions of plug-ins I have installed. But Gonzales’ post had some hints how to do this, and soon I was able to define such grids on cylinders and Mobius bands.
My first test was to try it out on a surface where I definitely knew the answer. The idea was to begin with a planar annulus (washer-shaped surface) and apply Kangaroo forces that would turn it in to something one could make from a rectangular strip of paper. If it worked, I knew I’d end up with a round cylinder. Once again, the graphic that is imprinted on the surface is there so you can see the internal distortion (stretching) of the surface initially, and how that distortion goes away in the final conformation.
When I was sure it worked, I moved on to the Mobius Band. The final frame in this video is precisely the Mobius band shape I had been after since last September: its the shape of a Mobius band made from a rectangular strip of paper.
Next, for fun, it only took a few seconds to change the initial definition of my object so that the Mobius band was made with three half-twists, instead of one (technically, its a Mobius band if it is made with any odd number of half-twists.) The resulting surface was precisely one of the ones the bead artist I’ve been working with was interested in.
You’ll notice in this video that the surface passes through itself before settling down on a stable configuration. While it’s possible to set up Kangaroo objects that avoid self-intersection, I didn’t bother. That actually led to an interesting experiment. In this final video I tried to find a paper-configuration of the 5-twisted Mobius band, but it just passed through itself and ended up identical to the singly-twisted band. While that’s not the effect I wanted, I still think it’s interesting to watch.
For those interested, here’s what the GH script looks like. Once I understood how to do it, most of the work went in to the cluster on the left, where I set up a Mobius band with a triangular mesh. The script itself is posted here.
Finally, since my book is still very new, I can’t resist ending this post without some gratuitous advertising with this graphic provided by my publisher…