Skip to main content
4 of 6
Added indents for code, italicized crucial part, reworded for clarity reference to documentation
Rabbit
  • 713
  • 2
  • 6
  • 17

How to pre or post process KnotData "substrate"

What I'm after might be thought of as operating on the 'rope' that KnotData[] uses. Specifically, I'd like to be able to specify that the knot is to be made of a prism (not the Mma Prism[], which is always triangular) whose cross section could be a not-necessarily-regular n-gon, and could be twisted a la the Moebius strip. Looking at the daunting appearance InputForm[] of KnotData[] convinces me that polygonalization and twisting steps should precede KnotData[] - but how?

Here is InputForm[] structure for several knots (e.g., Torus, Trefoil)

Graphics3D[{{GraphicsComplex[{{-0.53993, -0.00924, 0.16395}, ... ,
                           {-0.50971, 0.00165, 0.07456}}, 
{{{EdgeForm[],
    GraphicsGroup[{Polygon[{{1, 2, 14, 13}, ... , 
                             {8820, 8809, 8821, 8832}}]}]}, {}}}, 
VertexNormals -> {{0.00026, -0.18488, 0.98276}, ...,
                  {0.60404, 0.15619, -0.78149}}]}}, 
{Boxed -> False, PlotRange -> {All, All, All}, PlotRangePadding -> 
{Automatic, Automatic, Automatic}, ViewPoint -> {0, 0.01, 5}}]

Notes: Tube seems to be the default (whether explicitly specified, or not, as in the above). Documentation, i.e., ref/KnotData, shows the use of Sphere to accomplish a similar goal. And, speaking of doc, there seems to be an omission: Below list of Classes omits "Ribbon", "Slice", and "Twist" though all three are included in the "Basic classes of knots" in ref/KnotData. Both "Alternating" and "Nonalternating" are listed as "Basics", though it appears that "Nonalternating" should be with the other Non's in "Negative classes of knots."

KnotData["Classes"]

{"Alternating", "Amphichiral", "Chiral", "Composite", "Hyperbolic", \
"Invertible", "Nonalternating", "Nonhyperbolic", "Noninvertible", \
"Nonsatellite", "Nontorus", "Prime", "Satellite", "Torus"}

Lastly, I obviously haven't gotten the hang of Markdown yet. Much obliged.

Rabbit
  • 713
  • 2
  • 6
  • 17