home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 093.lha / MandelZoom / MZ.ReadMe < prev    next >
Text File  |  1986-11-20  |  6KB  |  142 lines

  1.  
  2.  
  3.  
  4.     MandelZoom v 1.0  :
  5.     Nat Hilterbrand
  6.     CSERVE 71350,646.
  7.  
  8.     The object/load form of this program is released to the public domain.
  9.     It may be freely distributed and used by anyone, as long as they do
  10.     not directly profit from it's use, and if this documentation is 
  11.     distributed crediting me as author (for reasons of vanity).  Although I 
  12.     have tested the modules, (except the 68881 code) I do not warrant them 
  13.     in any way, and will not be responsible for any damages resulting from
  14.     the use of them.
  15.  
  16.     Now, that we have that out of the way, on to the "documentation".  This
  17.     program is my implementation of the MandelZoom program discussed by
  18.     A. K. Dewdney in his Computer Recreations article in the November 1987
  19.     issue of Scientific American magazine (volume 257 number 5).  The basic
  20.     purpose of the program is to allow the interested individuals to display
  21.     upon the monitors of the Amiga, the Mandelbrot set.  The user may display
  22.     the entire set (the default action), or may "zoom" in on any portion 
  23.     that he or she wishes.  The article mentions that the user should be able
  24.     to enter a starting real and imaginary point and a display width, and
  25.     view the result.  I give that capability, plus several more.
  26.  
  27.     The best way to gain familiarity with this program and it's abilities
  28.     is to "play with it".  So, without any further verbage, here are the
  29.     instructions.
  30.  
  31.     1)  Before "playing", you must select which version of the program you
  32.         wish to use.  I have included 4 versions, all of which were generated
  33.         from the same source code.  The difference is in how they handle 
  34.         floating point arithmetic.  The version are:
  35.  
  36.         mz.m        uses Amiga FFP library in "ROM"
  37.         mz.ma        uses Amiga MathIEEEDoubBas library
  38.         mz.mx        uses Manx IEEE math
  39.         mz.m8        uses 68881 if you have one.  THIS IS UNTESTED!!!
  40.  
  41.         The FFP will run faster, but will be less accurate.  The IEEE
  42.         versions are slower, but more accurate.  Which you use will depend
  43.         upon your needs.  I no nothing of the 68881 version, but if some
  44.         benevolent soul out there who has the coprocessor would let me
  45.         know how this works, I would appreciate it.  
  46.  
  47.     2)  To invoke the program, enter the name of the chosen module on the
  48.         CLI command line, followed by arguments in C language format.
  49.         Arguments used by the program are:
  50.  
  51.             r=        specifies the Real value in the upper left hand corner
  52.                     of the screen.  Default is -2.25.
  53.  
  54.             i=        specifies the Imaginary value in the upper left hand 
  55.                     corner of the screen.  Default is -1.25.
  56.  
  57.             w=        specifies the Width (on the real axis) of the picture.
  58.                     This value does NOT control the number of pixels used
  59.                     to implement the picture:  the program always uses the
  60.                     full screen.
  61.  
  62.             m=        specifies the Magnitude (distance from 0+0i) that a
  63.                     point must reach to be considered "out of bounds".
  64.                     Default is 2.00.
  65.  
  66.             n=        specifies the Number of tries the program will make
  67.                     for a specified point to try to push the value 'out
  68.                     of bounds'.  Default is 63.  This value will always be
  69.                     rounded up to the nearest multiple of the number of 
  70.                     colors used, minus 1.
  71.  
  72.             s=        specifies the type of Screen that the program opens to
  73.                     draw in.  Three values are allowed:
  74.  
  75.                         s=l     LowRes, 320x200, 32 colors
  76.                         s=h        HiRes,    640x200, 16 colors
  77.                         s=i        HiRes,    640x400, 16 colors, interlaced
  78.  
  79.                     Default is s=l.
  80.  
  81.             c=        specifies the Colors to use.  Several values are valid.
  82.  
  83.                         c=<d>    Uses the default colors I used during
  84.                                 testing.  
  85.  
  86.                         c=<r>   Will generate a psuedo-random color scher
  87.                                 will be repeated.
  88.  
  89.                         c=filename    Will read colors from the file specified.
  90.                                 The file should have one line per color,
  91.                                 for as many colors used (16 or 32).  Each
  92.                                 line should have a Red, a Green, and a 
  93.                                 Blue value seperated by spaces.  Each value
  94.                                 should be an integer from 0 to 15.  For 
  95.                                 a medium Gray, for example, use
  96.                                 8 8 8
  97.                                 and for white use
  98.                                 15 15 15
  99.                                 and for purple use
  100.                                 15 0 15
  101.  
  102.                     The program will always print a list of the colors
  103.                     it is using to STDOUT.  This list may be redirected to
  104.                     a file, and then re-read by the program, so if you 
  105.                     capture the colors, and some random set of colors
  106.                     "tickles your fancy" as we say in Tennessee, you 
  107.                     can reuse it over and over.
  108.  
  109.     3)  Once the program has begun to execute, you may control its 
  110.         operation in several ways.  You will notice that the screen fills
  111.         top to bottom, left to right.  If you press any key on the keyboard,
  112.         the program will stop the next time it reaches the bottom of the
  113.         screen.  The mouse is also used.  You may define, with the mouse,
  114.         an area to zoom.  Just find an area you would like to see in more
  115.         detail, press AND HOLD the left mousey button in one corner of the
  116.         area, drag the pointer to the diagonally opposite corner, and
  117.         release.  As soon as the program reaches the bottom of the screen
  118.         next, the screen will clear, and the program will begin to display
  119.         your smaller area in more detail, just as if you had entered the
  120.         points at start time with the r and i variables.  The program will
  121.         also write the new r, i, and w values it is using to STDOUT, so you
  122.         may later invoke the program starting with this display.  You may
  123.         continue to "zoom" in for more detail as long as the accuracy of the
  124.         floating point numbers holds up.  You may also abort the drawing at
  125.         anytime and redraw the previous picture by depressing the right
  126.         (Menu) mousey button.
  127.  
  128.  
  129.     This is not the best offering, I realize.  I will continue to work on it,
  130.     make it run in background, add menu support, Julia set generation, etc.
  131.     Have fun, and EMAIL me if you have in questions/comments/etc. 
  132.  
  133.     If you are not a Compuserve user, you may contact me via U.S. Snail
  134.     at:
  135.  
  136.     P.O. Box 1601
  137.     Smyrna  TN  37167-1601
  138.  
  139.     By the way, another credit.  This program was developed using the Manx
  140.     Aztec C68 v3.4 on an Amiga 1000, 512k, two 3.5 inch floppies, AmigaDOS
  141.     1.2.
  142.