SUBROUTINE COM3D(ZV,SX,DX,SY,DY,MX,NX,MY,NY,IAX,B,C,F,HDY,XM,YM) C COMMON STARTING ROUTINE FOR PLOT3D & GRPH3D DIMENSION ZV(NX,NY) REAL MC C FIND ZMIN + ZMAX ZMAX=ZV(MX,MY) ZMIN=ZMAX DO 39 I=MX,NX DO 39 J=MY,NY A=ZV(I,J) IF(A.LT.ZMIN) GOTO 37 IF(A.GT.ZMAX) ZMAX=A GOTO 39 37 ZMIN=A 39 CONTINUE A=(ZMAX-ZMIN) C1=A AI=AINTER(A,6) CMM=A/12.5 HDY=A/(NY-MY) YM=HDY/DY F=SY*YM B=F+A+A A=F+A XM=HDY/DX D=HDY*(NX-MX) C LENGTH OF X-AXIS IN Z UNITS C=SX*XM E=C+D D=E+C1 C1=C+C1 AZ=0.0 IF(IAX.EQ.2) AZ=CMM+CMM CALL REGION(C-AZ,D+AZ,F-AZ,B) B=-ZMIN+F IF(IAX.EQ.0) RETURN CALL POINT(C,A) CALL JOIN(C,F) CALL JOIN(E,F) CALL JOIN(D,A) CALL BROKEN(4) CALL JOIN(C1,A) CALL JOIN(C,F) CALL FULL IF(IAX.EQ.1) RETURN C LABEL Z AXIS AZ=-0.2*CMM SI=STPOIN(ZMIN,AI) IS=IEXPON(AI) IF(IS.LT.0) IS=IS+1 MC=0.1**IS C1=C-CMM X=SI 76 X1=X+B CALL POINT(C,X1) CALL LINE(AZ,0.0) CALL PLOTNF(C1,X1,X*MC,1) X=X+AI IF (X.LE.ZMAX) GOTO 76 IF(IS.EQ.0) GOTO 80 CALL PLOTCL(C1,A+CMM,'x 10',4) CALL SUPFIX CALL TYPENI(IS) CALL NORMAL C LABEL X AXIS 80 FI=(NX-MX)*DX AI=AINTER(FI,6) SI=STPOIN(SX,AI) FI=FI+SX IS=IEXPON(AI) IF(IS.LT.0) IS=IS+1 MC=0.1**IS C1=F-CMM X=SI 90 X1=X*XM CALL POINT(X1,F) CALL LINE(0.0,AZ) CALL PLOTNF(X1,C1,X*MC,1) X=X+AI IF(X.LE.FI) GOTO 90 IF(IS.EQ.0) GOTO 97 CALL PLOTCL(E+CMM,C1,'x 10',4) CALL SUPFIX CALL TYPENI(IS) CALL NORMAL C LABEL Y AXIS 97 FI=(NY-MY)*DY AI=AINTER(FI,6) SI=STPOIN(SY,AI) FI=FI+SY IS=IEXPON(AI) IF(IS.LT.0) IS=IS+1 MC=0.1**IS C1=(D-E)/(A-F) C2=E-F*C1 X=SI AZ=-AZ 107 X1=X*YM X2=C2+C1*X1 CALL POINT(X2,X1) CALL LINE(AZ,0.0) CALL PLOTNF(X2+CMM,X1,X*MC,1) X=X+AI IF(X.LE.FI) GOTO 107 IF(IS.EQ.0) RETURN CALL PLOTCL(0.7*D+0.3*E,0.5*(F+A),'x 10',4) CALL SUPFIX CALL TYPENI(IS) CALL NORMAL RETURN END