Torus knots on tori

A white donut shaped surface with a groove on the surface following a smooth curve

The T(3,2) torus knot shown on the torus.

My summer research student Kyle Patterson was interested in printing torus knots together with the tori that they lie on. Recall that torus knots are knots (and links) that can be moved so that they are embedded on a torus (or doughnut shape surface). Kyle constructed torus knots and links using the techniques described in this earlier blog post and this post too.

grey closed curved tube against a black background

T(3,2) torus knot with out the torus.

If we focus our attention on the T(3,2) torus knot, then this knot winds 3 times along the long way and 2 times along the short way around the torus. This knot has the following parametrization: \[ x(t)=\cos(3t)(3+\cos(2t)), \ y(t)= \sin(3t)(3+\cos(2t)), \ z(t) = \sin(2t)\] for t in [0,2π]. We note that the torus this knot lies on is defined by two circles.  We take a large/ring circle of radius 3 (given by equations x2+y2=9, z=0). We make each point of the ring circle the center of a small/pipe circle of radius 1 so that the plane of the pipe circle is perpendicular to the plane of the ring circle.  To construct this torus in Cinema 4D, simply add the Torus shape, then go to the Attributes menu and set the Ring Radius to 3cm and the Pipe Radius to 1cm. In order to have a smooth looking torus we need to change the number of Ring Segments to 150 and the number of Pipe Segments to 50.

grey donut shape with a groove cut into it along a curve against a black background

The torus minus the T(3,2) torus knot.

To finish the construction we used the Boole tool in two different ways. First, we took the union of the knot and the torus to create a new surface which reveals the knot lying on the torus. Second, we took the difference of the torus and the knot. This created a torus surface with a smooth groove in the surface following the path of the knot.

We now have three different kinds of files that can be printed. We could print the knot, the torus with the knot, and a torus with a smooth groove following the knot.  We printed the torus with the smooth groove following the T(3,2) torus knot. We also created a 3D print where the knot is one color and the torus is a different color. To do this we use the torus with groove file and the knot file and the Ultimaker5 3D printer in the IQ center at WLU.

We repeated this construction for the T(2,3), T(3,3) and T(3,6) torus knots and links.

White doughnut shape with a red smooth curve on the surface against a brown background

A red T(3,2) torus knot on a white torus.

 

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.

 

 

Constructing more equilateral stick knots

A polygonal knot is a knot that is built from a finite number of straight line segments or edges. Two edges meet at a vertex of the knot. A polygonal knot can thus be described by listing the vertices v1, …, vn. The edges join each pair of vertices: e1 = v1v2, e2 = v2v3, …, en = vnv0. An equilateral stick knot is a polygonal knot where each of the edges has the same length.

A collection of 5 white spiky objects on a brown background.

A collection of 3D printed equilateral stick knots. Top row: 9:29 and 9_36. Bottom row: 8_13, 7_4 and 8_17.

One of the many open problems in knot theory is to find the least number of edges or sticks needed to build a particular knot. This number is referred to the stick number s(K) of a knot K. The stick number of a few of the simplest knots is known. For example: s(unknot)=0, s(trefoil)=6, s(figure 8)=7. There are a number of results giving upper and lower bounds of the stick number in terms of the crossing number of a knot. These inequalities can be combined with physical constructions of a particular knot to prove a given stick number.   In a similar fashion, the equilateral stick number can be found for a knot. This is the least number of equal length sticks needed to build a particular knot. It is an open question as to whether the equilateral and regular stick numbers are the same. In the not too distant past, Eric Rawdon and Rob Scharein (Knot Plot) produced a list of knots through 10 crossings for which they could not match the stick number and equilateral stick numbers.

Intersecting grey line segments on a black background

The 9_36 equilateral stick knot.

Clayton Shonkwiler, and Thomas Eddy have a method which explores the space of equilateral stick knots. They use this method to find realizations of all knots up to 12 crossings. The coordinates of these knots can be found in following GitHub repository: https://github.com/thomaseddy/stick-knot-gen Since these coordinates give explicit constructions for equilateral stick knots, they give an upper bound on the equilateral stick number for the knots in question. The GitHub site also lists knots where the exact equilateral stick number is known.  (This GitHub site also gives references to numerous papers of Clay and his coauthors on both equilateral stick knots on the superbridge index of knots.) This data was used to confirm that all knots through 10 crossings except for 929 have the same stick number and equilateral stick number. This nicely handled the questions raised by Eric and Rob.

