Knots as ribbons

I’ve continued with my project to edit the 3D printed models my Fall 2014 Math 341 Introduction to Topology class made. Recently, I came across two of my favorite pieces. The first is a model that was designed by Emily Jaekle (’16) and is a ribbon version of the (3,5) torus knot.

IMG_4407    IMG_4458

This \((5,3)\) ribbon torus knot was designed entirely in Cinema4D. The curve was created using the Formula tool with parametrization \(x(t)=(2+\cos(5t))\cos(3t), y(t)=(2+\cos(5t))\sin(3t), z(t)=-\sin(5t)\) for \(t\in[-\pi, \pi]\). The trianglulated surface was created by first adding in a small rectangle, then using the SweepNurbs (without caps). The rectangle was also rotated 1800 degrees in the process. The small gap was fixed using the Bridge tool in Edge mode. This ribbon knot was originally printed in blue on the Projet-260 3D Systems printer. Later, I printed it on the FormLabs 1+ printer in black resin. You can find the model here on Thingiverse.

The second model was designed by Cathy Wang (’15) and is a ribbon version of the (3,2) trefoil knot with an amazing color scheme.

IMG_4404The entire model was designed in Cinema4D. The knot was created using the Formula tool with parametrization \(x(t)=(2+\cos(2t))\cos(3t), y(t)=(2+\cos(2t))\sin(3t), z(t)=-\sin(2t)\) for \(t\in[-\pi,\pi]\). The trianglulated surface was created by first adding in a small rectangle, then using the SweepNurbs (without caps). The width and height of the rectangle was adjusted so the band is not a constant size through the knot. The overlapping edges and small gaps were also fixed. Finally, the knot was colored with a beautiful rainbow-gradient. This ribbon knot was originally printed in rainbow colors on the Projet-260 3D Systems printer. Later, I printed it on the FormLabs 1+ printer in black resin. You can find the model here on Thingiverse.

Knots, a Seifert Surface, and an Octopus.

I’ve recently been going back to the 3D printed models my students designed in my Math 341 Introduction to Topology class in Fall 2014. I know so much more now than I did then when I first started on this journey. So, I decided to go back to the designs, check over them, edit them (as necessary), then reprint them and publish them on Thingiverse.

The first two models I looked at where Candace Bethea’s (’15) \(6_2\) knot and Hayley Archer-McClelland’s (’15) three interlocking trefoils. In a previous class using 3D printing, Professor Aaron Abrams contacted the developer of the program Seifert View, and arranged for the computed curves and surfaces to be able to be exported as a file. (This free software normally doesn’t allow you to do this.) We have since found this to be an invaluable tool for 3D printing knots and knots with Seifert surfaces.

IMG_4391     IMG_4384

The \(6_2\) knot was first adjusted in, then exported from SeifertView, and then opened in Cinema4D. The surface of the knot needed fixing due to overlapping polygons. This was fixed by deleting overlapping polygons, then filling in the gaps using the Stitch and Sew tool in Edge mode. The knot was originally printed in orange on the Projet-260 3D Systems printer. Later, I printed it on the FormLabs 1+ printer in clear resin. You can find the model here on Thingiverse.

IMG_4430     IMG_4413

The three interlocking trefoils were designed entirely in Cinema4D. The parametric equations of a trefoil knot are \(x(t)= (2+\cos(3t))\cos(2t), y=(2+\cos(3t))\sin(2t), z=-\sin(3t)\) for \(t\in[-\pi, \pi]\). We first made the curve with the Formula tool for \( t\in[-3.14, 3.14]\). We added a SweepNurb (with no caps) consisting of a circle with radius 0.2 cm around the curve. The choice of \(t\) meant there was a small gap between the ends of the tube. We again sealed this gap using the Stitch and Sew tool in Edge mode. The knots were originally printed in pink, pale green and blue on the Projet-260 3D Systems printer. Later, I printed it on the FormLabs 1+ printer in clear resin. You can find the model here on Thingiverse.

