next up previous contents index
Next: SUBROUTINE TRIG3DH Up: MASTER Subroutines Previous: SUBROUTINE SPLOTSX

SUBROUTINE T3DH

   T3DH plots a 3-d surface defined on a uniformly spaced 2-d grid in the x,y plane using a triangular mesh with hidden line removal. The surface can be viewed from any angle. The input consists of the values of the z axis for each (x,y) point on the plane. Each square grid is plotted as two triangles using either  SKETCH or  PLT3DH permitting hidden line removal if desired. T3DH calls  INIT3DH to initialize the 3-d hidden line package. Default space is provided in the INIT3DH common block. The ISIZE variable will be reset to the internal size if its value is smaller than the internal size. Sufficient space is provided for very complex surfaces.

CALL T3DH(z,ndx,ndy,nx,ny,s,p,t,dv,xl,yl,zl,iflag,ia,
                xt,nxt,xm,xx,tx,sx,gx,fx,
                yt,nyt,ym,yy,ty,sy,gy,fy,
                zt,nzt,tz,sz,gz,fz,zm,zx<,ic>)

z      (R): array of z values
ndx,ndy(I): dimensions of z array
nx,ny  (I): number of points in each dimension to use of z array
s,p,t  (R): yaw,roll,pitch angles of axes (see INIT3DH)
dv     (R): perspective scale factor for INIT3DH
            < 0 : no hidden lines in SKETCH, INIT3DH called
            = 0 : INIT3DH not called to initialize 3d package,
                  (INIT3DH previously called)
            > 0 : hidden lines in SKETCH, INIT3DH called
            = 9999 : no perspective in INIT3DH
xl     (R): x axis length in inches
yl     (R): y axis length in inches
zl     (R): z axis length in inches
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)  = 1 : do not use color array
                = 2 : use color array
   (10's digit) = 0 : hidden line removal for surface only
                = 1 : hidden line removal for axis and surface
                = 2 : no hidden line removal (SKETCH not used)
   (100's)      = 0 : Ask which screen device to use
               <> 0 : Screen Device Number (see FRAME)
ia     (I): axis option flag
            < 0 : plot axis use input z axis scale
            = 0 : do not plot axes
            > 0 : plot axis use computed z axis scale
   (1's digit)  = 1 : plot y axis using input scale
                = 2 : plot y axis using input, smoothed scale
   (10's digit) = 1 : plot x axis using input scale
                = 2 : plot x axis using input, smoothed scale
xt     (C): x axis title string
nxt    (I): number of characters in x axis title
            < 0 : axis ticks on top of x axis
            = 0 : no axis
            > 0 : axis ticks on bottom of x axis (normal)
tx     (R): number and pattern of axis ticks (see AXIS3)
sx     (R): size of axis labeling (see AXIS3)
           < 0 auto exponent scaling (x10 to power) disabled
           > 0 auto exponent scaling (x10 to power) enabled
gx     (R): rotation angle for x axis (see AXIS3DH)
fx     (R): format of axis number labeling (see AXIS3)
yt     (C): y axis title string
nyt    (I): number of characters in y axis title
            < 0 : axis ticks on top of axis
            = 0 : no axis
            > 0 : axis ticks on bottom of axis (normal)
ty     (R): number and pattern of axis ticks (see AXIS3)
sy     (R): size of axis labeling (see AXIS3)
           < 0 auto exponent scaling (x10 to power) disabled
           > 0 auto exponent scaling (x10 to power) enabled
gy     (R): rotation angle for y axis (see AXIS3DH)
fy     (R): format of axis number labeling (see AXIS3)
zt     (C): z axis title string
nzt    (I): number of characters in z axis title
            < 0 : axis ticks on top of axis
            = 0 : no axis
            > 0 : axis ticks on bottom of axis (normal)
tz     (R): number and pattern of axis ticks (see AXIS3)
sz     (R): size of axis labeling (see AXIS3)
           < 0 auto exponent scaling (x10 to power) disabled
           > 0 auto exponent scaling (x10 to power) enabled
gz     (R): rotation angle for z axis (see AXIS3DH)
fz     (R): format of axis number labeling (see AXIS3)
xm,ym  (R): minimum value displayed on each axis
xx,yx  (R): maximum value displayed on each axis
zm     (R): minimum value of z axis (accessed if ia < 0)
zx     (R): maximum value of z axis (accessed if ia < 0)
ic     (I): color array (accessed if 1's digit of iflag=2)
            ic(1) : color of axis
            ic(2) : surface color



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