At the start of summer I asked Clay if there were any equilateral stick knots that he’d like to see 3D printed. He listed the 936 knot and the 929 knot. The 936 knot has stick number ≤ 10. However the coordinates here are not a minimal stick realization. Instead the realization is the only one he knows that has superbridge number equal to 4. Indeed, this realization proves that the superbridge index of 936 is equal to 4. An image of the completed 3D printable version of the 936 knot is found above. Note that while the thickened tube around the knot has self intersections, the knot itself does not. The self-intersections are a quirk of how close the edges come to each other in that particular realization.

A set of orange line segments on a black background

The polygonal 9_29 knot imported into Cinema4D

The 929 knot realization is a very recent discovery by Clay, Jason Cantarella and Andrew Rechnitzer. They sent me the data for the vertices (which will be eventually become available on arXiv).  The realization is incredibly close to being singular, so it was a real challenge to create a nice 3D print for it. It turns out that this example shows that both the equilateral and regular stick numbers of 929 are equal to 9. Thus this recent work shows that all knots through 10 crossings have the same stick number and equilateral stick number!  The general consensus is that the stick number and equilateral stick number are distinct knot invariants. However, an example illustrating this still needs to be found.

I used the 3D editing program Cinema 4D to create a 3D-printable model of these knots. The method is pretty straightforward. (This is the same technique that was described in a previous post by my Spring term Knot Theory students.)

  1. Download the vertices of the knot into a .txt file
  2. In Cinema 4D open an Empty Spline curve.
  3. Go to Structure Manager and then import the vertices into the spline.
  4. Go into Point Mode, select the Spline Pen.
  5. Join the first and last vertices together.
  6. Adjust the spline.
    1. Scale the model until it is 6-8cm in each dimension
    2. Go to the Object Properties. Make sure the Type is Linear, the Intermediate Points is Uniform and the Number is 50.
  7. Add a circle with radius 0.25cm
  8. Add a Sweep. Make the Circle and the Spline the “children” of the Sweep.
Set of interconnected grey lines on a black background.

The 9_29 knot first attempt.

At this point the model has some real challenges. The image is the exact same knot as displayed above. However, the addition of the tube means the edges of the knot have been extended far beyond their actual length. What is needed is to put in a Chamfer on the vertices. This replaces one vertex, with two vertices on the edges very close to the original vertex. This has the effect of smoothing out the corner. Cinema4D gives the radius of the Chamfer as the radius of an imaginary circle smoothly joining the two edges at the vertex.

blue lines with white dots near the vertices on a black background

The 9_29 knot with trimmed vertices. The Chamfer is too big, so the knot type has changed.

intersecting grey tube segments on a black background

A different view of the trimmed 9_29 knot – the knot type has changed.

I first tried a Chamfer of radius 0.1cm. However this was problematic. The angle between some of the edges of the knot are very close to zero. This means that the Chamfer cuts of a great deal of length of the edges as shown in the figures above. This has the dual effect of both changing the knot type and breaking the equilateral property. I then tried a Chamfer of radius 0.01cm. I also had to increase the number of points on the spline to 100. The end result was still a bit “spiky”. To solve the problem meant that I needed to go back into the Spline and change the Object Properties: the Type became Bezier and the Intermediate points became Adaptive. The final version is found below.

Intersecting grey lines on a black background

The finished 9_29 knot.

My summer research student Timi Patterson also constructed the 74, 813, and 817 knots this summer. We’ve uploaded all of these knots to Thingiverse.

 

 

 

Doubly-ruled surfaces

three blue curved surfaces against a black background

An example of a hyperboloid of one sheet.

Some of the most interesting quadratic surfaces are the doubly-ruled surfaces: the hyperboloid of one sheet (like x2+y2-z2=1)  and the hyperbolic paraboloid (like z=x2-y2). These surfaces have made an appearance in this blog previously when we discussed how to create good 3D printable models of these surfaces.

Two grey curved surfaces with equations on them against a black background.

An example of a hyperbolic paraboloid.

Ruled surfaces have been studied extensively in geometry. Formally, a ruled surface is a surface which is a union of straight lines. The straight lines are called rulings (or the generators) of the surface. An example to think about is a cylinder: this is a union of straight lines, each of which intersects a circle. Just as with the circle and the cylinder, in a general ruled surface there is a curve in space which intersects each of the lines. Thus the surface can easily be parametrized as follows. Let g:(a,b)->R3 be a parametrization of the curve on the surface, let vt be a vector at point g(t) which points in the direction of the line passing through g(t). Then the surface is parametrized by f:(a,b)x(c,d)->R3 defined by f(t,s) = g(t)+svt.

A two sided twisted surface. One side is in blue, the other red.

A helicoid. Image from https://minimalsurfaces.blog/

