Previous: pltlx Up: ../plot79_p.html Next: pltma


PLTLX3

       SUBROUTINE  PLTLX3 (X,Y,Z, DX,DY,DZ, PX,PY,PZ, TITLE,NCHAR, SIZE,
      X     VSTART,DECSIZ, TICK, MODE)
 C$    (Axis - Logarithmic Three Dimensional)
 C$    Draw  a  logarithmic  axis  in  3-D  space.   This  routine
 C$    provides a convenient user interface to the 2-D logarithmic
 C$    axis  routine,  PLTLX.   It  uses  the  axis  origin,  axis
 C$    direction, and lettering plane specified to define a  world
 C$    coordinate modelling transformation matrix which will map a
 C$    2-D axis  drawn  by  PLTLX  onto  the  desired  axis.   The
 C$    arguments are:
 C$
 C$    (X,Y,Z)........3-D  world coordinates  of  origin  of axis.
 C$                   The  coordinate   system   may   be   either
 C$                   right-handed or left-handed.
 C$    (DX,DY,DZ).....Vector defining the  direction of the  axis.
 C$                   It need not be normalized.
 C$    (PX,PY,PZ).....Vector defining  the  normal vector  of  the
 C$                   plane in which lettering will be drawn.   It
 C$                   points away  from  an observer  reading  the
 C$                   lettering from in  front of  the plane.   It
 C$                   need not be normalized.
 C$
 C$    The remaining variables are exactly those passed to PLTLX,
 C$    the descriptions of which follow:
 C$
 C$    TITLE...Hollerith label for the axis.  This is always drawn
 C$            centered along the axis in the direction away  from
 C$            (X,Y).  Very long titles will be drawn with smaller
 C$            characters in order  to fit on  one line.   Leading
 C$            and trailing blanks  are automatically ignored  for
 C$            the purposes of centering.
 C$
 C$    NCHAR... .GT. 0 - Number of characters in TITLE(*).  The
 C$                      current font will be used.
 C$             .LE. 0 - No title to be drawn.
 C$
 C$    SIZE....Length of the axis in world units.  SIZE .LE. 0.0
 C$            will be assumed to be bad input and will cause
 C$            immediate return.
 C$
 C$    THETA...Counterclockwise  angle of  inclination of  axis in
 C$            degrees.  THETA =  0.0 for a  horizontal axis,  and
 C$            90.0 for a vertical axis.
 C$
 C$    VSTART....Starting value of variable along axis.  If it  is
 C$              not an integral  power of ten,  a partial  decade
 C$              will be drawn,  so that the  starting value  will
 C$              actually  be  VSTART,  rather  than  the  closest
 C$              multiple of ten.
 C$
 C$    DECSIZ....Number of world units/decade.
 C$
 C$    TICK.... .GT. 0.0 - Length of tick marks above
 C$                        (counterclockwise from) the axis.
 C$             .EQ. 0.0 - No tick marks to be drawn.
 C$             .LT. 0.0 - Length of tick marks below (clockwise
 C$                        from) the axis.
 C$            A usual  value will  be TICK  = 0.015  on the  unit
 C$            square, but choosing  TICK equal to  the length  of
 C$            the perpendicular axes will form a grid.
 C$
 C$    MODE......Option flags stored in the low-order bits of  the
 C$              integer value.  These are selected by adding  one
 C$              or more of the following option values, and  then
 C$              setting the sign of  the resulting sum to  select
 C$              numbering and titling above (+) or below (-)  the
 C$              axis.
 C$
 C$               1 - Number  the  axis.   Even  values  of   MODE
 C$                   suppress numbering,  but  still  affect  the
 C$                   choice of tick mark spacing.
 C$               2 - Numbering   perpendicular (i.e. rotated  -90
 C$                   degrees)  to  the  axis;  otherwise  it   is
 C$                   parallel to the axis.
 C$               4 - Omit the first number along the axis.   This
 C$                   can be useful to  prevent text overlap  when
 C$                   more than one axis is drawn from a point.
 C$               8 - Omit the last number along the axis.
 C$
 C$              Any value outside the  legal range -15..+15  will
 C$              raise an error condition.  The usual choice for a
 C$              numbered left vertical  (Y) axis will  be MODE  =
 C$              +3, and for a numbered lower horizontal (X)  axis
 C$              will be  MODE  = -1.   The  usual choice  for  an
 C$              unnumbered right vertical axis will be MODE =  +2
 C$              or -2,  and for  an unnumbered  upper  horizontal
 C$              axis will be MODE =  0.
 C$
 C$              The sizes and positions of number labels, even if
 C$              they are not  drawn, affect the  choice of  where
 C$              longer tick marks are drawn.  In the common  case
 C$              where the four  sides of a  graph have axes,  but
 C$              two are  unnumbered,  for  the  unnumbered  axes,
 C$              simply subtract 1  from the  unsigned MODE  value
 C$              used for the opposite numbered axis.
 C$
 C$    See SUBROUTINE PLTLX for further remarks on axis plotting.
 C$
 C$    (19-MAR-84)