Parametric Tube Plots
This page describes the plotting in three dimensional space of a tube
around a parametric space curve defined by the parametric equations
x=f(t), y=g(t), z=h(t), where f, g, and h are functions of the parameter t
which ranges over a specified interval. The basic draw command for this
function utilizes either the uncompiled functions or compiled functions
format and uses the curve command to specify
the three functions for the x, y, and z components of the curve. This uses
the same format as that for space curves except that it requires a
specification for the radius of the tube. If the radius of the tube is 0,
then the result is the space curve itself. The general format for
uncompiled functions is:
draw(curve(f(t),g(t),h(t)),t=a..b,tubeRadius==r)
where a..b is the segment defining the interval [a,b] over which the
parameter t ranges, and the tubeRadius is indicated by the variable r.
In this case the functions are not compiled until the draw command is
executed. Here is an example:
In the case of compiled functions, the functions are named and compiled
independently. This is useful if you intend to use the functions often,
or if the functions are long and complex. The following lines show
functions whose parameters are of the type SmallFloat. The functions are
compiled and stored by Axiom when entered.
Once the function is compiled the draw command only needs the names of
the functions to execute. Here is a compiled functions example of a trefoil
knot:
Note that the parameter range does not take the variable name as in the
case of uncompiled functions. It is understood that the indicated range
applies to the parameter of the functions, which in this case is t.
Typically, the radius of the tube should be set between 0 and 1. A radius
of less than 0 results in it's positive counterpart and a radius of greater
than one cause self-intersection.