Constructing a Schwarz P surface

The challenge: to construct a 3D printed Schwarz P surface piece for the Taping Shape*  exhibit at the Rueben H. Fleet Science Center, which could be joined to others to create a finite part of a Schwarz P surface. I’m not the first to do this,  Ken Brakke has already used his Surface Evolver program to create a beautiful and truly superior Schwarz P surface found on Shapeways.

With limited time before the exhibit, could we create a reasonable approximation of the Schwarz P surface using Cinema4D?Schwarz-smooth-1 We (Dave Pfaff and I) started by finding the minimal surface for a 4-gon with corners at the vertices of a regular octahedron. We then extended the resulting surface by 180 degree rotations about the straight boundary lines. This created a surface, but it was not quite right.  We needed to cheat a bit and make the 4-gon surface closer to a quarter circle in the middle. (The actual Schwarz P surface is not circular there, but is close.)

Schwarz-smooth-3After using the Close Polygon tool on the 4-gon, we used the Subdivide command for the 4-gon, then moved vertices closer to the circle. We subdivided again, moved vertices closer to the circle again and repeated the process. We then rotated 12 copies of the 4-gon unit around various edges to get the figure to the left.

Schwarz-smooth-4We then arranged 6 of these units in space, and added in a cube. We used the Boole command to cut out a cubical Schwarz P unit. I then extruded the surface, and added magnet holes as described previously in this post:

Joining models with magnets

Schwarz-smoothI made two sizes of models: 6cmx6cmx6cm and 10cmx10cmx10cm. We printed the models on the uPrint SE printer. They printed just wonderfully. The one small flaw in the design is that there is a slightly raised line in the place where we moved vertices to the circular arc. However, the model has many strengths: aside from the line it is quite smooth, and you can almost (but not quite) see the 4-gons. Given the time restriction before the exhibition, we decided to leave the model as is.

Schwarz-Bohdan-kids1To the left is some of the Schwarz P surface models printed for the Taping Shape exhibit.

You can find the files for the model, and instructions on how to place the magnets, here on Thingiverse.

*The Taping Shape exhibit is part of the InforMath project funded by the National Science Foundation (DRL-1323587).  (The InforMath Project is a partnership between San Diego State University and several museums at the Balboa Park, including the Rueben H. Fleet Science Center .)

Constructing a pair-of-pants

Constructing a pair-of-pants surface was easy and difficult all at once. I used Cinema 4D to create the surface. I did this by using the Subdivision Surface tool on a cube which I had extensively edited. The photos below show the image before and after I applied the tool.

pants-cube   pants-full

It took a long time to get the cube just right. I took a rectangular prism, then used the Knife tool to slice the top and bottom faces of the cubes. From there, I extruded both the top and the legs. To get the right shape around the middle, I used the Knife tool and the Close Polygon tool extensively. It was quite tricky to find the right shape for the legs, hip and waist of the pants. Roughly speaking, the Subdivision Tool takes midpoints of edges and faces, then moves these to a carefully defined weighted average. There is a nice Numberphile movie where the folks at Pixar explain this here.

pants-extrudeThe next step was to use the Boole Tool with cubes (in a number of different ways) to cut out the pair-of-pants in the middle, and the rounded caps at the ends. I then selected the entire pair-of-pants surface, and used the Extrude Tool with caps to thicken it by 5mm on the inside. I finished the pants by Optimizing (to make sure all the overlapping vertices were taken care of), and by making sure all the normal vectors were pointing outwards (so the surface would print). I repeated these steps for the rounded caps as well. The final objects looked great and printed easily on the MakerBot 2X printer with supports but no raft. You can see small holes for magnets in the rims of the pants. I’ll explain how (and why) I added these in the next post.

pair-pants-capsOnce I had the regular pair-of-pants figured out, I made a “bent” pair-of-pants as well. I simply took the edited cube used to make it, then edited it some more.  pair-pants-ringsI shortened the “waist” area of the pants, and lengthened the “torso” area, before extruding outwards. The dimensions of the “bent torso” square matched those of the squares for the legs. This ensured that the “bent waist” circle would match those of the legs. I also used the Knife and Close Polygon tools to make the bend at the waist less extreme. I then extruded, optimized and checked the normals of the surfaces as before.

IMG_4012Finally, I made a ring system for the models. This was easy to do — I simply took the regular pair-of-pants cube and extruded the legs out some more. Once I applied the Subdivision Surface tool to it, I got a pair-of-pants with extra long legs. I again used the Boole Tool with cubes, to get two rings. These were extruded and finished as before.

These models are currently on display at the Taping Shape* exhibit at the Rueben H. Fleet Science Center in San Diego, California. The pair-of-pants and bent pair-of-pants surfaces can be found on Thingiverse: and

*The Taping shape exhibit is part of the InforMath project funded by the National Science Foundation (DRL-1323587).  (The InforMath Project is a partnership between San Diego State University and several museums at the Balboa Park, including the Rueben H. Fleet Science Center .)