SUBROUTINE ZOOMFM (XL,YL,SIDEX,SIDEY,NITER,COL,MCPAX,MCPAY) C C COPYRIGHT (C) 1985-1992 BY ART MATRIX. ALL RIGHTS RESERVED. C IMPLICIT REAL*8 (A-H,O-Z) C INCLUDE 'RC.INC' C INTEGER*2 COL(0:MCPAX,0:MCPAY) C COMPLEX*16 Z,L,L2,LM5,LP5,A,B,V C C*********************************************************************** C*********************************************************************** C CALL DRVID ('FM ',102,1,2,5) C C*********************************************************************** C*********************************************************************** C EPS = 1.D-6 C DO 2000 IY = 0,MCPAY C Y = YL + (IY*SIDEY)/MCPAY C CALL SHOWIY (10,IY,Y) IF (RC .EQ. 1) RETURN C DO 1000 IX = 0,MCPAX C X = XL + (IX*SIDEX)/MCPAX C C*********************************************************************** C*********************************************************************** C L = DCMPLX(X,Y) C L2 = L*L A = ( .25D0,0) - L2 B = (-.75D0,0) - L2 LM5 = L - ( .50D0,0) LP5 = L + ( .50D0,0) C C*********************************************************************** C*********************************************************************** C Z = 0 C DO 400 I = 1,NITER C Z = (2*Z*Z*Z + A)/(3*Z*Z + B) C V = Z - (1,0) IF (DREAL(V)*DREAL(V) + IMAG(V)*IMAG(V) .LE. EPS ) GOTO 100 V = Z - LM5 IF (DREAL(V)*DREAL(V) + IMAG(V)*IMAG(V) .LE .EPS ) GOTO 200 V = Z + LP5 IF (DREAL(V)*DREAL(V) + IMAG(V)*IMAG(V) .LE .EPS ) GOTO 300 C 400 CONTINUE C COL(IX,IY) = 3 GOTO 1000 C 100 COL(IX,IY) = 1 + 5*I GOTO 1000 C 200 COL(IX,IY) = 4 + 5*I GOTO 1000 C 300 COL(IX,IY) = 2 + 5*I GOTO 1000 C C*********************************************************************** C*********************************************************************** C 1000 CONTINUE 2000 CONTINUE C RETURN END