home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 437b.lha / MandelMountains_v2.1 / MandelMountains.doc < prev    next >
Text File  |  1990-11-08  |  17KB  |  362 lines

  1.  
  2.  
  3.                   MandelMountains V2.1 by Mathias Ortmann
  4.  
  5.  
  6. Discover the Mandelbrot and Julia Sets from a Completely New Point of View! 
  7.  
  8.  
  9. MandelMountains gives you the ability to render wonderful three-dimensional
  10. images of blow-ups of the Mandelbrot and Julia sets.
  11. The well-known color strips of the usual Mandelbrot images become at once
  12. mountainsides that smoothly climb to high plateaus, leaving deep valleys
  13. between them.
  14.  
  15. You may have already seen images of this type (e.g. on the covers of the
  16. books "The Beauty of Fractals - Images of Complex Dynamical Systems" by
  17. H.-O. Peitgen and P.H. Richter or "The Science of Fractal Images", edited
  18. by H.-O. Peitgen and D. Saupe) - here and now you have the tool to create
  19. them on your own! MandelMountains allows you to produce high-quality
  20. non-interlaced or interlaced (and even overscan) images of arbitrary areas
  21. of the Mandelbrot/Julia sets. You can easily define magnification windows
  22. to zoom deeper and deeper into this fascinating world.
  23.  
  24. Since the development of this program took a lot of time and work, I release
  25. it as shareware.  This means that if you like and use this program, you
  26. should become a registered MandelMountains user by sending me a little
  27. contribution of about $10.  This will make it possible to develop subsequent
  28. versions of this program.
  29. Suggestions, comments and bug reports are welcome, too.
  30.  
  31. These are my addresses:
  32.  
  33.            (until 31-Jun-1991)          (after 31-Jun-1991)
  34.  
  35.              Mathias Ortmann              Mathias Ortmann
  36.              Via Goito, 5                 Strindbergstr. 5
  37.            I-20121 Milano               D-8000 Munich 60
  38.  
  39.              ITALY                        GERMANY
  40.  
  41.  
  42. IMPORTANT!   MandelMountains V2.1 requires the following libraries to be in
  43. your libs:-Directory:
  44.  - mathtrans.library
  45.  - mathieeedoubbas.library
  46.  - mathieeedoubtrans.library
  47.  
  48.  
  49. This documentation does NOT cover the theory of fractal geometry, complex
  50. numbers and Mandelbrot/Julia sets.  If you never heard anything about these
  51. things, I recommend to read the books mentioned below.
  52.  
  53.  
  54. 1.  The Rendering Method
  55.  
  56. The image is rendered from front to back.  A virtual horizon line prevents
  57. hidden areas from being displayed.  The brightness of the surface is
  58. determined by the angle the light falls on it.  If the number of iterations
  59. exceeds a certain (user-defineable) value, the pixel is set in color
  60. instead of gray, thus remains of the usual color strips are visible on the
  61. high plateaus, a fact which greatly increases the plasticity of the image.
  62. The Mandelbrot/Julia set fixed point arithmetic iteration code is borrowed
  63. from the commercial program MathVISION (by Doug Houck), published by Seven
  64. Seas Software.  MathVISION is a math visualization tool, which lets you
  65. enter arbitrary functions, including the Mandelbrot set, and renders them
  66. in various ways, including the shaded rendering which was borrowed from
  67. MandelMountains.
  68.  
  69.  
  70. 2. The Display Format
  71.  
  72. You can choose between three image sizes:  Small for quick test
  73. calculations, Normal for the usual screen size (320x200/320x256) and Full
  74. for overscan format (352x240/352x282), which I recommend as ideal size.
  75. MandelMountains supports NTSC and PAL Amigas and recognizes by itself on
  76. which type of machine it is running.  All images are generated in 32 color
  77. mode: 16 colors for the gray tones and 16 colors for the surface color range.
  78. Optionally you can enable the interlace mode, which will double the number
  79. of available colors:  You now have 32 gray and 32 color tones, which will
  80. result in much smoother color ranges.  Computation time is not affected by
  81. using interlace or non-interlace mode.
  82.  
  83.  
  84. 3. The File Format
  85.  
  86. MandelMountains writes standard IFF files with an additional "MMD1" chunk
  87. containing all parameters of the image, so you can load previously
  88. generated images and make further magnifications. You can load
  89. MandelMountains files with all available graphics software, but note that
  90. if the image is saved again, the MMD1 chunk will be destroyed, and you
  91. cannot load it with MandelMountains any more.
  92. MandelMountains V2.1 is fully backwards compatible with all previous versions.
  93.  
  94.  
  95. 4. The Parameters
  96.  
  97. An image is defined by several parameters. You can see and modify all of
  98. them in the window MandelMountains opens on the Workbench screen.
  99.  
  100. The cx/cy values are used only when working in Julia set mode.  They are the
  101. real/imaginary part of the fixed parameter c in the term z = z²+c.
  102. See below for a detailed description of how to generate images of Julia sets.
  103.  
  104. In the next two lines, there are the xmin/xmax/ymin/ymax values.  They
  105. determine the rectangular part of the Mandelbrot set that is to be shown in
  106. the image (xmin/xmax represent the range of the real part, ymin/ymax of the
  107. imaginary part of c [in Julia set mode: z] in the term z = z²+c).
  108.  
  109. The Depth value limits the number of iterations.  If then the value of z
  110. has not exceeded a certain maximum, the point will be drawn in black.
  111. Increasing this value will result in a more detailed rendering of the
  112. border between color and black, but it will also increase computation time
  113. if there are larger areas of black.  Normally, a Depth of 400 to 2000 is
  114. sufficient.
  115.  
  116. Linear/Nonlinear/Super-Nonlinear Transformation: If your mountainsides
  117. look extremely steep, you should switch to Nonlinear Transformation.
  118. For extreme cases, there is the Super-Nonlinear transformation, which is
  119. especially useful for magnifications of the western side of the Seahorse
  120. Valley.
  121.  
  122. ColorMin: If you wish to have the surface of the plateaus colored (and
  123. you surely will!), you set ColorMin to the number of iterations from which on
  124. a pixel is to be drawn in color.  Increasing this value will make the colored
  125. areas smaller.  The range of ColorMin is normally from 20 to 300 (set it to 0
  126. if you wish no coloring).
  127.  
  128. ColorDiv: This value determines the "step rate" for the surface colors.
  129. For example: You have a ColorMin of 100 and a ColorDiv of 50.  The number
  130. of iterations for a point is 300.  The color of the point is now
  131. (300-100)/50, i.e. 4.  Usually ColorDiv is around 50 to 150.  It is not
  132. very critical, but if you choose it far too low, the colored areas on
  133. your surface will look rather fragmented.  If you choose it too high, they
  134. will all have more or less the same color.
  135.  
  136. HZoom: This very important value is the decimal logarithm of the factor
  137. all heights are multiplied with.  If you choose this value too low, the
  138. whole surface will be flat like a sheet of paper; if you choose it too
  139. high, you will not see more than some vertical walls.  This value is
  140. probably the most critical and must be chosen carefully.  It depends very
  141. much on the magnification factor (increase it after each magnification) and
  142. can range from 2 (initial picture) to 30 (blow-ups of details in the
  143. Seahorse Valley, for example).
  144. Remember that for nonlinear and super-nonlinear transformation, HZoom
  145. must be considerably higher than for linear transformation.
  146.  
  147. HSmooth: Sometimes it may occur that the border of a plateau looks rather
  148. fragmented.  In this case, simply increase the HSmooth value.  It can range
  149. from 0 up to more than 200, depending on the HZoom value you are using, but
  150. is not very critical.  Set it to 50 for normal images.
  151.  
  152.  
  153. It must be said that you will have to experiment a little to get perfect
  154. results, but soon you'll get a feeling for these things (look at the sample
  155. pictures and their parameters).
  156.  
  157. The 'Parameters' menu of MandelMountains contains the submenu 'Suggest'
  158. which allows you to precalculate two of the above parameters. See below
  159. for a further description of this feature.
  160.  
  161.  
  162. 5. The Menus
  163.  
  164. Project Menu:
  165.  
  166. Choosing the Load Image or Save Image option will bring up a file requester
  167. (thanks Justin!) that allows you to choose a file name for the image to
  168. load/save.  Images are compressed before saving.
  169. In MandelMountains V2.1, you can optionally save an image without the MMD1
  170. chunk. This ensures full compatibility with all graphics software, but
  171. images without MMD1 chunk can't be loaded into MandelMountains any more!
  172.  
  173. Start Rendering: This option clears the current screen, brings it to front
  174. and starts the computation.
  175. In contrary to MandelMountains V2.0, the workbench display window will not be
  176. cleared, so you can still see all the parameters. The menu will remain
  177. active, too, although most of the menu points are ghosted. The most
  178. important feature is that the task priority of MandelMountains is now
  179. changeable during computation.
  180.  
  181. Mode: You can select between Mandelbrot and Julia Mode (see below for details
  182. about Julia sets).
  183.  
  184. Precision: This submenu allows you to choose either single precision (32 bit)
  185. or double precision (64 bit) mode. Double precision mode becomes necessary
  186. when you see vertical stripes in your image - usually, this occurs when
  187. the magnification factor approaches 10000-20000.
  188. Double precision is about three times slower than single precision, but it
  189. allows for magnification factors up to several millions.
  190.  
  191.  
  192. Parameters Menu:
  193.  
  194. Zoom In brings the current screen to front and creates a mouse-directable
  195. magnification window.  Pressing the left mouse button while moving the
  196. mouse to the right/left changes the size of the window.  The right mouse
  197. button confirms the magnification.
  198.  
  199. Restore Aspect is useful when you have entered xmin/xmax/ymin/ymax values
  200. by hand. By restoring the aspect of width and height you ensure that the
  201. image does not look squeezed.
  202.  
  203. Suggest is a feature which I implemented to give you a basis for your
  204. experiments by generating suggestions for the parameters Depth and HZoom.
  205. After some initial problems, I found a quite adequate way to precalculate
  206. the HZoom value. The results of the algorithm are surprisingly good - in
  207. most cases they need not be altered at all and thus will save you a lot of
  208. experimenting time!
  209. The algorithm needs some time to evaluate its result. The percentage
  210. of completion is shown by a horizontal bar. You can cancel the computation
  211. by pressing the Escape key, or terminate it at any time by pressing
  212. <Return>, accepting the current state of evaluation, which in most
  213. cases is not too far away from the final result.
  214. Sometime, the result of the precalculation will be 0. Then you either have
  215. to increase the Depth value, or - if this doesn't help - it's time to
  216. switch over to Non-Linear/Super-Nonlinear Transformation.
  217.  
  218. Screen allows you to choose one of the three standard screen sizes and
  219. to toggle interlace mode.
  220.  
  221.  
  222. Color Range Menu:
  223.  
  224. This menu controls range of surface colors.  Different color ranges may
  225. greatly change the impression of an image, so experiment a little.
  226. Available as from/to colors are: Black, Blue, Red, Magenta, Green, Cyan,
  227. Yellow and White.  Additionally, you can cycle the colors by pressing F1/F2
  228. at any time.
  229.  
  230.  
  231. 6. Julia Sets
  232.  
  233. Julia sets are generated by varying the initial value of z in the iteration
  234. formula z = z²+c, leaving c constant for each pixel (Mandelbrot set:
  235. The parameter c is varied instead of z, and the iteration always starts
  236. with z = 0).
  237. There exists an infinite number of Julia sets, all determined by the
  238. fixed parameter c (displayed in the top line of the parameter block; cx is
  239. the real, cy the imaginary part of c).
  240. You can either enter a c value directly by hand, or choose it from a
  241. position out of the Mandelbrot set. This is done as follows:
  242. 1. Load an arbitrary MandelMountains image of the area you are interested in.
  243. 2. Select "Zoom In" from the Parameters Menu.
  244. 3. Mark the desired point with the TOP LEFT corner of the zoom window and
  245.    press the right mouse button.
  246. 4. Select "Julia Set" from the Project/Mode Menu. The parameters xmin/ymin,
  247.    representing the selected top left edge, will be copied to the cx/cy
  248.    fields. The other values will be initialized with default values,
  249.    giving the best possible environment for most Julia sets.
  250. Experimenting with this feature, you will discover a fascinating similarity
  251. of the Julia sets to the area their parameter c is taken from (e.g. for a
  252. c value out of the Seahorse Valley, there will be the same seahorse tails
  253. and eyes as in the Mandelbrot set). Thus the Mandelbrot set can be
  254. interpreted as a "one-page dictionary" of all existing Julia sets.
  255. I recommend to choose the c values mainly from the border area of the
  256. Mandelbrot set, because otherwise the resulting Julia sets will look
  257. rather boring.
  258. Certainly, you can zoom into Julia sets exactly like into the Mandelbrot set.
  259.  
  260.  
  261. 7. When is a Picture Finished?
  262.  
  263. Normally, you will wait until the screen is filled completely (up to the
  264. upper edge). In this case, the program stops the computation by itself.
  265. Sometimes, it may be necessary for aesthetical reasons to interrupt the
  266. rendering earlier, resulting in a black background of the image. In this
  267. case, you simply have to click on the STOP Gadget at the right moment.
  268.  
  269.  
  270. Important:
  271.  
  272. Clicking on the gadget near the depth gadgets of MandelMountain's
  273. workbench window will make the current screen appear (with correct
  274. centering if it's an overscan screen), clicking on the screen and then
  275. pressing the right mouse button will make the screen disappear again.
  276.  
  277. If you haven't got a true Fast-RAM machine, I recommend to click the screen
  278. to back during computation. This will save memory cycles for the CPU and
  279. greatly reduce computation time.
  280.  
  281.  
  282. Special thanks go to Heinz-Otto Peitgen for publishing the formula that
  283. smoothes the surface of the Mandelbrot set in such a perfect way! It is
  284. called Continuous Potential Method for Mandelbrot set (CPM/M) and can be
  285. found in chapter 4.2.4 of the book
  286.  
  287. Heinz-Otto Peitgen/Dietmar Saupe (editors): The Science of Fractal Images
  288. Springer-Verlag New York Berlin Heidelberg 1988        ISBN 0-387-96608-0
  289. Springer-Verlag Berlin Heidelberg New York 1988        ISBN 3-540-96608-0
  290.  
  291.  
  292. If you are looking for an excellent introduction into fractal theory,
  293. history and mathematical backgrounds of the Mandelbrot and Julia sets,
  294. including a couple of wonderful color pictures, you should take a look at
  295.  
  296. H.-O. Peitgen/P.H. Richter:
  297. The Beauty of Fractals - Images of Complex Dynamical Systems
  298. Springer-Verlag New York Heidelberg Berlin Tokyo 1986  ISBN 0-387-15851-0
  299. Springer-Verlag Berlin Heidelberg New York Tokyo 1986  ISBN 3-540-15851-0
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.       --------------------------------------------------------------
  308.                          PathMaster File Selector
  309.                        User Documentation 89-06-26.
  310.       --------------------------------------------------------------
  311.  
  312. Copyright © 1989 by Justin V. McCormick.
  313. All Rights Reserved.
  314.  
  315.   The selector is completely dynamic and asynchronous; you may change
  316. directories, select files, scroll the file list, etc., while the selector
  317. is scanning a directory.
  318.  
  319.   The three Sort Gadgets (Alpha, Size, and Date) work like switches.  For
  320. instance, if you click on the "Alpha" Sort Gadget, the gadget will remain
  321. highlighted ("On") when you release the mouse button.  The File Selector
  322. will now alphabetize directories automatically until you turn the Sort
  323. Gadget "off" by clicking it again, or click on a differnt Sort Gadget.
  324.  
  325.   Clicking the Menu Button activates the FILE or PATH String Gadget,
  326. allowing you to type in a new file or pathname without having to click
  327. inside of the string gadgets first.  Also, some keyboard shortcuts are
  328. available:
  329.  
  330.     ESCAPE key        - Same as clicking on the "Cancel!" gadget.
  331.     Cursor-Up key     - Same as clicking on the Up Arrow gadget.
  332.     Cursor-Down key   - Same as clicking on the Down Arrow gadget.
  333.     Shift-RETURN keys - Toggle between FILE and PATH gadget.
  334.  
  335.   Note that if the PATH, FILE, or PATTERN String Gadgets are in use, the
  336. keyboard shortcuts are disabled.
  337.  
  338.   The selector has a software path length limit of 344 characters.  You
  339. will receive a warning message in the titlebar if you try to exceed this
  340. limit.
  341.  
  342.  
  343.         The PathMaster name is a trademark of Justin V. McCormick.
  344.  
  345.        PathMaster File Selector source and documentation written by:
  346.  
  347.                            Justin V. McCormick.
  348.                  Copyright © 1989 by Justin V. McCormick.
  349.                            All Rights Reserved.
  350.  
  351.  * --------------------------------------------------------------------- *
  352.                     THIS SOFTWARE IS PROVIDED "AS IS".
  353.  
  354.        NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE
  355.        ACCURACY, RELIABILITY, PERFORMANCE, CURRENTNESS, OR OPERATION
  356.             OF THIS SOFTWARE, AND ALL USE IS AT YOUR OWN RISK.
  357.  
  358.                THE ABOVE AUTHOR ASSUMES NO RESPONSIBILITY OR
  359.       LIABILITY WHATSOEVER WITH RESPECT TO YOUR USE OF THIS SOFTWARE.
  360.  * --------------------------------------------------------------------- *
  361.  
  362.