The cinquefoil knot 5_1 is one of two 5-crossing knots. The shape we chose for this knot is a lattice conformation, which means that it follows only perpendicular directions in 3-space, with vertices at integer coordinates. In other words, this conformation is obtained by connecting integer-valued coordinates in space with straight lines.
Thingiverse link: http://www.thingiverse.com/make:80077
Settings: Replicator 2 with our usual custom support settings for knots.
Technical notes, math flavor: This knot was made by JMU student Kirill Korsak, who has this to say about lattice knots: The lattice stick number for a knot is the minimal number of line segments required to construct that knot on a cubic lattice. While a stick configuration of a knot can consist of sticks of differing lengths, a lattice configuration is thought of as a collection of sticks of unit length. This means that if a knot on the cubic lattice has an edge that extends from, say, (0,0,0) to (0,0,3), then that length-three edge is considered to be three unit-length sticks lined up from end to end. It generally takes many more line segments to create a minimal lattice knot than to create a minimal stick knot. In fact it was shown in 1992 by Diao that the minimal number of sticks required to build a non-trivial knot on a cubic lattice is 24 (and that all such knots are trefoils), where we saw on Day 269 that the knot 4_1 can be made from just 7 variable-length non-lattice sticks. Today’s 5_1 lattice knot is realized with 34 lattice points and therefore the lattice stick number of 5_1 is at most 34. However, it has not yet been proven that this is the minimal lattice knot configuration for 5_1.
Technical notes, OpenSCAD flavor: Kirill made this lattice knot with a modification of kitwallace’s Mathematical Knots to OpenSCAD code that Greg used on Day 269, using data for the 5_1 lattice configuration obtained from the Minimal knots on cubic lattices page hosted by Andrew Rechnitzer of the University of British Columbia. Here is Kirill’s resulting code:
Paths = [[[2,2,1],[1,2,1],[0,2,1],[0,3,1],[0,4,1],[1,4,1],[1,4,2],[1,4,3], [1,3,3],[1,2,3],[1,1,3],[1,1,2],[1,1,1],[1,1,0],[1,2,0],[1,3,0],[1,3,1], [1,3,2],[0,3,2],[0,4,2],[0,5,2],[1,5,2],[2,5,2],[2,4,2],[2,3,2],[2,2,2], [1,2,2],[0,2,2],[0,1,2],[0,0,2],[1,0,2],[2,0,2],[2,0,1],[2,1,1]]]; // Sides of the tube Sides = 20; // Radius of tube Radius = 0.39; //Scale of knot Scale=20; module knot_path(path,r) { for (i = [0 : 1 : len(path) - 1 ]) { hull() { translate(path[i]) sphere(r); translate(path[(i + 1) % len(path)]) sphere(r); } } }; module knot(paths,r) { for (p = [0 : 1 : len(paths) - 1]) knot_path(paths[p],r); }; $fn=Sides; scale(Scale) knot(Paths, Radius);
Leave a Reply