next up previous contents index
Next: SUBROUTINE MVAX3D Up: MASTER Subroutines Previous: SUBROUTINE MESH3D

SUBROUTINE MESH3DX

     MESH3DX is a simple 3-d surface plotting routine. A 3-d surface is plotted as a simple mesh grid. The plotting method is similar to VAX3DX. No hidden line removal is done. The height of plotted surface relative to its y axis value is calibrated to z axis. No perspective is used. Options exist to varying the plotting angle and to plot axes.

Origin of the plot is in the lower-left corner. The x axis runs plotted left to right along the plot bottom. The y axis is plotted as a vertical displacement offset by the z axis value. The z axis appears to point into the screen. This gives the illusion of depth.

CALL MESH3DX(d,ndx,ndz,nx,nz,a,b,xh,yh,zh,iflag,iax,
               <xt,nxt,xs,xe,nmx,nnx,mlx,tsx,ndx,smx,
                yt,nyt,nmy,nny,mly,tsy,ndy,smy,
                zt,nzt,zs,ze,nmz,nnz,mlz,tsz,ndz,smz,
               <dm,dx<,ic>>>)

d        (R): array of y values dimensioned d(ndx,ndz)
ndx,ndz  (I): x and z dimensions of d array
nx,nz    (I): x and z sizes of surface to plot d array
a        (R): angle of x axis from horizontal 0-85 degrees
b        (R): angle of z axis from horizontal 0-90 degrees
              note: origin (1,1) is in lower-left corner
                    x axis runs left to right on screen
                    y axis runs up to down on screen
                    z axis appears to run into the screen but
                        is angled to the right
xh,yh,zh (R): length of each axis
iflag    (I): option flag
             < 0 : do not close LONGLIB after plotting
             = 0 : close LONGLIB--no plot produced
             > 0 : close LONGLIB after plotting
(magnitude)  >10000: do not initialize LONGLIB before plotting
 (1's digit)   = 2 : use color array (need all parameters)
               = 1 : do not use color array 
 (10's digit)  = 0 : Plot sides
               = 1 : Do not plot sides
 (100's digit) = 0 : Ask which screen device to use
              <> 0 : Screen Device Number (see FRAME)
iax   (I): axis format control
           < 0 : plot axes, using input scale factors dm and dx
           = 0 : axes not plotted, parameters (yt...dx) not used.
                 scaling derived from d array is used
           > 0 : plot axes, use max and min of d array to compute
                 dm and dx, need axis parameters yt thru ze
 (1's digit)  = 1 : Plot actual max/min or input values for Y axis
              = 2 : Plot smoothed values for Y axis
 (10's digit) = 0 : Use default axis type
              = 1 : Use input AXIS2-type axis parameters
(NOTE: the following optional paramters are used only if
         iax < 0 or mod(iflag,10)=1)
xt    (C): title of x axis (width)
nxt   (I): number of characters in xt
           = 0 : no axis plotted
           > 0 : axis plotted
xs,xe (R): starting and ending values displayed on x axis
(see AXIS2 for detailed description of axis parameters)
nmx   (I): number of minor ticks between major ticks on x axis
nnx   (I): highlight length of nnx-th minor tick on x axis
mlx   (I): number of major tick marks on x axis
tsx   (R): size of title and numbers on x axis
           < 0 auto exponent scaling (x10 to power) disabled
           > 0 auto exponent scaling (x10 to power) enabled
ndx   (I): number of digits to right of decimal point on x axis
smx   (R): major tick length on x axis
yt    (C): title of y axis (depth)
nyt   (I): number of characters in yt
           = 0 : no y axis plotted
           > 0 : normal
nmy   (I): number of minor ticks between major ticks on y axis
nny   (I): highlight length of nny-th minor tick on y axis
mly   (I): number of major tick marks on y axis
tsy   (R): size of title and numbers on y axis
           < 0 auto exponent scaling (x10 to power) disabled
           > 0 auto exponent scaling (x10 to power) enabled
ndy   (I): number of digits to right of decimal point on y axis
smy   (R): major tick length on y axis
zt    (C): title of z axis (height)
nzt   (I): number of characters in zt
           = 0 : no z axis plotted
           > 0 : normal
ze,ze (R): starting and ending valued displayed on z axis
nmz   (I): number of minor ticks between major ticks on z axis
nnz   (I): highlight length of nnz-th minor tick on z axis
mlz   (I): number of major tick marks on z axis
tsz   (R): size of title and numbers on z axis
           < 0 auto exponent scaling (x10 to power) disabled
           > 0 auto exponent scaling (x10 to power) enabled
ndz   (I): number of digits to right of decimal point on z axis
smz   (R): major tick length on z axis
(NOTE: the following optional parameters are accessed if 
       iax < 0 or mod(iflag,10)=1)
dm,dx (R): minimum and maximum scale values for d array
ic    (I): color list
           ic(1) : color for axis lines
           ic(2) : color for axis numbers
           ic(3) : color for axis titles
           ic(4) : color for axis exponents
           ic(5) : color for plot surface (return)



David Long
Wed Jun 12 10:34:11 MDT 1996