A nice example of such a surface is the helicoid where lines parallel to the xy-place pass through each point of a helix (for example parametrized by g(t)=(cos(t), sin(t),t)). One possible parametrization of a helicoid is f(t,s) = (s.cos(t), s.sin(t), t).  Ruled surfaces are very familiar to us, if the rulings are all parallel to each other, then the ruled surface is a generalized cylinder. For example, the surface given by y=x2 in R3 is a generalized cylinder parametrized by f(t,s)=(t,t2,s).

Image of a saddle shaped surface with lines on it.

The two rulings on a hyperbolic paraboloid surface.

Now there are surfaces which are doubly-ruled surfaces, meaning that each point of this surface belongs to two distinct lines. In other words, this surface has two distinct rulings. You can use projective geometry to show that this surface, the plane, and the hyperboloic paraboloid are the only surfaces that have this property. Robert Byrant has a nice proof of this fact using differential geometry in a 2012 Math Overflow post

Let us focus our attention on the hyperboloid one sheet given by  x2+y2-z2=1.  To give explicit equations for the two rulings, I will follow the text Elementary Differential Geometry by Andrew Pressley. For every t, we can show the straight line Lt given by \[(x-z)\cos t=(1-y)\sin t, \ \ \  (x+z)\sin t = (1+y)\cos t\] lies on the surface. To see this, multiply the two equations together to get \[(x^2-z^2)\sin t\cos t =(1-y^2)\sin t\cos t.\] in other words x2+y2-z2=1 unless cos(t)=0 or sin(t)=0. If cos(t)=0, then x=-z and y=1, and if sin(t)=0 then x=z and y=-1, and both of these lines lie on the surface. A short computation reveals that for each t,  line Lt contains the point (sin(2t),-cos(2t), 0) and is parallel to the vector (cos(2t), sin(2t), 1). We thus get all lines in one ruling for t in [0,π).

Orange cylindrical shaped surface

One set of rulings on a hyperboloid of one sheet.

We now show that any point on the hyperboloid lies on one of these lines. Take a point (x,y,z) on the surface x2+y2-z2=1. If x does not equal z, then let t be such that cot(t) = (1-y)/(x-z). If x does not equal -z, then let t be such that tan(t) = (1+y)(x+z). In both cases the point is on Lt. The only cases left are the points (0,1,0) and (0,-1,0). But these points lie on the lines Lt when t=π/2 and t=0 respectively.  In addition, we can check that the lines in this ruling do not intersect. Suppose (x,y,z) lies on Lt and Ls and t does not equal s. Then \[(1-y)\tan t  = (1-y)\tan s, \ \ \text{and} \ \ (1+y)\cot t = (1+y)\cot s.\] Assuming the tan and cot functions are not zero or undefined gives both y=1 and y=-1, a contradiction. The case where t=0 and s=π/2 give disjoint lines too: \[ L_0(t) = (t,-1,t) \ \ \text{and} \ \ L_{\pi/2}(s)=(-s,1,s).\]

What is the other ruling? For every t, we can show the straight line Ms given by \[(x-z)\cos s=(1+y)\sin s, \ \ \  (x+z)\sin s = (1-y)\cos s\] lies on the surface. The computations are almost identical, so we omit them. Each point of the surface lies on a line in Ms and the lines in this ruling do not intersect.

Orange colored curvy cylindrical surface

The second set of rulings on a hyperboloid of one sheet.

Another computation shows that if t+s is not a multiple of π, then Lt and Ms intersect in the point \[\left( \frac{\cos(t-s)}{\sin(t+s)}, \frac{\sin(t-s)}{\sin(t+s)}, \frac{\cos(t+s)}{\sin(t+s)} \right).  \]  For each t in [0,π), there is one s in [0,π) such that t+s is a multiple of π, and the lines Lt and Ms do not intersect. Intuitively, the two lines are on opposite sides of the hyperboloid of one sheet.

There are many other interesting observations to be made about these surfaces. For example, any set of three skew lines generates such a surface and the three skew lines lie in one of the rulings. Ian Agol posted a nice proof of this in the same 2012 Math Overflow post.

Hyperboloidal Representation of Torus Knots

Written by Timi Patterson (2024 Summer Research Scholar), added to by Elizabeth Denne.

A polygonall (3,5) torus knot arranged on a hyperboloid of one sheet

A T(3,5) torus knot arranged on two hyperboloids of one sheet.

In his book Knots and Links, Peter Cromwell details a representation of torus knots embedded in a parameterization on the union of two hyperboloids. He provides these instructions in Section 1.5:

Choose an angle θ in [0, π/2] and construct two points: \[ A=(\cos\theta, -\sin\theta, -1), \ \ B=(\cos\theta, \sin\theta, 1).\] The straight line through A and B is defined by \[x=\cos\theta, y=z\sin\theta.\] Rotating this line about the z-axis gives the hyperboloid \[x^2+y^2-z^2\sin^2\theta = \cos^2\theta.\] Let Ht denote the annulus obtained by restricting z between the interval from -1 to 1. The boundary curves of the annulus are unit circles: \[ x^2+y^2=1, \ \ z=\pm 1.\] Take the union of two of these Ht annuli with different values of t=theta. This new surface is topologically a torus.

