Space Curves and Parametric Surfaces

Arcs of parametric curves in space can be plotted with Maple using the command  spacecurve. For example, to plot the segment of the line  (1-3t, t, 2t+1)  for t between -5  and 10, input

> with(plots);            (you only need to type this command once
                           at the beginning of each Maple session)
> spacecurve([1-3*t,t,2*t+1],t=-5..10);

To draw the coordinate axes, you can either choose "Normal" from the "Axes" menu of the 3D display window, or enter  axes=normal as an option in the  spacecurve command. You may also want to adjust  color and   thickness for a better view. The final command may look like this:

> spacecurve([1-3*t,t,2*t+1],t=-5..10,axes=normal,thickness=3,
  color=black);

You can plot several curves in the same plot. For example, consider a family of lines  (s-3t, st, 2t+s). For each value of  s  we get a different line (the line above corresponds to the value  s=1).  Three of these lines corresponding to s = 0, 1, 2  can be plotted simultaneously by using the command

> spacecurve({[-3*t,0,2*t],[1-3*t,t,2*t+1],[2-3*t,2*t,2*t+2]},
  t=-5..10);

To explore this example further, we can now fix  t  and consider  s  as a parameter. Let us take, for example, t=0, 1, 2, and s any number between 0  and 20.  To plot the three different curves simultaneously, we type

> spacecurve({[s,0,s],[s-3,s,2+s],[s-6,2*s,4+s]},s=0..20);

Maple has a command which will consider both  t  and  s  as variables, thereby plotting the parametric surface containing these lines. This command,  plot3d,  is used as follows:

> plot3d([s-3*t,s*t,2*t+s],t=-5..10,s=0..20);

In addition to the options discussed above, there are several other options that may be useful with commands  spacecurve and  plot3d, like

labels=[x,y,z]              Labels the axes in a plot

numpoints=1000              Specifies the minimum number of points to consider
                            when creating a plot

title="Helix"               Specifies a title ( "Helix" )  for the plot

scaling=constrained         Forces the scaling to be the same on all axes