Previous: hidov Up: ../plot79_h.html Next: hidrv


HIDPV

       SUBROUTINE  HIDPV (Z1,ZE,Z2, NR,NP, PL2)
 C$    (Polar View)
 C$    Produce a perspective drawing  of a single-valued  function
 C$    defined in polar coordinates, in  such a way as to  exhibit
 C$    the radial and circumferential arcs.  The arguments are:
 C$
 C$    (Z1,Z2)........Range of function values.
 C$    ZE(NR,NP)......Array of function values.  ZE(I,J)  contains
 C$                   z(r(I),phi(J)), where
 C$                   r(I) = 0.02 + 0.98*(I-1)/(NR-1)
 C$                   and
 C$                   phi(J) = 360.0*(J-1)/(NP-1),
 C$                   such that r steps from 0.02 to 1.0, and  phi
 C$                   steps from 0 to 360 degrees.  For the figure
 C$                   to join  properly, it  follows that  ZE(*,1)
 C$                   must be  identical to  ZE(*,NP); it  is  the
 C$                   user's responsibility to ensure this.
 C$    NR.............Number of points on one radius.
 C$    NP.............Number of  polar angles.   This must  be  an
 C$                   integer of the form 4*N+1 to ensure that the
 C$                   four quadrants of the figure join  properly.
 C$    PL2............2-D pen movement subroutine, normally PL2CA.
 C$
 C$    The   polar    view    produced    is    an    orthographic
 C$    (non-perspective) view  along a  line passing  through  the
 C$    points (0,0,0) and (0,-1,0.44), with the z axis  projecting
 C$    onto the vertical  screen axis.   This is  an elevation  of
 C$    about 26.56 degrees  above the xy  plane.  Since the  polar
 C$    angle, phi, is measured  about the z axis  counterclockwise
 C$    from the x axis,  in the plot,  phi = 0  degrees is on  the
 C$    extreme right, phi =  180 degrees is  on the extreme  left,
 C$    and phi  =  270 degrees  is  at  the front  center  of  the
 C$    drawing.
 C$
 C$    The actual transformation to Normalized Device  Coordinates
 C$    (u,v,w) is
 C$
 C$    (u,v,w,1) = (x,y,z,1) (1/2   0    0    0)
 C$                          ( 0   1/6   0    0)
 C$                          ( 0   2/3   1    0)
 C$                          (1/2  1/6   0    1)
 C$
 C$    This maps x on the interval -1..1  into u on 0..1 and y  on
 C$    -1..1 into v on (2/3)z..(2/3)z+(1/3).  With z on 0..1, v is
 C$    then on  0..1.   The  specified function  range  Z1..Z2  is
 C$    mapped onto z on 0..1.
 C$    (15-APR-82)