Torus knots on hyperboloids (part 2)

In the post Hyperboloidal Representation of Torus Knots we gave an explicit construction of T(p,q) torus knots and links where the knots are polygonal and the edges lie on two distinct hyperboloids of one sheet. As the knot is traversed, the edges alternate between lying on the first then the second hyperboloid. Each hyperboloid of one sheet is a doubly ruled surface (as described in the post Doubly ruled surfaces). For each of the hyperboloids the edges of the torus knot lie in one of the rulings.

White curved cylinder shaped surface with line segments on the surface against a brown background

The T(3,5) torus knot lying on two hyperboloids of one sheet.

I wanted to be able to create a 3D-printable model that showed both the T(p,q) knot and the two hyperboloids of one sheet. I used Cinema 4D to do this, and ended up making several attempts to get things just right.

The T(3,5) torus knot was constructed as described in the post Hyperboloidal Representation of Torus Knots. To sum up, the vertices were computed, then the knot was constructed in the standard way.  There are two relatively easy ways to construct the two hyperboloids of one sheet. In the computation for the vertices, we can find an explicit formula for the hyperboloids. We could parametrize a generating hyperbola curve for the hyperboloid, put it into the Formula tool, then use a Lathe tool to rotate the curve around the y-axis. (Remember that in Cinema 4D, the y-axis points up.)
Grey curved cylinder shaped surface on a black background.

The edges of the T(3,5) torus knot lie on these two hyperboloids of one sheet.

Rather than do this, I kept things simple. I added an Empty Spline, opened the Structure Manager, then added in the first three vertices of the T(3,5) torus knot. This created the first two edges of the knot. However, these had the wrong orientation – the vertices were entered for the standard xyz-orientation, not the orientation in Cinema 4D. I thus went into Model mode, and rotated the vertices 90o in the y-direction. I then added a Lathe and moved the Spline under the Lathe. (The reason why this works can be found in the post Doubly ruled surfaces – the formulas explicitly show that you can take one line segment in a ruling and rotate it around the z-axis to create the surface.) At this point the surface had many obvious edges. I went back into the Spline and edited the Object Properties: the Type is Linear, the Intermediate Points is Uniform, the Number is 50. (For some reason Bezier gives a bad looking surface.) I went back into the Lathe and edited the Object Properties. Here I increased the Subdivision to 50.

One of the errors I first made when constructing this surface was to take the coordinates of the vertices of the T(3,5) knot from the 3D printable model. This was a mistake, as the original vertices had been replaced by two nearby vertices for the Chamfer at the corners. This meant the two hyperboloids of one sheet where not correct.

A grey curved cylindrical surface with line segments on it with a black background

The T(3,5) knot on the two hyperboloids of one sheet.

At this point, we can put the object in a better form for 3D printing. One of the adjustments I made was to scale the hyperboloid surface up slightly. When 3D printed, the top and bottom edges of this surface end up each print as one single filament. This can be problematic to print. So increasing the size of the surface slightly gives a bit of wiggle room.  I used the Boole tool (A union B)  to join the hyperboloid surface to the knot. In order to even see the union of these two surfaces, I needed to turn off High Quality in the Object Properties of the Boole. I also created one object from the Boole by going to the Object menu of Objects and then “Current State to Object”. On the new Boole that was created, I selected  “Connect objects + Delete”. I’m not sure these last two steps are entirely necessary. I’ve noticed that the slicing programs for 3D printers are increasingly sophisticated and are able to handle objects that aren’t completely correctly triangulated much more easily than in the past.

Grey curved cylindrical surface with grooves the surface following straight line pattern. Background is black.

The hyperboloid surface without the T(3,5) torus knot.

Finally, I wanted to be able to 3D print the knot in one color and the surface in a different color. I went back into Cinema 4D and created several files. The first was the knot, the second was the surface without the knot. I created this using the Boole tool and the “A subtract B” option. I then printed the surface and the knot on an Ultimaker 5 printer. I had trouble printing this surface as the printer added in unnecessary supports. This is a work in progress! I’ll post an update with a correctly printed knot when we make it happen.