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)