C C PROGRAM THIDE.FOR C C THIS PROGRAM DEMONSTRATES THE USE OF THE HIDDEN LINE C REMOVAL PLOT SUBROUTINE, 'HIDE', TO PLOT BOTH SIDES C OF A FUNCTIONAL SURFACE. C C M.W. VANNIER C WENNER GREN LAB C UNIV OF KENTUCKY C 27 AUGUST 1976 C INTEGER*2 T(3) DIMENSION X(150),Y(150),Y1(150) DIMENSION XG(500),G(500),XG1(500),G1(500),XH(500),H(500) COMMON X,Y,Y1,XG,G,XG1,G1,XH,H DATA T /2HNO,2HTT,2HLE/ C C DEFINE PLOTTING VARIABLES C NG =-1 NG1 =-3 N = 150 N1 =-N NFNS = 26 MAXDIM = 500 XM = 0.0 DX = 1.05 DY = 0.67 YM =-1.0 XLNTH =-6.0 YLNTH =-3.0 PI = 3.14159 C C TYPE 11 11 FORMAT (//,15X,'THIDE - HIDDEN SURFACE PLOT PROGRAM',//) C C DO 1 I=1,N X(I) = FLOAT(I-1)*PI/74.5 1 Y1(I) = 0.2*SIN(X(I)) C C LOOP FOR EACH CURVE TO BE PLOTTED, COMPUTING THE C ORDINATE COEFFICIENTS EACH TIME C CALL PLOTS CALL PLOT (1.0,2.0,-3) CALL FACTOR (0.8) DO 3 I=1,NFNS Z = FLOAT(I-1)*PI/12.5 CZ = COS(Z) DO 2 J=1,N 2 Y(J) = Y1(J)*CZ-(EXP(-(X(J)-PI)**2-(Z-PI)**2)* 1 COS(1.75*((X(J)-PI)**2+(Z-PI)**2)))*1.5 C C PLOT TOP OF SURFACE C CALL HIDE (X,Y,XG,G,XH,H,NG,MAXDIM,N,NFNS,T, 1 XLNTH,YLNTH,XM,DX,YM,DY) C C PLOT BOTTOM OF SURFACE C 3 CALL HIDE (X,Y,XG1,G1,XH,H,NG1,MAXDIM,N1,0,T, 1 XLNTH,YLNTH,XM,DX,YM,DY) C C TYPE 4,NG,NG1 4 FORMAT (/,' NG =',I4,20X,' NG1 =',I4,//) CALL PLOT (0,0,999) STOP 'NORMAL TERMINATION' END