home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD1.iso / Ascii-Ansi / CRX-AD09.LHA / ANSI-Draw / ARexx / Mandelbrot.rexx < prev    next >
Encoding:
OS/2 REXX Batch file  |  1995-10-31  |  828 b   |  62 lines

  1. /* mandel */
  2. /* A little example that renders a mandelbrot into ANSI-Draw's buffer */
  3.  
  4.  
  5. address ANSIDRAW
  6. options results
  7.  
  8. 'LOCK INPUT'
  9.  
  10. width = 80
  11. 'QUERY BUFFER_ROWS'
  12. height = result-1
  13.  
  14. crmin = -2
  15. crmax = 1.1
  16. cimin = -1.6
  17. cimax = 1.6
  18.  
  19. crstep = (crmax-crmin) / width
  20. cistep = (cimax-cimin) / height
  21.  
  22. ci = cimin
  23. cr = crmin
  24.  
  25. DO i = 1 to height
  26.    DO j = 1 to width
  27.  
  28.       a = 0
  29.       b = 0
  30.       k = 0
  31.       zabs = 0;
  32.  
  33.       DO WHILE ((zabs < 4) & (k < 16))
  34.          zr = a*a - b*b + cr
  35.          zi = 2*a*b + ci
  36.  
  37.          a = zr
  38.          b = zi
  39.  
  40.          k = k + 1
  41.          zabs = a*a + b*b
  42.       END
  43.  
  44.       if(k>15) THEN k=15
  45.  
  46.       'GO COLUMN ' j
  47.       'GO ROW ' i
  48.  
  49.       'SET COLOR_FOREGROUND ' k
  50.       'DRAW CHARACTER 177'
  51.  
  52.    cr = cr + crstep
  53.  
  54.    END
  55.  
  56.    cr = crmin
  57.    ci = ci + cistep
  58. END
  59.  
  60. 'GO COLUMN 1 ROW 1'
  61. 'UNLOCK INPUT'
  62.