plotlib - Plot-Library

There are different routines implemented in the plotlib library in order
to plot different kinds of graphics. These routines are

    o cylindricalplot() - to create plots of three-dimensional objects
                          in cylindrical coordinates.

    o fieldplot()       - to create plots of two-dimensional
                          vectorfields.

    o implicitplot()    - to create plots of implicit functions
                          depending on two independent variables.

    o polarplot()       - to create plots of two-dimensional objects in
                          polar coordinates.

    o sphericalplot()   - to create plots of three-dimensional objects
                          in spherical coordinates.

    o xrotate()         - to create three-dimensional plots of surfaces
                          of revolution of a two-dimensional curve
                          around the x-axis.

    o yrotate()         - to create three-dimensional plots of surfaces
                          of revolution of a two-dimensional curve
                          around the y-axis.

In order to use the above mentioned routines, the plotlib library first
has to be loaded by use of the call loadlib("plotlib"). Furthermore all
of these routines can be exported by using the command export(plotlib),
so that for example the short notation fielplot() instead of 
plotlib::fieldplot() can be used. 

In the following the necessary arguments of the above mentioned routines
are explained. Furthermore it is to be noticed that if MuPAD is executed
in terminal mode the graphics output is not supported. In this case the
program only is able to calculate the graphical data of the correspond-
ing command. These data can be stored into a file by use of the option

    PlotDevice = [<filename>, Binary]

whereby <filename> denotes the path and the name of desired file. These
files can be read by VCam and the corresponding graphics will be 
displayed.

*----------------------------------------------------------------------*

plotlib::cylindricalplot(<scene-option ...,> object ...)

         scene-option --> equation
         object       --> [coords, range, range <, option ...>]
         coords       --> [expr_r, expr_phi, expr_z]
         range        --> identifier_1 = [expr_1, expr_2]
         option       --> equation
         equation     --> identifier_2 = expr_3

Example:

         loadlib("plotlib"):
         export(plotlib):

         cylindricalplot([[1, Phi, v], Phi = [-PI, PI], z = [-1, 1]]);

See also: plot3d

*----------------------------------------------------------------------*

plotlib::fieldplot((scene-option ...,> object ...)

         scene-option --> equation
         object       --> [fields, range, range, grid <, option ...>]
         fields       --> [field_z, field_y]
         range        --> identifier_1 = [expr_1, expr_2]
         grid         --> Grid = [int_1, int_2]
         option       --> equation
         equation     --> identifier_2 = expr_3

Example:

         loadlib("plotlib"):
         export(plotlib):

         fieldplot(Axes = Origin,
                   [[1, sin(y + cos(x))], x = [-PI, PI], y = [-PI, PI],
                    Grid = [30, 30]
                   ]);

See also: plot2d

*----------------------------------------------------------------------*

plotlib::implicitplot(f, a..b, c..d <, n>)

         f          --> procedure or function of two parameters
         a, b, c, d --> real values
         n          --> non-negative integer

Example:

         loadlib("plotlib"):
         export(plotlib):

         implicitplot(func(x^2+y^2-1),-1..1,-1,..1,7):

See also: plot2d

*----------------------------------------------------------------------*

plotlib::polarplot(<scene-option ...,> object ...)

         scene-option --> equation
         object       --> [coords, range <, option ...>]
         coords       --> [expr_r, expr_phi]
         range        --> identifier_1 = [expr_1, expr_2]
         option       --> equation
         equation     --> identifier_2 = expr_3

Example:

        loadlib("plotlib"):
        export(plotlib):

        polarplot(Axes = Origin, [[1, Phi], Phi = [-PI, PI]]);

See also: plot2d

*----------------------------------------------------------------------*

plotlib::sphericalplot(<scene-option ...,> object ...)

         scene-option --> equation
         object       --> [coords, range, range <, option ...>]
         coords       --> [expr_r, expr_phi, expr_theta]
         range        --> identifier_1 = [expr_1, expr_2]
         option       --> equation
         equation     --> identifier_2 = expr_3

Example:

        loadlib("plotlib"):
        export(plotlib):

        sphericalplot([[1, Phi, Theta], Phi = [-PI, PI], Theta = [0, PI]]);

See also: plot3d

*----------------------------------------------------------------------*

plotlib::xrotate(<scene-option ...,> object ...)

         scene-option --> equation
         object       --> [curve, range, angle <, option ...>]
         curve        --> [expr_x, expr_y]
         range        --> identifier_1 = [expr_1, expr_2]
         angle        --> identifier_2 = [expr_3, expr_4]
         option       --> equation
         equation     --> identifier_3 = expr_5
         
        loadlib("plotlib"):
        export(plotlib):

        xrotate(Axes = Box, Ticks = 0,
                [[x, sin(2*x)], x = [0, 2*PI], angle = [0, 2*PI]]);

See also: plot3d

*----------------------------------------------------------------------*

plotlib::yrotate(<scene-option ...,> object ...)

         scene-option --> equation
         object       --> [curve, range, angle <, option ...>]
         curve        --> [expr_x, expr_y]
         range        --> identifier_1 = [expr_1, expr_2]
         angle        --> identifier_2 = [expr_3, expr_4]
         option       --> equation
         equation     --> identifier_3 = expr_5
         
        loadlib("plotlib"):
        export(plotlib):

        yrotate(Axes = Box, Ticks = 0,
                [[x, sin(2*x)], x = [0, 2*PI], angle = [0, 2*PI]]);

See also: plot3d
