From time to time, people ask me about visualizing knots in Maple. There's no formal "Knot Theory" package in Maple per se, but it is certainly possible to generate many different knots using a couple of simple commands. The following shows various examples of knots visualized using the plots:-tubeplot and algcurves:-plot_knot commands.

__Unknot__

The unknot can be defined by the following parametric equations:

*x=sin(t)*

*y=cos(t)*

*z=0*

plots:-tubeplot([cos(t),sin(t),0,t=0..2*Pi],

radius=0.2, axes=none, color="Blue", orientation=[60,60], scaling=constrained, style=surfacecontour);

__The Trefoil Knot__

The trefoil knot can be defined by the following parametric equations:

*x = sin(t) + 2*sin(2*t)*

*y = cos(t) + 2*sin(2*t)*

*z = sin(3*t)*

plots:-tubeplot([sin(t)+2*sin(2*t),cos(t)-2*cos(2*t),-sin(3*t), t= 0..2*Pi],

radius=0.2, axes=none, color="Green", orientation=[90,0], style=surface);

__The Figure-Eight Knot__

The figure-eight can be defined by the following parametric equations:

*x = (2 + cos(2*t)) * cos(3*t)*

*y = (2 + cos(2*t)) * sin(3*t)*

*z = sin(4*t)*

plots:-tubeplot([(2+cos(2*t))*cos(3*t),(2+cos(2*t))*sin(3*t),sin(4*t),t=0..2*Pi],

numpoints=100, radius=0.1, axes=none, color="Red", orientation=[75,30,0], style=surface);

__The Lissajous Knot__

The Lissajous knot can be defined by the following parametric equations:

Where n[x], n[y], and n[z] are integers and the phase shifts phi[x], phi[y], and phi[z] are any real numbers.

The 8 21 knot ( n[x] = 3, n[y] = 4, and n[z] = 7) appears as follows:

plots:-tubeplot([cos(3*t+Pi/2),cos(4*t+Pi/2),cos(7*t),t=0..2*Pi],

radius=0.05, axes=none, color="Brown", orientation=[90,0,0], style=surface);

__Star Knot__

A star knot can be defined by using the following polynomial:

f := -x^5+y^2

algcurves:-plot_knot(f,x,y,epsilon=0.7,

radius=0.25, tubepoints=10, axes=none, color="Orange", orientation=[60,0], style=surfacecontour);

__Two different projections of the same polynomial__

By switching x and y, different visualizations can be generated:

g:=(y^3-x^7)*(y^2-x^5)+y^3;

plots:-display(<

algcurves:-plot_knot(g,y,x, epsilon=0.8, radius=0.1, axes=none, color="CornflowerBlue", orientation=[75,30,0])|

algcurves:-plot_knot(g,x,y, epsilon=0.8, radius=0.1, axes=none, color="OrangeRed", orientation=[75,0,0])>);

__More examples__

f:=(y^3-x^7)*(y^2-x^5);

algcurves:-plot_knot(f,x,y,

epsilon=0.8, radius=0.1, axes=none, orientation=[35,0,0]);

h:=(y^3-x^7)*(y^3-x^7+100*x^13)*(y^3-x^7-100*x^13);

algcurves:-plot_knot(h,x,y,

epsilon=0.8, numpoints=400, radius=0.03, axes=none, color=["Blue","Red","Green"], orientation=[60,0,0]);

Please feel free to add more of your favourite knot visualizations in the comments below!

You can interact with the examples or download a copy of these examples from the MapleCloud here: https://maple.cloud/app/5654426890010624/Examples+of+Knots