home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 2 / CDPD_II_2352.bin / scope / 126-150 / scopedisk145 / mandelblitz / mandelblitz.doc < prev    next >
Text File  |  1992-10-27  |  10KB  |  200 lines

  1. 4]-----------------------------------
  2. 3]MANDELbLITZ 1.0: User Manual
  3. 3]© 1990 by Nico Francois / PowerPeak
  4. 4]-----------------------------------
  5.  
  6. 3]CONTENTS
  7.  
  8. 1. An introduction
  9.  
  10. 2. Usage
  11.      2.1 The file requester
  12.      2.2 Project menu
  13.      2.3 Prefs menu
  14.      2.4 Zoom menu
  15.      2.5 Color cycling
  16.  
  17. 3. Palette
  18.  
  19. 4. Mandel chunk
  20.  
  21. 5. Future versions
  22.  
  23.  
  24. 3]1. AN INTRODUCTION
  25.      Yep, another Mandelbrot program.
  26.      If you do not know what Mandelbrots are, I suggest you immediately run
  27. out to your public library or local bookstore and pick up a book about them.
  28.      Most people ARE fascinated by the patterns drawn by a Mandelbrot
  29. program and I hope they enjoy this program.
  30.      Plotting Mandelbrots takes much of computing power. MandelBlitz uses
  31. the following two things to speed up calculation: a special algorithm to
  32. find large regions of the same iteration depth and the blitter to fill
  33. these; hence the name Mandel_BLIT_z. This results in a Mandelbrot program
  34. that calculates the standard set in about 45 seconds (PAL) or 35 seconds
  35. (NTSC) on a 68000 Amiga. I hope you agree this is very fast; hence the name
  36. Mandel_BLITZ. Hey, wait a minute, wasn't this name explained before?
  37.      Other things that speed plotting are fast 16 and 32 bit integer
  38. calculations, both written in assembly for top speed.
  39.      Observant people might notice a certain similarity between parts of
  40. MandelBlitz and TurboMandel (Fish 302, by Philip Marivoet). This is not a
  41. coincidence. (Hi, Philip.)
  42.  
  43. 3]2. USAGE
  44.      First some general things:
  45.       If you intend to run MandelBlitz via the CLI or Shell There is no need
  46. to RUN it.The program will auto-detach and the CLI can be used for other things.
  47.      MandelBlitz does not support overscan yet, but it does automatically
  48. adjust its screen to match the size of the Workbench screen. So if you
  49. put your Workbench in overscan, MandelBlitz will also work in overscan.
  50. Stupid way to do it, but it works. Next version will probably have overscan
  51. support.
  52.      Press the left mouse button and move the mouse to draw a rubber-banded
  53. box. This box can be used to zoom in on the displayed Mandelbrot. It will
  54. always have the same width/height ratio as the screen. Zooming can be done
  55. most of the time, even during calculation.
  56.      MandelBlitz will automatically change from 16 to 32 bit calculations
  57. when it is necessary (16 bit is not very accurate).
  58.      Requesters can be answered by pressing 'Y'/'N' or 'Amiga-V'/'Amiga-B'.
  59.  
  60. 3]2.1 THE FILE REQUESTER
  61.      When you are required to enter a filename, MandelBlitz sets up a file
  62. requester. This requester lists all the files (and their length) of a
  63. selected directory. You don't have to wait for the directory scan to end.
  64. You can select a file or directory the moment you see it, or you can enter
  65. it in the appropriate string gadget. If you press <SHIFT-ENTER> in a string
  66. gadget, you will activate the other string gadget (file or directory). To
  67. get a list of all devices connected to your Amiga as well as all the assigns
  68. made, press the right mouse button.
  69.     If you wait for the directory scan to end and quit the file requester,
  70. the next time you use it, all the files will still be there, so you don't
  71. have to wait for the directory to be read again. This feature has one
  72. disadvantage: If files are changed or added to the selected directory, they
  73. won't be shown in the list, or they will be shown with the wrong file
  74. length the next time the requester appears. Therefore, if you think anything
  75. has been changed to the selected directory, use the GET DIR gadget to
  76. re-read the directory. That is, when you save a crunched file on top of the
  77. old one, the old file length will be shown in the requester.
  78.      Use the 'Hide/Show .info' gadget to hide or show .info files
  79. (Workbench icons). The entries are always sorted. Files and directories are
  80. separated.
  81.      The requester also contains an invisible dragbar so you can drag it to
  82. another screen position to see what is beneath it.
  83.  
  84. 3]2.2 PROJECT MENU
  85.      Load IFF    > Load an IFF Mandelbrot picture file. The picture must
  86.                    have a mandelchunk (see below) or it will not be loaded.
  87.      Save IFF    > Save current Mandelbrot as an IFF file with a mandelchunk.
  88.      Title       > Toggle the titlebar on/off.
  89.      WorkBench   > Open or close WorkBench if possible. (Adds 42K)
  90.      About...    > Show general information.
  91.      Quit        > Quit program or stop calculation (in which case the menu
  92.                    item reads 'Stop').
  93.  
  94. 3]2.3 PREFS MENU
  95.      Calculation > Type of calculation used to plot the Mandelbrot. Using 16
  96.                    bit ints is much faster than using FFP, but FFP is a
  97.                    more accurate than 16 bit ints. Note the difference
  98.                    between 32 bit ints and FFP seems to be very small.
  99.      Iteration   > Maximum iteration depth.
  100.      Screen      > Type of screen used to plot. First set flags then select
  101.                    NEW SCREEN. The calculation will restart as soon as the
  102.                    new screen has been opened.
  103.      Palette     > Change screen palette.
  104.      Turbo       > Use this if you have no REAL fast ram (A500s internally
  105.                    expanded or A2000s unexpanded). When turbo is on, the
  106.                    number of visible bitplanes will be decreased to a level
  107.                    that no longer slows your Amiga (4 in lo-res, 2 in
  108.                    hi-res). Internally the full number of planes will still
  109.                    be used. If you switch turbo off, all will be back to
  110.                    normal.
  111.  
  112. 3]2.4 ZOOM MENU
  113.      Coords      > Brings up a requester where you can enter coordinates.
  114.                    You can use this to enter coordinates you have found in
  115.                    a magazine. Note the coordinates will be adjusted so
  116.                    the width/height ratio equals that of the screen.
  117.      Restart     > Restart calculation of current Mandelbrot.
  118.      Reset       > Back to the standard Mandelbrot set, ready to start
  119.                    zooming again.
  120.  
  121. 3]2.5 COLOR CYCLING
  122.      MandelBlitz supports color cycling. Start or stop the cycling by
  123. pressing TAB. Use SHIFT-TAB to reverse the direction and the UP and DOWN
  124. arrow keys to speed up/slow down cycling.
  125.      Press the LEFT and RIGHT arrow keys when MandelBlitz is not cycling to
  126. shift the entire palette left or right. This is also possible when changing
  127. the palette.
  128.  
  129. 3]3. PALETTE
  130.      Because a Mandelbrot needs smooth color transitions, MandelBlitz has a
  131. special palette utility. It uses a sine wave pattern to calculate colors.
  132. Red, green and blue all have their own sine waves. First select a wave by
  133. pressing one of the R/G/B gadgets. You can then control the position of the
  134. top of this wave (the arrow left/right gadgets). Slope of the wave can be
  135. increased/decreased (use the color up/down gadgets), and height of the top
  136. of the current color can be adjusted (use the intensity up/down gadgets). I
  137. suppose OK, CANCEL and UNDO explain themselves.
  138.      It takes a while to learn to control this, but once you get the hang of
  139. it the results can be quite staggering.
  140.  
  141. 3]4. MANDEL CHUNK
  142.      All IFF ILBM (picture) files saved by MandelBlitz incorporate an extra
  143. chunk called MANC. This chunk holds all the necessary information for the
  144. plotted Mandelbrot. This way you can continue zooming in on pictures you
  145. have saved. MandelBlitz will find the coordinates in the mandel chunk. The
  146. mandelchunk will be lost if you load a Mandelbrot in DPaint and save it
  147. again.
  148.      The mandelchunk is the same as the mandelchunk generated by TurboMandel
  149. and is formed like this:
  150.  
  151.      struct ManC {
  152.         /* starts like a normal IFF chunk, id = 'MANC' */
  153.         ULONG   id, chunklen;
  154.         /* this is the special stuff */
  155.         IEEE_64 xcoo, ycoo, xside, yside;
  156.         UWORD   iteration_depth;
  157.         UBYTE   calculation, flags;
  158.         UWORD   toppos[3], decrstep[3], colint[3];
  159.         };
  160.  
  161.      1° Xcoo, ycoo, xside and yside are the coordinates of the plotted
  162.         Mandelbrot.  They are represented as 64 bit IEEE floating point
  163.         numbers (double) to be as portable as possible. Coordinates of
  164.         the standard set are: (-2.5,-1.4)-(3.5,2.8).
  165.      2° Iteration_depth is the maximum number of iterations calculated before
  166.         MandelBlitz decides to color the point black.
  167.      3° Calculation : 0 for FFP calculation, 1 for 32 bit integer and 2 for 16
  168.         bit integer.
  169.      4° Flags : only bit 0 is used at the moment, it is set for 3D Mandelbrots
  170.         (generated by TurboMandel). Since MandelBlitz does not support 3D
  171.         Mandelbrots it will not load these pictures.
  172.      5° toppos[3], decrstep[3] and colint[3] are the internal variables used
  173.         to calculate the palette (see above).  RED is 0, GREEN is 1 and BLUE
  174.         is 2, so toppos[1] means the toppos of GREEN.
  175.  
  176. 3]5. FUTURE VERSIONS
  177.      This is only the first version of MandelBlitz and there are many
  178. powerful enhancements planned. One thing I definitely want to incorporate is
  179. 68020/30 and 68881/2 support. I should be getting my hands on these very
  180. soon now. MandelBlitz will already speed up quite a bit when run on a '030,
  181. but with a special version it should be even faster. I am also thinking
  182. about extending the integer calculation to 48 bits or even 64 bits. Overscan
  183. support is also planned.
  184.      If you have other suggestions (or if you don't think the program is
  185. worth improving) please drop me a line and let me know. Coming versions
  186. might be shareware or maybe even commercial. I don't know yet. This version
  187. however is freeware, though this does not mean I will eat or burn any money
  188. you include with your letters.
  189.      Enjoy your quest for nice Mandelbrots.
  190.      This is the program's first release.
  191.      If you have suggestions or remarks about this program, or if you find
  192. any bugs, please let me know. Write to the following address: Nico François,
  193. Corbielaan 13, B-3060 Bertem, BELGIUM.
  194.      Thanks to Ton Hospel for the idea to speed up calculation, and to
  195. Philip Marivoet for all sorts of things.
  196.  
  197. (c) 1990 Nico François / PowerPeak
  198.  
  199. 4]END OF TEXT
  200.