[comp.binaries.ibm.pc.d] Plot3d

adrian@milton.u.washington.edu (Adrian Mariano) (06/13/91)

Hmmm.  Somewhere along the way, the documentation for my plot3d
program got lost.  As the moderator noted, the documentation included
within the program isn't really adequate.  Here is the brief
documentation file which was meant to be included:


                                    Plot3d
                               by Adrian Mariano
                                and Karl Crary

                       Copyright 1991 by Adrian Mariano

You may use and distribute this program as much as you like so long as you do 
not charge for this service.  I am not liable for failure of this program to 
perform in any way.  

Please send any comments, patches, or improvements to me at:

                    adrian@milton.u.washington.edu

Plot3d is a program for plotting 3 dimensional surfaces specified via one of 
the three standard coordinate systems.

It uses a command driven interface with the following commands:

type <type><dependent var>
     
     Selects coordinate system for plotting.  The three available coordinate 
     systems are: cartesian, a right handed orthoginal coordinate system with 
     x, y and z as the variables; cylindrical, polar coordinate system with r 
     the orthogonal distance from the z axis, theta the angle around the z 
     axis, and z the distance along the z axis; and spherical, where rho is 
     the distance from the origin, theta is the angle around the z axis, and 
     phi is the angle between the z axis and the point.

     The <type> above should be one of cart, cylinder, or sphere.

     The dependent variable is the one which depends on the other two.  It 
     should be specified immediately after the type (without spaces). 

     The default is cartz, which allows you to plot surfaces of the form 
     z=f(x,y).  

     To plot phi=f(rho, theta) in spherical coordinates, use the command 
     'type spherephi'

plot <function>

     Plots the function with the current settings.  The function should be 
     specified WITHOUT an equals sign.  

     So x^2+y^2 is ok.  z=x^2+y^2 is not ok.

     Functions use the standard operations, +, -, /, *, and ^ (for exponents).

     e give 2.71828..., and pi produces the value pi.

     The '*' for multiplication may be omitted.

     The following functions are supported:
       [arc]sin, [arc]cos, [arc]tan, [arc]sinh, [arc]cosh, [arc]tanh
       ln, log, abs

replot

     plots the same function again with the current settings (which may be 
     different from when the function was last plotted).

show

     displays current plotting parameters

xmin, xmax, ymin, ymax, zmin, zmax <number>

     set the region to display on screen.  

<var>start, <var>end, <var>steps
     
     The program maintains separate values for the ranges over when the 
     independent variables should vary, and the number of steps to take over 
     this range for each coordinate system.  You can set these values for the 
     current coordinate system only by using these commands, where <var> is 
     the variable you want to affect.

aspect <number>

     Set aspect ratio of your monitor

distance <number>
     
     Set perspective distance from image.  Use 0 for no perspective.  Distance 
     is measured in multiples of the image depth (direction in the dimension 
     perpendicular to your monitor). 

spin, tip <number>

     Set view angle in degrees.  Spin rotates the image around the z axis, tip 
     rotates the image around the y axis. 



LIMITATIONS

    Selecting more than about 55 x 55 resolution results in weird behavior for 
    reasons I don't understand.

EXAMPLES
    
Here is an example session that produces a few interesting graphs:
    
    plot sin(x)
    plot sin(y)
    plot sin(x)*sin(y)
    type cylinderr
    plot 2.5
    plot sin(2z)
    plot sin(3z)+.5
    type sphererho
    plot 2.5sin(3theta)
    thetasteps 50
    phisteps 50
    replot