------------------------------------------------------------------------ Contour Crawl GS v2.0 Copyright 1992 Sameer Parekh (zane@ddsw1.mcs.com) Portions copyright 1988, 1989 Scott Sherman & John Gossman This is freeware. The entire package must be distributed together or it is a violation of copyright laws. ------------------------------------------------------------------------ This is Contour Crawl GS v2.0. It computes Mandelbrot set pictures using an algorithim calling "Contour Crawling." This algorithim is faster than calculating every pixel, but it is less accurate. If you would like a perfectly accurate M-set, I suggest Lim Thye Chan's Mandelbrot GS. (Which also calculates Julia I *think*.) I will leave the explanation of the algorithim up to the author: ------------------------------------------------------------------- From: John Gossman . . .a fast Mandelbrot Algorithm called Contour Crawling, invented by Scott Sherman in 1986 while a math student at Western Washington Univ. The algorithm works by scanning across the Mandelbrot Set point by point, looking for regions of the same color. Once a "Contour" is detected, the algorithm bounces back and forth along the boundary of the contour until it finds its way back to its starting point, and then fills the interior. Intuitively and in practice it is far more efficient than the normal pixel by pixel method or Mariani's Method. . . .Scott and I (John Gossman) have written an article about Contour Crawling that covers the theoretical aspects and such concerns as "Islands", the connected nature of the level sets around the Mandelbrot Set, and the practical issues of Contour Crawling on a discrete lattice. . . . ------------------------------------------------------------------------ The files Flash3 and Flash6 must be in a directory named crawllib in the same directory as the executables. Now I will explain the specific features of my program... The program is invoked from the command line with: static void usage(char *program) crawl [-x n] [-y n] [-w n] [-h n] [-m n] [-g n] [-r n] [-f name] -x Left edge (Default: -1.5) -y Top edge (Default: 1) _ -w Width of pic (Default: 2.6) -h Height of pic (Default: 2) -m Maximum number of iterations (Default: Variable) -g Graphics Mode (3 for 320 or 6 for 640) (Default: 3) -r Graininess of picture (Default: 1) -f Filename to save picture (Default: Fractal.PIC) The n's following each parameter are the value which applies. Thus, if the following is executed: crawl -x -1.3 -y 1.2 -w 1.3 -h 2.4 -m 300 -g 6 -r 3 The image will be calculated from -1.3 + 1.2i to 0 - 1.2i, the maximum iterations will be 300, it will be drawn in 640 mode, and the graininess is 3. If a certain option is not chosen, the default is given. The graininess may need an explanation. The graininess is the size of an element of the picture on the screen. If, for example, the graininess is 1, the default, each pixel on the screen will be regarded as a different point of the set. If the number is 2, then a square which is 2 X 2 pixels will be regarded as a single point, and calculated once. Higher numbers produce uglier pictures, quickly. Hit Command-Q during execution to quit and save the picture. To zoom in, rubber-band a rectangle with the mouse. Then the program will pause to recalculate the grid and then zoom in. Use the keypad keys 0-9 to choose a pallete. The maxcount is variable depending upon how closely zoomed the picture is. Currently the number is at 100/sqrt(width). Right now the maxcount is *always* like that. You can't change it--that I will fix soon. Report bugs to Sameer Parekh, zane@ddsw1.mcs.com, 708-362-9659, 829 Paddock Lane, Libertyville, IL 60047-3743. This is freeware, but if you feel like sending me stuff, go right ahead! (E.g. laser printers, NeXTStations, etc. :-) If you send me stuff I'll probably work on my programming more than on school--thus more programs coming from me. Enjoy -------------------------------------------------------------------------- Thanks to: Lim Thye Chan Mike Fleming Gregory Ross Thompson All Apple IIGS programmers All Apple IIGS users Release Notes: v1.0 First release of program Features: M-set, contour crawling, custom bands v1.1 Command line support added Variable resolution support added Added picture saving support Added test color bands ---------------------------------------------------------------------------- v2.0 (This version is slower than v1.1) Added mouse support for Zooming in Added some pallete handling Added maxcount changes during plot More Features planned (Probably in the order they will come) ------------------------------------------------------------- Julia set support Use of "Frac" as opposed to "Fixed" for more precision