IMG_4427     IMG_4402

Mithra Muthukrishnan (’16) used Seifert View to design a figure-8 knot and its Seifert surface. After tweaking in Seifert View, she exported the surface to Cinema4D. It ended up being a complex design process, since we wanted to color the knot and two sides of the surface with different colors. There, the surface was extruded in both directions creating the two sides of the Seifert surface. Finally, three copies of the surface were made. In one, all the surfaces were deleted leaving the knot. In another the knot and one side of the extrusion was deleted. In the final copy, the knot and the other side of the extrusion was deleted. This left three pieces which could each be given their own color before printing. The knot was colored red/pink, the different sides of the Seifert surface were colored white and yellow. The model was originally printed in color on the Projet-260 3D Systems printer. Later, I printed it on the MakerBot 2x printer in bright white. You can find the model here on Thingiverse.

IMG_4415

The octopus model was designed by DanJoesph Quijada (’15) entirely in Cinema4D. The legs were made using parametric equations like \(x(t) = a\sqrt{2}t, y(t)=0, z(t) = b^2 cos^2(ct)e^{-dt^2}\) for various constants \(a, b, c,\) and \(d\), and bounded time \(t\). These curves were then thickened using a SweepNurbs. To make the octopus head, we first made a box, then extruded parts of the sides to alter the shape, then applied the Subdivision Surface tool to it. Finally we made minor adjustments, such as adding the eyes and changing the dimensions of the octopus to make it look more realistic. The model was originally printed in pink on the Projet-260 3D Systems printer. Later, I printed it on the MakerBot 2x printer in bright white, though I had some trouble with the legs. You can find the model here on Thingiverse.

 

 

 

 

Soap film frame for the Schwarz P surface

In an earlier post on the mathematics of the Schwarz P surface, we saw how minimal surfaces can be understood by viewing them as soap films. The final challenge was to construct a 3D printed soap film frame for the Schwarz P surface for the Taping Shape*  exhibit at the Rueben H. Fleet Science Center.

From the way the Schwarz P surface is constructed, we know the boundaries of the 4-gons lie in the surface. Thus the surface has many straight lines lying in it. There are also many circles (really almost circles) lying in the surface. frame1To construct a soap film frame in Cinema4D, I simply took these lines and circles and thickened them to get the frame. To prevent interior intersections of the tubes, I used the Boole tool (\(A\cup B\)) as I added in the lines and circles. In essence, this takes the “skin” of the two surfaces and ignores what is inside. The last time I used the Boole tool the surface vanished – it was too much for the program to render. However, by deselecting the High Quality option in the Boole options we were able to get the model to appear. I made three sizes of models: 6cmx6cmx6cm,10cmx10cmx10cm, and 15cmx15cmx15cm. I also made these sizes with two different tube diameters: 2.5mm and 3mm.

Printing the model was another question entirely. We had many fails (two shown below) before we figured out how to print the frame.

frame-fail-1    frame-fail-4

In essence, the unsupported parts of the model vibrate when the printer’s extruder is going over them. This leads to the frame being “fuzzy”, and even having visible jumps at some points. The solution was relatively simple. When printing, we selected to have the tubes print as a solid, and we also made sure the entire model had supports. The photo below on the left shows the supports for the uPrint SE print, the one on the right shows the 6cm size 3mm diameter frame printed by the MakerBot 2X replicator.

frame-supports    frame-small2

We found that when we dipped model in soapy water, the soap film gave a lovely approximation of the Schwarz P surface.

frame4The frame has a lot of symmetry too. There are many interesting viewpoints, for example as shown on the right by a 10cm size 2.5mm diameter print by the uPrint SE. You can find the files for the model 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 .)

Other Schwarz P surface prints