The (p,q) torus knot with p strictly greater than q (and q greater than or equal 2) can be embedded in one of these “hyperboloidal” tori as follows. Choose t=theta and s=phi such that \[ \frac{q}{p}\cdot \frac{\pi}{2} <\theta < \min\{ \frac{\pi}{2}, \frac{q}{p} \pi\} \ \ \ \text{and} \ \ \ \phi = \frac{q}{p}\pi -\theta  .\]  The knot will lie in the torus which is the union of Ht and Hs.

Now take i in {0, 1, 2, … , 2p}. If i is odd, the vertices of the knot are \[ v_i=( \cos((i-1)\pi\frac{q}{p} + 2\theta), \sin((i-1)\pi\frac{q}{p}+2\theta), 1), \] and if i is even, the vertices of the knot are \[v_i =  (\cos((i\pi\frac{q}{p}), \sin(i\pi\frac{q}{p}), -1) .\]

Black and white image of a knot made of 6 edges.

Polygonal (3,2) torus knot whose edges lie on hyperboloids of one sheet.

Following these instructions for the trefoil knot viewed as a T(3,2) torus knot, with\[ \theta = \frac{2\pi}{5} \ \ \text{and} \ \  \phi = \frac{4\pi}{15},\]

I constructed the following vertices:
x y z
1 -0.8090169944 0.5877852523 1.0
2 -0.5 -0.8660254038 -1.0
3 0.9135454576 0.4067366431 1.0
4 -0.5 0.8660254038 -1.0
5 -0.1045284633 -0.9945218954 1.0
6 1.0 0.0 -1.0
Black and white photo of a 4 stick unknot

One component of the T(4,2) torus link.

I first constructed the T(5,3) torus knot in Cinema 4D, as the vertices were detailed in the book. I did this by creating splines using the vertices created by the functions, and using Cinema 4D’s sweep function to create a model with a thickness. I used the Chamfer tool to smooth out the corners. I then went on to create the trefoil knot, the T(10,8) torus knot, the T(4,2), T(12,3), and T(10,8) torus links all in Cinema 4D with the same technique.

Black and white image of 8 line segments, some connected.

The T(4,2) torus link. Note the two components differ by a 90 degree rotation.

To create the links, I had to separate the functions into the different components. Take for example the T(4,2) torus link. When evaluating the formulas, the q/p reduces to 1/2. To then create the two different components of T(2,1), the first component uses the vertices constructed as described above. To construct the vertices of the second component, simply add π/2 to the inside of the trig function in each component. (For example cos(iπ/2 +π/2) for the first term in the even index vertex.) Therefore, I had two components with these vertices (for theta=3π/8 and phi=π/8).

Component 1:

x y z
1 -0.7071067812 0.7071067812 1.0
2 -1.0 0.0 -1.0
3 0.7071067812 -0.7071067812 1.0
4 1.0 0.0 -1.0

Component 2:

x y z
1 0.7071067812 0.7071067812 1.0
2 0.0 -1.0 -1.0
3 -0.7071067812 -0.7071067812 1.0
4 0.0 1.0 -1.0
black and white image of a large number of intersecting line segments

One version of the T(10,8) torus link.

A black and white image of a series of nested interleaved line segments.

A different version of the T(10,8) torus link.

One thing that I experimented with some when working with the T(10,8) torus link is manipulating the theta value to try and reduce any intersections of the model. I created two different models, one with theta=5π/11, the other with theta=5π/12. They varied a lot with where the self-intersections of the tubes were, but alas both of the tubes did self intersect. That will most likely happen with a lot of torus knots or links with p’s and q’s of closer value, but some self-intersections may be able to be avoided by manipulating the theta value,

White knot on brown background

The T(10,3) torus knot.

White link on brown background

The T(10,8) torus link.

I then went on to print out most of these 3D models. The T(10,3) torus knot and T(10,8) torus link are shown above. It turned turns out that these models are surprisingly difficult to print. Take a look at the models. There is only a small area on the base of each V shape. The edges of the knots have to “grow” from this small base. This means the models are unstable. So even though the angle of the edges is high with respect to the ground, the models still need support. We printed several without supports and had some spectacular failures, as shown below. After the edges of the knots fell over on the print bed, the printer kept going leaving a squiggly mess of filament.  The solution to this problem was to increase the angle for the supports from 43 to 55 degrees.

two distinct white spiky shapes on black platforms

Several of the builds failed as the edges of the knots fell over during 3D printing.