** Plotting in Maple **

`tubeplot`

Maple also will do parametric plots in 3 dimensions. For the purposes of
this discussion, we will focus on the Maple function `tubeplot`,
which puts a tube around a curve in 3-space.
Since `tubeplot` is part of the external package called `plots`,
we can invoke it with a command such as

plots[tubeplot]([cos(t),sin(t),0,t=0..2*Pi], radius=0.1);

(this draws a tube of radius 0.1 about the unit circle lying in the x-y plane).
Alternatively, we can load the entire `plots` package, which defines a
number of additional routines. After doing that, we need never
identify that `tubeplot` is part of `plots` in the remainder
of this session.

with(plots);
*
[animate, animate3d, changecoords, complexplot, complexplot3d,
conformal, contourplot, contourplot3d, coordplot, coordplot3d,
cylinderplot, densityplot, display, display3d, fieldplot,
fieldplot3d, gradplot, gradplot3d, implicitplot, implicitplot3d,
inequal, listcontplot, listcontplot3d, listdensityplot, listplot,
listplot3d, loglogplot, logplot, matrixplot, odeplot, pareto,
pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d,
polyhedraplot, replot, rootlocus, semilogplot, setoptions,
setoptions3d, spacecurve, sparsematrixplot, sphereplot, surfdata,
textplot, textplot3d, tubeplot]
*

Now let's add a few bumps to the z-coordinate as we travel around the
circle.
tubeplot([cos(t), sin(t), cos(4*t)], t=0..2*Pi, radius=0.1,
scaling=constrained, style=patch, numpoints=100, axes=framed);

We can also have the radius vary with the parameter, and/or have more
than one "tube" at a time. Note that the radius of the "ring of beads" is
sometimes negative... that's not a problem.

tubeplot({[cos(t), sin(t), 0, t=0..2*Pi,radius=.3*cos(4*t)],
[t,-t,arctan(20*t), t=-1.5..1.5,radius=0.1]},
style=patch, axes=none);