In the last post, I described how I designed a 3D printable Schwarz P surface unit for the Taping Shape*  exhibit at the Rueben H. Fleet Science Center. In the process of designing that surface, I made two other approximations of the Schwarz P surface. These did not end up in the exhibit, but making them was interesting.

When I was first looking at the Schwarz P surfaces, I found some great graphics on the web here. Schwarz-triang  I downloaded the .wrl file from there, then edited it in Cinema4D to get one Schwarz P cubical unit. It turns out that this apparently smooth model has an interesting triangulation. (You can select commands in a 3D modeling program to smooth out the edges when it is rendered.) I’m not exactly sure how the folks designed their surface, it is less smooth than my model, but is possibly more mathematically accurate.

As before, I extruded the surface by 5mm and added caps. I found I needed to clean up the rims of the surface, they weren’t level. To do this, I went into Point Mode, then selected the points along the rim. I then used the Set Point Value command (Mesh → Commands → Set Point Value) to set the appropriate \(x\), \(y\), or \(z\) coordinates to be the same. After that, I adjusted some points by hand, and fixed some overlapping polygons near the rim.IMG_4050 (By deleting a vertex or polygon as needed, then using the Close Polygon and Knife tools to fill in and tidy up the shape.) I then added in magnet holes as before. I made both a 6cmx6cmx6cm and 10cmx10cmx10cm size model. The figure above shows a comparison between my mostly smooth model and this version. You can find the files for the model, and instructions on how to place the magnets here on Thingiverse.

It turns out that the Schwarz P surface may be approximated by the level surface \(\cos(x)+\cos(y)+\cos(z)=0\).SchwarzP-Mathematica  I created this surface in Mathematica, then downloaded it as a .wrl file.  I then imported that into Cinema4D. The surface had a very complex triangulation. After playing around for a bit, I worked out that the best thing to do was to optimize the surface once, then extrude the surface 5mm with caps.

 

Unfortunately, the surface needed a lot of editing! Schwarz-trig2As seen on the left, parts of the surface extended outwards and needed removing. I went into Point Mode and simply deleted these pieces. Worse, there were parts of surfaces inside the model as shown below on the left. Many 3D printers won’t print objects with pieces inside like this. I removed these surfaces, by going into Polygon Mode and deleting them. Alas, tiny holes sometimes appeared in the surface afterwards, and needed to be filled. There were also many overlapping  or missing triangles as shown below on the right. I ended up going over the entire surface (inside and out) and fixing these problems. Some printers would have been able to ignore these triangles, others would not. Fixing these surfaces was a labor of love, but worth it in the end.

Schwarz-trig3   Schwarz-trig4

Once all the editing was complete, I added in magnet holes as before. I made both a 6cmx6cmx6cm and 10cmx10cmx10cm size model. I printed these on both the MakerBot 2X and uPrint SE printers, the 6cm size is shown below. You can find the files for the model, and instructions on how to place the magnets, here on Thingiverse.

IMG_4055   Schwarz-trig

*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 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 .)

Joining models with magnets

Part of the design challenge for the models for the Taping Shape* exhibit, was to find a way to join them together. I was inspired by Jason Cantarella’s Decomposition of a Cube Manipulative which uses small magnets to join the pieces together. These magnets are 3mm (diameter) x 3mm (height) cylindrical rare earth magnets.

To make holes for the magnets I made a cylinder of height 6.4mm and radius 1.6mm. I knew I needed to use the Boole tool to create the holes. Most importantly, I had to make sure to that the holes perfectly aligned on different pieces. Cinema 4D has a wonderful Array tool, which I used to create an array of four cylinders centered at the origin. I adjusted the radius of the array until the cylinders were perfectly placed on the pair-of-pants model. The 6.4mm height of the cylinders allowed me to position the models above or below the array, so the height of each hole was precisely 3.2mm.

