Today's knot print is a mosaic projection of 6_1:
Thingiverse link: http://www.thingiverse.com/make:80243
Settings: Printed on a Replicator 2 with .3mm/low and normal support settings.
Technical notes, math flavor: This knot was designed and printed by JMU Student Taylor Meador. The images in her description below are from slides of a Knot Mosaic talk from Lew Ludwig of Denison College.
A mosaic projection of a knot is one that can be constructed as a mosaic using any of the 11 possible mosaic tiles:
We say that a mosaic projection is n-mosaic if it can be enclosed in an nxn square, and that the mosaic number of a knot is the minimum n such that the knot has an n-mosaic projection. The mosaic number for today's knot 6_1 is 5, and our conformation is taken from the figure below right:
Interestingly, as you can see in the figure, in order to realize a 5-mosaic projection of 6_1 we had to use an inefficient projection with seven crossings instead of six. In other words, in order to achieve a minimal mosaic number we had to use a projection with a non-minimal crossing number.
Technical notes, OpenSCAD flavor: Taylor designed this model in OpenSCAD based on kitwallace's minimal stick code by constructing (x,y,z) corner coordinates near the crossings, based on the picture above right. She describes her process as follows:
The code is a list of coordinates interpreted directly from the 2D 6_1 mosaic. We added coordinates one at a time to make a path around the knot. I reinterpreted the 5 x 5 mosaic board as an (x,y) coordinate plane in OpenSCAD, with each mosaic tile edge representing 4 units on the (x,y) plane. I used the z-coordinate to allow the knot to pass over or under itself at the crossings; overcrossings simply remained at level z=1, and undercrossings were adjusted to z=0. For example, traveling across one mosaic tile from left to right while following an undercrossing would result in coordinates that move across, then down, then across, then up, then across:
(x,y,1) --> (x+1,y,1) --> (x+1,y,0) --> (x+3,y,0) --> (x+3,y,1) --> (x+4,y,1).
The a and b parameters in the code allow us to scale the (x,y) plane separately from the z-axis, so that we can better adjust the clearance around and inside the crossings.
No comments:
Post a Comment