SUBROUTINE JVG4FM (XL,YL,SIDEX,SIDEY,NITER,CR,COL,MCPAX,MCPAY)
C
C COPYRIGHT (C) 1985-1992 BY ART MATRIX. ALL RIGHTS RESERVED.
C
IMPLICIT REAL*8 (A-H,O-Z)
C
INTEGER*2 COL(0:MCPAX,0:MCPAY)
C
COMPLEX*16 Z,C,CONST
C
C***********************************************************************
C***********************************************************************
C
CALL DRVID ('FM ',102,2,7,1)
C
C***********************************************************************
C***********************************************************************
C
C = DCMPLX (CR,0D00)
C
EPS = .005D00
ESC = 10000
SQRT3 = 3**.5D00
CONST = DCMPLX(.5D00,-SQRT3/2)
C
C***********************************************************************
C***********************************************************************
C
DO 2000 IY = 0,MCPAY
C
Y = YL + (IY*SIDEY)/MCPAY
C
CALL SHOWIY (10,IY,Y)
C
DO 1000 IX = 0,MCPAX
C
X = XL + (IX*SIDEX)/MCPAX
C
C***********************************************************************
C***********************************************************************
C
Z = DCMPLX(X,Y)
C
DO 400 I = 1,NITER
C
ABSZ = (DREAL(Z)*DREAL(Z) + IMAG(Z)*IMAG(Z))
C
Z = Z*Z*Z - (CR*Z + CONJG(Z))*(1 - ABSZ)
C
IF (ABS(IMAG(Z)) .LT. EPS) GOTO 420
IF (DREAL(Z)*DREAL(Z) + IMAG(Z)*IMAG(Z) .GT. ESC ) GOTO 430
C
400 CONTINUE
C
COL(IX,IY) = 0
GOTO 1000
C
420 COL(IX,IY) = I
GOTO 1000
C
430 COL(IX,IY) = -I
GOTO 1000
C
C***********************************************************************
C***********************************************************************
C
1000 CONTINUE
2000 CONTINUE
C
C***********************************************************************
C***********************************************************************
C
RETURN
END