I then moved the different models (or the array) around the origin to get four holes perfectly placed in each rim of the pair-of-pants, ring and caps models.  The photo below shows the ring system for the pair-of-pants with the cylinder array ready for the Boole tool on the left. The ring on the right is ready to go.pants-ringAfter printing, I found that the magnets fit snugly and would not come out. If you are worried about this, Jason used a little JB Weld epoxy. (He suspects that you could also use superglue.)

Putting the magnets in was nearly impossible. However Jason’s magnet insertion tools were just awesome. They allowed me to seat the magnets into the little holes, and helped me keep track of which end of the magnet went where. I strongly recommend printing the \(+\) and \(–\) magnet insertion tools in different colors to help with this. I put down one tool to check a print, then picked the other one up instead, messing up the placement of the magnets. (I discovered the hard way that the magnets really don’t come out…)

For the pair-of-pants and caps models, I alternated the \(+\) and \(–\) ends of magnets around the rims of the pair-of-pants. I did this in a consistent way, for example the \(+\) was always at the front and back of the pants.  For the rings, the plain ones should be aligned the same alternating way on the top and bottom rims. The ones with plus/minus signs or 90 degrees should have the arrangement rotated by 90 degrees.

The end result? Models which snap together in a satisfying way. The reason for the rings should now be clear. Without them, the models connect in only two possible orientations. With them, the models can be snapped together in four different ways.

 

*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:  http://www.thingiverse.com/thing:1279118 and http://www.thingiverse.com/thing:1298073.

*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 .)

A new challenge

In December, I was contacted by Professor Ricardo Nemirovsky from San Diego State University to design 3D printable surfaces for the  Taping Shape* exhibit at the Rueben H. Fleet Science Center in San Diego, California. The exhibit runs from January 30 through June 12, 2016.

The exhibit contains a structure made out of packing tape with
three interconnected regions: a torus, a topological
equivalent to Schwarz P surface, and a pair-of-pants
surface with the legs twisted. The structure is large enough for visitors to walk and crawl through. There are three “work tables” (one for each region), with materials, suggested activities, poster displays, etc. The 3D printed models will be a part of the work table and displays.

Ricardo requested I make pair-of-pants surfaces with caps that can be joined together in different ways, Schwarz P surfaces that can be joined together, and also a frame that allows the Schwarz P surface to be created as a soap film spanning the frame. The challenge was on!

In the following blog posts, I’ll explain a bit about the math behind the surfaces, and how we figured out how to build and print them.

*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 .)

 

Models have arrived!

IMG_3072Our 3D printed math models have arrived in the W&L Mathematics Department ready for the Fall semester. They are in labeled clear plastic containers right over the biz hub in the math work room, so everyone can easily get to them.

We are looking forward to seeing what people do with them in class this coming semester. In particular, if we get any more requests for builds or rebuilds.

IMG_3073

MathFest 2015

Our summer build team attended the centennial MAA MathFest Conference in Washington DC. We had a wonderful time attending many talks, the exhibits and the evening entertainment. (Some of our favorites included the talks by Erik Demaine, Noam Elkies, and the Cirque de Mathematiques.)

IMG_2917    IMG_2914

Emily and Ryan gave a wonderful (and well attended) talk about their summer work. I spoke about our work in the What Can a Mathematician Do with a 3D printer? session organized by the inspirational Laura Taalman and Ed Aboufadel (below left).  Everyone who brought printed objects got to display them at the front of the room (below right).

IMG_2938    IMG_2927

Laura had her MakerBot mini printing before the session started. A small collection of her models was placed in front of it. Our models were right in front of Jason Cantarella’s 3D printed calculus robot Cy. They were very well received by everyone present.

IMG_2934     IMG_2935

Here are some of the wonderful models by Christopher Hanusa from Queens College CUNY (left), and Lila Roberts from Clayton State University (right).

IMG_2936    IMG_2931

Laura spoke about how she designed and printed the Catalan Wireframe Polyhedra, shown below. We were even lucky enough to each be given one by her! I’ve come away from the session with many good ideas of using 3D printing in the classroom, as well as designing new math models.