Previous: hidtr Up: ../plot79_h.html Next: hidtv
SUBROUTINE HIDTRS (Z0, Z1,S1,S2,S3,Z2, MX,MY, NX,NY, LX,LY,
X S, T, SEP, PL2)
C$ (Triple Surface - Stereo)
C$ Make a stereo hidden-line drawing of three possibly
C$ intersecting surfaces, hiding those parts of each surface
C$ which are covered by the others.
C$
C$ Z0.............Cutoff value. Only function values,
C$ S*(I,J), above (S .GT. 0.0) or below (S .LT.
C$ 0.0) Z0 are visible.
C$ S1,S2,S3.......Arrays containing the three surfaces.
C$ S*(I,J) = F(X(I),Y(J)), where X(I) =
C$ (I-1)*DX and Y(J) = (J-1)*DY both map onto
C$ the interval 0..1.
C$ Z1,Z2..........Span of surface values.
C$ MX,MY..........Actual declared dimensions of the arrays
C$ S1(*,*), S2(*,*), and S3(*,*).
C$ NX,NY..........Sections of S1(*,*), S2(*,*), and S3(*,*)
C$ actually used.
C$ LX,LY..........Increments in X and Y directions (.GT. 0).
C$ Values of LX and LY larger than 1 produce a
C$ coarser mesh on the drawing without losing
C$ the smoothness of the complete surface. LX
C$ should be an integral divisor of NX-1, and
C$ LY of NY-1. If this is not the case, the
C$ 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
C$ parts. If S = 0.0, the cutoff value Z0 has
C$ no effect.
C$ T(4,4).........4-D transformation matrix defining
C$ orientation of the surfaces. The window
C$ coordinates of a point (X,Y,Z,1.0) are
C$ (U,V,W,H) = (X,Y,Z,1.0) T. X, Y, and Z are
C$ computed in the range 0..1, and Z is
C$ obtained from the function values by scaling
C$ the range Z1..Z2 onto 0..1. A point
C$ (U,V,W,H) is visible if U/H, V/H, and W/H
C$ lie in the range 0..1.
C$ SEP............Separation option (.TRUE. = yes, .FALSE. =
C$ no). When separation is requested, the
C$ upper horizon is elevated from the lower
C$ horizon, and the vertical and horizontal
C$ coordinates are rescaled to maintain correct
C$ proportions. The scale factor is
C$ 1-ABS(T(2,2)), and best results are obtained
C$ when T(2,2) lies in the approximate range
C$ -0.4..+0.4.
C$ PL2............2-D pen movement subroutine, usually PL2CA.
C$
C$ (08-JUN-85)