Previous: hidgv Up: ../plot79_h.html Next: hidgvs
SUBROUTINE HIDGV2 (Z0, Z1,ZE,Z2, X,Y, MX,MY, NX,NY, LX,LY, S, T,
X PL2)
C$ (General View - Arbitrary X,Y)
C$ Make a hidden-line drawing of a surface defined in
C$ Cartesian coordinates on a variable grid, permitting the
C$ specification of general 4-D transformations on the
C$ surface.
C$
C$ Z0......Cutoff value. Only function values, ZE(I,J), above
C$ (S .GT. 0.0) or below (S .LT. 0) Z0 are visible.
C$ ZE......Array containing the surface. ZE(I,J) =
C$ F(X(I),Y(J)).
C$ Z1,Z2...Span of surface values.
C$ X,Y.....Arrays of (X,Y) coordinates. These should be in
C$ strictly ascending or descending order.
C$ MX,MY...Actual declared dimensions of the array ZE(*,*).
C$ NX,NY...Sections of ZE(*,*) actually used.
C$ LX,LY...Increments in X and Y directions (.GT. 0). Values
C$ of LX and LY larger than 1 produce a coarser mesh
C$ on the drawing without losing the smoothness of the
C$ complete surface. LX should be an integral divisor
C$ of NX-1, and LY of NY-1. If this is not the case,
C$ the next smallest value which satisfies this
C$ requirement is used internally.
C$ S.......=+1.0, graph positive part of function,
C$ =-1.0, graph negative part of function,
C$ = 0.0, graph both positive and negative parts.
C$ If S = 0.0, the cutoff value Z0 has no effect.
C$ T(4,4)..4-D transformation matrix defining orientation of
C$ the surface. The window coordinates of a point
C$ (X,Y,Z,1.0) are (U,V,W,H) = (X,Y,Z,1.0) T. X, Y,
C$ and Z are computed in the range 0..1, and Z is
C$ obtained from the function values by scaling the
C$ range Z1..Z2 onto 0..1. A point (U,V,W,H) is
C$ visible if U/H, V/H, and W/H lie in the range 0..1.
C$ PL2.....2-D pen movement subroutine, usually PL2CA
C$ (01-FEB-82)