home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_07 / FRACTENG.LZH / DOCUMENT.FE2 / MANUAL.TXT next >
Text File  |  1996-04-28  |  74KB  |  1,382 lines

  1.  
  2.  
  3. The Fractal Engine v2 for the Atari ST family by Dan Grace
  4.  
  5. Introduction and User Guide by Mike Harris
  6.  
  7. (c) gh Fractals July 1993
  8.  
  9. Revision: 1.1 - 27/07/93
  10.  
  11. ------------------------------------------------------------------------------
  12.  
  13. Contents:
  14.  
  15.     Prologue
  16.  
  17.     1 Introduction
  18.  
  19.     2 What is chaos and what are fractals?
  20.         2.1 A brief history of fractals
  21.         2.2 The mathematics of fractals
  22.  
  23.     3 User Guide
  24.         3.1 Drawing simple fractal images
  25.         3.2 Julia sets and zooming
  26.         3.3 Editing parameters
  27.         3.4 Loading and saving
  28.         3.5 Changing the Palette
  29.         3.6 Batch mode operations
  30.  
  31.     4 Miscellaneous
  32.         4.1 A word about accuracy
  33.         4.2 Hunting for fractals in the complex plane
  34.         4.3 Fractal Engine support and the legal side of life
  35.         4.4 Useful addresses and references
  36.  
  37. ------------------------------------------------------------------------------
  38.  
  39. Welcome to the Fractal Engine II !
  40.  
  41. This application has grown from the original version that was published on cover
  42. disk 42 of ST Format magazine at the beginning of this year.  It has been
  43. greatly enhanced to provide a multitude of new functionality as well as building
  44. on the facilities of the original.  The look and feel of the original has been
  45. kept as much as possible but does differ considerably from version one; this
  46. will become apparent later.  Those users who have used the previous version will
  47. find no difficulties transferring then new one - in fact, it is now much less
  48. cumbersome and a lot more flexible.  New users will find it simple and easy to
  49. use and a lot friendlier than the majority of other fractal applications in
  50. existence.  This document is split into several sections, as follows:
  51.  
  52. Section One - Introduces some of the concepts behind the fractal engine and
  53. hi-lights the main functionality as well as the differences over and above the
  54. original version and other major fractal applications. 
  55.  
  56. Section Two - A short discussion on fractals for the more interested reader who
  57. doesn't wish to wade through textbooks. 
  58.  
  59. Section Three - The User Guide, at last.  Explains the general layout of the
  60. program and how the functionality is related.  Describes the operations in
  61. context of subjects concerning fractal images and also gives examples and hints
  62. and tips for producing your own stunning images.  Note: the user guide assumes
  63. you have a basic knowledge of how your computer works - it does not mention the
  64. handling of disks, the use of fileselect boxes or warnings given with alert
  65. boxes.  If you are unsure about any of these things, consult your computer's
  66. manual.  Also, all work done with FE2 should use a working copy; it would be
  67. unwise to use your original as this contains default information, for basic
  68. operation, which could be overwritten.  Copies should always contain the
  69. information contained in the default directory. 
  70.  
  71. Section Four - Answers any commonly asked questions that might occur and
  72. includes any other useful pieces and information such as contact addresses and
  73. references. 
  74.  
  75. This document currently chronicles the version of the Fractal Engine II for the
  76. Atari 520 STE/STFM in low resolution (A medium resolution version could be
  77. available on request).  It has full compatibility with all other Atari ST
  78. machines and has been proved to run on the Atari TT030.  Other versions are and
  79. may be currently in the pipeline, as follows:
  80.  
  81. Atari TT030 - Although both FE2 and FE1 will run on the TT (in ST low resolution
  82. mode), it does not make full use of the TT's capabilities in terms of memory or
  83. graphics.  We are currently considering a special version for this machine but
  84. only if the demand is there. 
  85.  
  86. Atari Falcon - As of yet the Atari Falcon has not really taken off and we do not
  87. have one.  This is an excellent machine but not currently supported by GFA
  88. Basic.  Conversion would be too lengthy to use a different compiler or 
  89. language.  Also we cannot currently get our hands on a Falcon.  If anyone is 
  90. feeling generous then the address is at the end of this section. 
  91.  
  92. PC: Windows 3.x - We are currently working on a Beta version of FE2 for the PC
  93. to run under Microsoft Windows 3.x.  This will soon be underway, so look out. 
  94. We are aiming to support Intel 80286 and up processors with a hard disk and VGA
  95. modes supporting 256 colours in 1024x768 resolution.  The PC version, it is
  96. hoped, will provide all of the functionality of the Atari ST version and provide
  97. file format compatibility.  We are not going to convert FE1 for the PC and an
  98. MS-DOS version of FE2 is not planned. 
  99.  
  100. UNIX/X-Windows - A Beta version of a C++ object library for producing fractal
  101. images in a generic manner under X currently exists and is available freeware
  102. from the address at the end of this document.  The library can produce
  103. two-dimensional images using the Level Estimator and Binary Decomposition
  104. methods and three-dimensional using Riemann spheres and CPM height 
  105. displacement.  FE2 for X is not currently planned as this will mean extensive 
  106. code conversion, but it is a possibility. 
  107.  
  108. Contacting us with an S.A.E.  will mean we can send you a fact sheet detailing
  109. current developments and future plans. 
  110.  
  111. The following products are currently available :
  112.  
  113.     The Fractal Engine version one for the Atari ST        £ 3  $ 6
  114.     The Fractal Engine II (Atari ST includes registration) £10  $20
  115.     Fractal Library for X-Windows                          £ 3  $ 6
  116.     Radish - Musical compilation while you fract.          £ 3  $ 6
  117.  
  118. FE1 and X library charges are for disk and postage only and are freeware.  The
  119. full release of FE2 for the Atari is shareware, unfortunately.  We would rather
  120. freeware but we need to cover our development costs.  If you currently own an
  121. unregistered copy then please register as we can then offer you the following:
  122.  
  123.     - Support for FE2 and information on any developments. 
  124.     - Disk containing co-ordinate and animation files, extra fractal 
  125.       utilities to use in conjunction with FE2 and some additional 
  126.       non-fractal utilities. 
  127.     - The ability to continue developing new applications for you. 
  128.     - A clear conscience!
  129.  
  130. Send a cheque or postal order made payable to 'Daniel Grace' for the sum given
  131. above to:
  132.  
  133.     Fractal Engine,
  134.     Garden Flat,
  135.     20 Bristol Road, Lower,
  136.     Weston-Super-Mare,
  137.     Avon, BS23 2PW 
  138.  
  139. ------------------------------------------------------------------------------
  140.  
  141. 1 Introduction
  142.   ------------ 
  143.  
  144. Description
  145.  
  146. The Fractal Engine 2 (FE2) is a multifunctional fractal image generation program
  147. which is capable of creating images in two and three dimensions.  These images
  148. can be viewed and manipulated in the application itself, saved in a file format
  149. suitable for importing into an art package or used to produce an animation
  150. sequence.  There are many different types of fractal family for which images can
  151. be created; in several different display formats including three-dimensional
  152. pictures.  This gives the user an infinite number of chaotic creations that they
  153. can produce with a minimum degree of effort. 
  154.  
  155.  
  156. Features
  157.  
  158.     * Eleven different complex planar fractal types. 
  159.     * Three-dimensional landscaping and Riemann sphere mappings. 
  160.     * Random fractal mountains and clouds. 
  161.     * Fractal popcorn using strange attractors. 
  162.     * Diffusion Limited Aggregation for growing fractals. 
  163.     * 16 and 32 bit integer routines for fast image creation, where
  164.       appropriate. 
  165.     * Full interactive colour-palette editing facilities with 480 internal
  166.       palettes. 
  167.     * Loading and Saving of image data separate of image. 
  168.     * Saving images in standard file format (Degas/Neochrome). 
  169.     * Easy to use interactive GUI. 
  170.     * Compatibility with version one of the Fractal Engine. 
  171.  
  172.  
  173. What's new with version two?
  174.  
  175. FE2 features a number of major and minor differences with its predecessor (FE1)
  176. with features added, removed and modified.  These are summarised, as follows:
  177.  
  178. * Three new complex fractal methods are provided in addition to the 
  179.   eight original ones.  These are Spider, Conjugate and a new Cubic. 
  180.  
  181. * Fractal popcorn, mountains, plasma clouds and two types of Diffusion Limited 
  182.   Aggregation (DLA) are provided in addition to the standard fractal types.
  183.   These are random fractals and produce more natural looking images. 
  184.  
  185. * Three-dimensional fractal landscapes of the quadratic, two cubics, conjugate,
  186.   spider and jellyfish fractals can be created to give striking images. 
  187.   Spherical mappings of all complex fractals except Newton's and degree-four 
  188.   can be performed to produce fractal planets. 
  189.  
  190. * Overlay option allows the new image created to be drawn over the
  191.   existing ones to produce combination images such as a fractal mountain over a
  192.   spherical mapping over a plasma cloud.  This is useful to produce landscape
  193.   scenes suitable for importing into an art package. 
  194.  
  195. * Integer 16 and 32 bit arithmetic is used with the quadratic, two cubics,
  196.   conjugate, spider and jellyfish fractals to greatly enhance the speed at which
  197.   these images can be created. This precision facility is selected automatically
  198.   by the FE2 after checking the accuracy required for the current image.  It
  199.   reverts to using floating point numbers when this becomes necessary.  All 
  200.   other types use ordinary floating point arithmetic. 
  201.  
  202. * Batch modes are provided to allow a whole plethora of images to be computed 
  203.   in one go.  This means that you can select the images you wish to draw and 
  204.   leave the computer to it whilst you go and do something more useful such as
  205.   sleeping.  Another new batch operation is poster.  This draws the image over
  206.   more than one screen so that large posters can be created for those special
  207.   images. 
  208.  
  209. * In addition to the LEM, scape and sphere methods, a standard method is
  210.   provided for those images where the boundary is unimportant.  Consequently 
  211.   this method is somewhat quicker for two-dimensional images than the usual LEM 
  212.   method. 
  213.  
  214. * As it was not a great improvement (and sometimes slowed image generation!) 
  215.   and, in light of the integer routines for the major complex types, 
  216.   periodicity checking has been removed.  Consequently the period parameter from
  217.   FE1 no longer exists. 
  218.  
  219. * The are numerous new parameters for the new types as well as the three-
  220.   dimensional methods (described later).  This has lead to the inevitable 
  221.   change in file format.  Although the extensions remain the same (.FUL, .SML 
  222.   and .CDF), the way and amount of data stored has changed considerably.  FE2
  223.   automatically detects a FE1 file and converts it accordingly upon loading.  It
  224.   always saves in the new file format which means that FE2 images or co-ords
  225.   CANNOT be loaded into FE1.  This should not be a problem as FE1 now becomes
  226.   obsolete with this release but be warned!
  227.  
  228. * The X-Y ratio of the image on screen has been adjusted to make it 1:1 where 
  229.   previously it was slightly different to allow for the television screen
  230.   stretching the picture slightly in the horizontal direction.  This should not
  231.   cause a problem but means that the images will appear slightly distorted on 
  232.   the TV but perfect on a monitor.  The impact of this means that FE1 pictures 
  233.   will be slightly incorrect when loaded.  Consequently, performing the zoom 
  234.   and julia options on FE1 images will lead to slight but maybe noticeable 
  235.   discrepancies. 
  236.  
  237. * There are no longer the default Mandelbrot sets of FE1! This is due to the 
  238.   memory limitations of supporting the 520 ST and the extra (wasted?) disk
  239.   space required to store them.  Since most of the main fractal types are 
  240.   calculated using integer math there is little wasted time in recreating 
  241.   these initial sets.  The best idea is to store only the initial Mandelbrot 
  242.   sets for your investigations on your current working disk; perhaps one 
  243.   per disk?
  244.  
  245. * The divide and conquer method is used on the two-dimensional methods of
  246.   all complex fractal types. 
  247.  
  248. * There are now, no longer separate Julia, Mandelbrot and Full image windows 
  249.   as this was cumbersome.  It is now less restrictive and easier to manipulate 
  250.   and combine images. 
  251.  
  252. * We have added extra default palettes to cope with the new fractal types
  253.   and methods as well as expanding the number of palettes in memory to 40 (from
  254.   32) to allow for more user-defined palettes to be created.  With twelve
  255.   different rgb modes for each palette, this now gives 480 internal definable
  256.   colour palettes.  Unfortunately, user-defined palettes from FE1 cannot be 
  257.   loaded into FE2.  This has to be done by hand; Re-enter the values into FE2. 
  258.  
  259. * The Swirl (rotate palette) option now works in both forward and reverse
  260.   directions. 
  261.  
  262. * There is now the facility to buffer one image in memory and recall it at a
  263.   later date.  This facilitates the ability to hunt for Julia sets.  Where a
  264.   Mandelbrot set is buffered, a Julia set drawn and then the buffered set can 
  265.   then be recalled to begin hunting for another.  This saves time of re-drawing
  266.   images. 
  267.  
  268. * Fractals are no longer automatically drawn after selecting options such as 
  269.   Zoom or Julia.  The draw option has to be selected to produce the image.  
  270.   On this note: The current picture exists until draw or batch options are 
  271.   selected. This means that the parameters displayed may not correspond to the 
  272.   parameters of the current image; if they have been changed. 
  273.  
  274. * When saving images, FE2 still suggests a default file name as with FE1 but 
  275.   uses a fileselect box to able users to customise the save name.  This hopefully
  276.   provides the best of both worlds?
  277.  
  278. * When designing animation sequences, FE2 will calculate a maximum number of 
  279.   frames for your computer's configuration (memory and disk) and suggest this 
  280.   value.  Also, note that you should now select the end frame first and then the
  281.   start frame.  This was the other way round in FE1. 
  282.  
  283. ------------------------------------------------------------------------------
  284.  
  285. 2 What is chaos and what are fractals?
  286.   -----------------------------------
  287.  
  288. Chaos is quite a new science but already well understood by scientists.  The
  289. first signs of its existence were noticed in the early sixties but it wasn't
  290. until the late seventies that it was really accepted by any great degree into
  291. the scientific community.  This is due mainly to the scepticism of scientists
  292. and intellectuals to accept the new theories concerning chaos being proposed
  293. from a wide variety of scientific backgrounds. 
  294.  
  295. Previously, data gathered from experiments in all fields that yielded
  296. unpredictable results were treated as erroneous and generally discarded. 
  297. Scientists were frightened by chaotic behaviour in systems they supposedly
  298. understood as it threatened to weaken the structure of their own theorems and,
  299. more generally, the current manner of scientific thinking.  When chaos theory
  300. was first discussed and brought to the scientific community, there was a great
  301. deal of scepticism and rejection as it shook the foundations of many
  302. well-established laws; for instance, it was realised that the world could not be
  303. described solely by using Euclidean shapes.  Chaos was a whole new way of
  304. thinking.  It said that maybe seemingly spurious, unpredictable data was
  305. important and should be considered; That it was just as important as ordered,
  306. predictable data; which is what most theorems were based on.  The new paradigm
  307. of chaos produced a large amount of resistance and scientists (and people) were
  308. not so easily convinced.  New theories have to be proven before they can be
  309. willingly accepted a plausible and even then some professionals will still
  310. discredit new ideas as fairy-tales. 
  311.  
  312. However, almost three decades after the first inklings of chaos hit the fan,
  313. proofs have been formulated, it has caused researchers in all fields to go back
  314. and examine previously discarded erroneous data.  Surprisingly, chaos works and
  315. has been proved time and time again, from geoscience to ecology to economics,
  316. old problems that have vexed scientists for decades are being explained .  Now
  317. that the new science has been accepted, there are many studies into different
  318. aspects of the field and the applications it can be put to.  Such as in the
  319. understanding of the human heart; it has been predicted that this research may
  320. lead to the developement of an intelligent pace-maker. 
  321.  
  322. The science of chaos has many different definitions, seemingly due to the wide
  323. variations in scientific influences attributed to people applying the subject in
  324. different fields.  A good generic definition is 'The unpredictable behaviour 
  325. seen in seemingly predictable systems'.  This can be applied to anything from 
  326. the randomness of the weather system to the erratic motion of a double pendulum
  327. in a laboratory to the white noise that corrupts radio transmissions. 
  328.  
  329. Fractal Geometry is a particular branch of chaos (there are many more).  It is
  330. the most highly publicised area of the science and has been brought to public
  331. attention by the awe-inspiring images that have been spread around various
  332. science journals, magazines and television programmes in the last five years or
  333. so.  There have been many programs for the computer enthusiast to get his or her
  334. teeth in to as well as articles in graphics and music magazines concerning their
  335. applications.  An object that is said to be fractal shows the following
  336. properties:
  337.  
  338.     * Self similarity. 
  339.     * Complexity on all scales. 
  340.  
  341. The former implies that the whole object is composed of smaller copies of the
  342. same object.  Which means that if one were to magnify an area of the object then
  343. the structures that would appear would bear a striking similarity to that of the
  344. whole.  The latter implies that no matter how high the degree of magnification
  345. there will always be detail that is just out of focus and requires further
  346. magnification to be seen clearly. 
  347.  
  348. A typical example given of the naturally occurring fractal objects is a
  349. country's coastline.  A coastline displays, to some degree, both the attributes
  350. which determine fractal characteristics in an object.  It has a certain amount
  351. of self similarity, where larger coves are actually made up of many smaller
  352. coves that are made up of still smaller coves.  It has complexity up to a very
  353. small scale and can have a seemingly very long boundary (in the case of mainland
  354. Britain) depending on the size of the scale used to measure the coastline.  For
  355. instance: If one surveyor measured the coastline using a metre rule and another
  356. used a centimetre rule then the latter would be able to measure smaller detail
  357. that may have been missed by the former.  The second surveyor will most likely
  358. say that the coastline is slightly longer that the first one did.  If a third
  359. surveyor uses a micrometer then his answer will be even more accurate as he will
  360. have been able to measure even smaller coves and hence, his answer will be
  361. greater still.  Fractal properties of coastlines have been studied in detail by
  362. many people in the geosciences. 
  363.  
  364.  
  365. 2.1 A brief history of fractals
  366.     ---------------------------
  367.  
  368. In this section, are listed and briefly discussed, some of the major players
  369. in bringing the field of chaos (and more specifically fractals) to light.  These
  370. people, have added the most to further the new science and are listed in
  371. chronological order:
  372.  
  373. 1918 Gaston Julia publishes his paper Sur l'iteration des fonctions
  374. rationnelles.  Julia had discovered the geometric shapes that were later named
  375. after him however, he did not know this at the time as they were impossible to
  376. produce a visual representation of.  He realised the strange properties that are
  377. apparent when iterating such functions.  Julia is considered the grandfather of
  378. fractals. 
  379.  
  380. 1919 Pierre Fatou, a fellow mathematician of Julia, publishes his paper Sur les
  381. Θquations fonctionelles which discusses similar mathematical properties.  His
  382. name has been used to describe the disconnected Julia sets (Fatou dust) found
  383. near the outer parts of the Mandelbrot set. 
  384.  
  385. 1960s Edward Lorenz, a meteorologist experimenting with weather predictions
  386. discovers the butterfly effect (i.e.  a small change in a system can perpetuate
  387. to a large change).  He publishes his paper deterministic non-periodic flow in a
  388. meteorological journal and produced images of a strange attractor (the Lorenz
  389. attractor) which showed order and unpredictability.  The fractal popcorn type
  390. available in FE2 demonstrates the use of many strange attractors to produce
  391. weird and wonderful patterns. 
  392.  
  393. 1979 Benoit Mandelbrot, probably the most famous scientist in the field, was
  394. working at IBM.  He applied the ideas of Julia and Fatou as well as his own
  395. research to produce the first crude images of the Mandelbrot set.  This
  396. discovery earned him world renown in the science of chaos and he is known as the
  397. father of fractals.  In 1982 he published the book the fractal geometry of
  398. nature and since then has written many more articles and travelled world-wide
  399. giving talks on fractals as well as continuing his research at IBM. 
  400.  
  401. 1986 Heinz-Otto Peitgen and Peter Richter published the beauty of fractals and
  402. in doing so were the first to truly demonstrate the amazing graphical images
  403. that could be produced by using fractals.  This book sold thousands of copies
  404. would-wide and is probably responsible for the popularity that the discipline of
  405. fractal mathematics now enjoys. 
  406.  
  407.  
  408. 2.2 How are these images created? - The mathematics behind fractals.
  409.     ---------------------------------------------------------------
  410.  
  411. Fractals are a phenomenon, they are extremely complex and unpredictable shapes 
  412. that are produced using seeming simple systems but at the same time show a 
  413. surprising amount of order and consistency. 
  414.  
  415. There are variety of different mathematical methods that can be used to produce
  416. fractal and fractal-like images.  These methods fall into two main categories:
  417.  
  418.     * Random Fractals
  419.     * Deterministic Fractals
  420.  
  421.  
  422. Random fractals
  423. ---------------
  424.  
  425. Random fractals contain the element of randomness and are generally used to
  426. simulate nature.  Most notably in production of fractal landscapes and clouds. 
  427. One such method that is often used to produce such natural landscapes (such as
  428. the one from the planet that is reborn using the Genesis machine in Star Trek
  429. II) is the Midpoint Displacement Method (MDM).  This method works by the
  430. recursive subdivision of specified shapes.  In a one-dimensional world this
  431. could be a line or in a two-dimensional one, a triangle.  In the two-dimensional
  432. world the midpoint of each edge of the triangle is marked and the three are
  433. connected together.  The y co-ordinate of each midpoint is then perturbed based
  434. on a pseudo-random seed which produces four smaller triangles.  In other words,
  435. the centre of each edge of the triangle is displaced to form new triangles.  The
  436. displacement can then be applied to the edges of the new triangles.  Examples of
  437. random fractals using this method in the Fractal Engine are the mountains and
  438. clouds. 
  439.  
  440.  
  441. Deterministic fractals.
  442. ----------------------
  443.  
  444. Deterministic fractals are those which contain the attribute of self-similarity
  445. That is they are composed of smaller copies of the whole or part of the whole 
  446. image.  They are created by a certain rule that is applied many times over, 
  447. probably recursively.  Three such fractal types that fit into this general 
  448. category are Sierpinski carpets, von Koch snowflakes and Julia sets. 
  449.  
  450. Sierpinski carpets and von Koch snowflakes are both directly produced by
  451. removing, in the former's case and adding, in the latter's case copies of the
  452. original to themselves.  In the case of the von Koch snowflake: Start with an
  453. equilateral triangle, at the middle of each side, add a triangle a third of the
  454. size of the original.  Repeat this process with the added triangles and so on. 
  455. This produces a shape with a mathematically infinite boundary, yet the whole
  456. shape can still be encompassed inside a circle drawn around the original
  457. triangle.  This implies that the shape also has a finite area just like the
  458. circle surrounding it.  The Sierpinski carpet is also based on the same
  459. principle but in reverse: Start with a square, cut out a square one-ninth the
  460. area of the original from its centre and do the same for the eight smaller
  461. squares remaining and so on.  The three-dimensional version of this (called a
  462. gasket) is a body with an infinite surface area but no volume!
  463.  
  464. Julia sets are rather different from this but possess the same characteristics
  465. of self similarity on all scales.  They are created by the recursive iteration
  466. of a polynomial in the complex plane; The same method can also be applied to
  467. real polynomials although they are not strictly speaking fractals but do have
  468. some similarity with the real thing.
  469.  
  470. Mandelbrot sets are the telephone directories of the corresponding Julia sets
  471. for the same polynomial.  That is; they contain all the possible shapes produced
  472. by the Julia sets joined together.  It is possible to see virtually the same
  473. pattern in a close-up of a Mandelbrot set as one can in the Julia set
  474. corresponding to that point.  Whereas Julia sets repeat the global pattern upon
  475. magnification, Mandelbrot sets are continually changing as the detail is
  476. magnified more and more.  This means that one can explore them, forever, always
  477. finding new patterns and details to look at.  FE2 allows you to investigate
  478. eleven different Mandelbrot sets and their Julia sets; producing images in both
  479. two and three dimensions. 
  480.  
  481. The biggest difference to be noted between random and deterministic fractals is
  482. that, assuming you have a truly random seed, the former will always produce a
  483. different image whereas the latter will be the same image every time the
  484. algorithm is run.  This has the advantage that one can guarantee on getting a
  485. particular image and may manipulate it (zoom in, zoom out, pan, etc.) without
  486. losing the original image.  As there is an infinite number of different images
  487. (in the case of Julia sets) then one has seemingly random variation without the
  488. uncertainty. 
  489.  
  490. The Fractal Engine now supports both random and deterministic fractals as well
  491. as a family based on a method known as Diffusion Limited Aggregation (DLA). 
  492. This uses probabilities to grow plant-like structures that have realistic
  493. properties. 
  494.  
  495. ------------------------------------------------------------------------------
  496.  
  497. 3 User Guide
  498.   ----------
  499.  
  500. When the Fractal Engine is run, you are presented with a screen.  This is known
  501. as the main menu and is the root from which all operations available are
  502. selected and performed.  The main menu screen has three main regions:
  503.  
  504. top window - displays the title and any other relevant information. 
  505.  
  506. menu window - this contains the main menu with the following operations
  507.  
  508.     julia      - select new parameters for drawing Julia sets. 
  509.     zoom      - magnify the current image, if it exists. 
  510.     draw     - transforms the current co-ordinates into an image. 
  511.     methods  - select a different drawing method for current fractal type. 
  512.     edit cd  - edit the current co-ordinates (parameters). 
  513.     copy cd  - replaces the curent co-ordinates by the image co-ordinates. 
  514.     load cd  - load co-ordinates from file into parameters window. 
  515.     save cd  - store co-ordinates in parameters window to file. 
  516.     load pic - load image and co-ordinates from file. 
  517.     save pic - save image and co-ordinates to file. 
  518.     storepic - store the current image in memory. 
  519.     restore  - recall a previously stored image from memory. 
  520.     batch      - menu of operations for multiple drawing of images. 
  521.     view      - view the current image. 
  522.     types     - select a new fractal type with default co-ordinates. 
  523.     palettes - menu of operations for manipulating the palette. 
  524.     save pal - saves all palette data to disk. 
  525.     quit      - why would you want to do that?
  526.  
  527. parameters window - displays the current co-ordinates which will take effect
  528. next time draw is selected. 
  529.  
  530.  
  531. 3.1 Drawing simple fractal images
  532.     -----------------------------
  533.  
  534. The Fractal Engine has the ability to draw a total of sixteen different types of
  535. fractal that are selected by using the types menu as follows:
  536.  
  537. From the title screen, click on the types button.  The types menu will then be
  538. displayed.  All the different available types can be selected by clicking on the
  539. corresponding buttons of this menu and then clicking on the choose button.  When
  540. this is done, you are returned to the main menu with the new type selected;
  541. clicking on the exit button will return you to the starting menu without
  542. selecting a new fractal type (i.e.  no change will be made). 
  543.  
  544. There are four main groups of fractal types, as follows:
  545.  
  546.     Group I   Complex Fractals
  547.     Group II  Fractal Popcorn
  548.     Group III Diffusion Limited Aggregation (DLA)
  549.     Group IV  Random Fractals
  550.  
  551. Once the new fractal type has been selected, you may draw the default image
  552. (usually Mandelbrot set) for that type by clicking the draw button from the main
  553. menu as soon as you are returned to it.  Once FE2 has completed the drawing of
  554. the image, you are returned immediately to the main menu.  The current image can
  555. be displayed by clicking on the view button.  Clicking again whilst viewing the
  556. current image returns you to the main menu. 
  557.  
  558. Having selected your required fractal type, you may then choose one of several
  559. drawing methods with which the image should be created.  The methods available
  560. vary depending on the type of fractal selected and are chosen by clicking on the
  561. methods button from the main menu. 
  562.  
  563. The complex fractal group is the main source from which most images will
  564. probably be drawn.  They are the deterministic fractals discussed in section two
  565. and produce the widest variety of beautiful and varied patterns.  There are six
  566. drawing methods available to these fractals:
  567.  
  568.  
  569. Two-dimensional methods
  570. -----------------------
  571.  
  572. Two-dimensional flat fractal images are drawn using FE2 by one of two similar
  573. methods which give slightly different effects.  The normal method draws a
  574. standard fractal image with no enhancement and is based on the well-known Level
  575. Set Method as used by the majority of other fractal applications available.  The
  576. LEM (Level Estimator Method) is our own hybrid method and allows for
  577. customisation of the image by the use of an extra parameter, boundary.  Both of
  578. these methods use a technique known as divide and conquer which improves the
  579. speed of drawing but does no effect the resulting image.  In addition to this,
  580. some of the complex fractal types use 16 and/or 32 bit integer arithmetic (where
  581. appropriate) which is faster than the standard floating point arithmetic used in
  582. FE1.  There are also the norm sml and LEM sml methods which behave exactly the
  583. same as the standard normal and LEM methods except that they produce quarter
  584. sized small images.  These are faster to draw and take up less disk space to
  585. save. 
  586.  
  587. There are also two three-dimensional methods available to this group of fractal
  588. types, sphere and scape, and these are described in more detail in the next
  589. section. 
  590.  
  591. For the Popcorn and DLA groups, it is not necessary to have any more than the
  592. default method and hence the methods option is unavailable to these fractal
  593. types. 
  594.  
  595. There are two types of random fractals: clouds and mountains.  The clouds may
  596. use one of two methods, plasma and sky.  The latter can be used as a backdrop to
  597. the mountains (which do not have any optional methods available) or
  598. three-dimensional complex fractals (see later). 
  599.  
  600. Having clicked on the methods button, any available methods will be displayed in
  601. the methods menu.  Clicking on the appropriate method will select it and return
  602. you to the main menu where draw can be used to view the image. 
  603.  
  604. When drawing using the normal method, you are returned to the main menu
  605. immediately the image has been completed.  With the LEM method however, the
  606. image is not completed but appears in a kind of wire-frame form.  You are
  607. prompted for a value for boundary (see 3.4) and the image is filled.  You are
  608. then asked to confirm this value or enter a new one.  Once you are satisfied
  609. with the boundary value, select yes to return to the main menu.  Try
  610. experimenting!
  611.  
  612. When a new fractal type is selected, a default method is chosen.  This is normal
  613. for the complex group and plasma for the clouds.  The following table summarises
  614. the drawing methods available to each complex type.  The arithmetic used for
  615. the complex group is annotated by 16 (for 16 bit integer arithmetic), 32 (for 32
  616. bit) and fp (floating point).  A blank indicates that the method is unavailable
  617. for the corresponding fractal type. 
  618.  
  619.  
  620. Type        Normal         LEM         Sphere         Scape
  621. ---------------------------------------------------------------------
  622. Quadratic     16/32/fp     16/32/fp     16/32/fp     fp
  623. Conjugate     16/32/fp     16/32/fp     16/32/fp     fp
  624. Spider         16/32/fp     16/32/fp     16/32/fp     fp
  625. Jellyfish     16/32/fp     16/32/fp     16/32/fp     fp
  626. Cubic 1         32/fp         32/fp         32/fp         fp
  627. Cubic 2     32/fp         32/fp         32/fp         fp
  628. Barnsley     fp         fp         fp
  629. Sine         fp         fp         fp
  630. Cosine         fp         fp         fp
  631. Newton         fp         fp
  632. Degree 4     fp         fp
  633.  
  634.  
  635. As previously mentioned, the complex fractal types are the most common to be
  636. found in fractal applications.  FE2 provides a plethora (eleven in total) of
  637. different types offering an insight into the effects of using different
  638. polynomials.  Obviously, the list is endless and some users may feel that it
  639. would be a nice feature to be able to enter their own (ß la Fractint).  However,
  640. the variation provided encompasses most of the different characteristics found
  641. using different polynomial equations and so and endless supply would not only
  642. overcomplicate the operation but also be superfluous.  Instead of this FE2 uses
  643. two different three-dimensional image methods to enhance images and open a door
  644. on a whole new world of graphic design possibilities. 
  645.  
  646. The two methods for creating three-dimensional complex fractal images are
  647. spherical mappings and landscape renderings. 
  648.  
  649.  
  650. Spherical mappings
  651. ------------------
  652.  
  653. Spherical mappings involve taking each point on the two-dimensional plane and
  654. mapping it onto the surface of a sphere (known as a Riemann sphere) using
  655. stereographic projection.  This produces an interesting and unusual effect, if
  656. the correct fractal type is mapped.  This option is available for all but the
  657. newt and deg4 complex fractal types and is selected by clicking on the sphere
  658. button from the types menu.  You will be returned to the main menu where you
  659. should then click on draw.  You will be presented with a flexi-sphere which can
  660. be used to tailor the size and position of the sphere on the screen.  These are
  661. chosen by using the mouse in the same manner as the zoom-box (i.e.  left button
  662. - reduce, right button - enlarge, spacebar - selects: see 3.3, below).  Once you
  663. have pressed spacebar, the image will be drawn accordingly. 
  664.  
  665.  
  666. Landscape renderings
  667. --------------------
  668.  
  669. FE2 uses parallel projection to produce three-dimensional renderings of complex
  670. fractals calculated using a method known as the Continuous Potential Method
  671. (CPM).  CPM has the ability to smooth the curvature of the mountains to make
  672. them more realistic and less sheer.  The resulting picture comprises of a
  673. mountain with slopes corresponding to the different colour bands of the
  674. two-dimensional methods and the set becoming plateaus of the highest physical
  675. points on the screen.  Remember that the screen is only two-dimensional and so
  676. the real highest points of the landscape will not necessarily be the highest
  677. points on the screen.  Landscapes are generated by clicking on the scape button
  678. from the types menu and then selecting draw.  Once again, if an image already
  679. exists, you have the option to overlay. 
  680.  
  681. Both these methods have numerous parameters which are discussed in more detail
  682. in 3.3; for now just try experimenting with different types.  Then look at Julia
  683. sets and Zooms (see 3.2) and try some more spheres and landscapes.  Note:
  684. landscapes of zooms can produce some strange results - so be warned!
  685.  
  686. One last thing to note at this point is the overlay option.  You should have
  687. noticed that, if an image already exists when you click on draw, an alert box
  688. asks you whether you wish to overlay over the existing picture.  Clicking on yes
  689. will leave the existing image in-tact, allowing you to create fractal scenes. 
  690. Some of the example pictures on the distribution diskette were created using the
  691. facility and are ideal for editing with an art package. 
  692.  
  693.  
  694. 3.2 Julia sets and zooming
  695.     ---------------------- 
  696.  
  697. Initially, when a new fractal type is selected, the Mandelbrot set will be drawn
  698. if draw is selected.  For the complex fractal types, Julia sets are available by
  699. clicking on the julia button from the main menu.  If a current Mandelbrot set
  700. image exists you are given the option to select a c-value visually using the 
  701. mouse or from the keyboard.  Choosing visual selection causes the screen to be
  702. flipped to view the Mandelbrot set.
  703.  
  704. By using the mouse pointer, you can select co-ordinates for a new Julia set. 
  705. By clicking the left mouse button the Julia set corresponding to the current 
  706. pointer position is selected and you are returned to the main menu; with the 
  707. new parameters displayed in the parameters window.  If you select keyboard 
  708. entry then you are prompted to enter the realc and imagc parameters in the 
  709. parameters window (see 3.4 for a description of these).  If no Mandelbrot set 
  710. exists you can only use keyboard entry.  By clicking on the draw button, you 
  711. may draw your new julia set.  (Obviously, you may select a different method with
  712. which to display it but do not select a new type unless you wish to lose the new
  713. Julia set parameters and current image!)
  714.  
  715. A tip for selecting Julia sets in this manner is to make sure that there the
  716. point selected is either in the set or near its boundary otherwise the resultant
  717. image will most likely be particularly uninteresting! Also, in order to select
  718. Julia sets in this manner, you have to have a Mandelbrot set image (either
  719. default or zoomed-in) to select from.  Try experimenting with selecting Julia
  720. sets from different regions of a Mandelbrot set to get a feel for the different
  721. shapes that exist and how they relate to one another.  A good plan at first is
  722. to go for ones at the centres of circles.  You cannot select a Julia set from 
  723. a Julia set as this doesn't make any sense!
  724.  
  725. A good idea when hunting for the Julia sets of a particular Mandelbrot set is to
  726. use the storepic and restore options available from the main menu.  For example:
  727.  
  728. Select a new complex fractal type (say spid).  Select draw and when you are
  729. returned to the main menu click on the storepic button.  This will store the
  730. image in memory.  Select julia as described above and draw the Julia set.  Now
  731. try another Julia set by clicking on restore to bring back the image stored in
  732. memory (your Mandelbrot set).  With the image restored, you can now try drawing
  733. another Julia set.  Note that restore does not restore the co-ordinate 
  734. information to the parameters window - you can use the copy cd (see 3.3) to 
  735. overcome this problem.  Obviously, storepic and restore are not limited to just
  736. Mandelbrot sets and can be used for all images which FE2 can draw.  
  737.  
  738.  
  739. Zooming
  740. -------
  741.  
  742. As well as selecting Julia sets to draw, both Julia and Mandelbrot images of
  743. complex fractal types may be magnified by the use of the zoom option to reveal
  744. greater detail and allow full investigation to take place.  To perform this
  745. operation, a current image has to exist, otherwise there'd be nothing to
  746. magnify!
  747.  
  748. Clicking on the zoom button from the main menu flips to the current image and
  749. gives you a zoom-box which can be adjusted and manipulated to provide you with
  750. the required magnification window.  Clicking the left mouse button reduces the
  751. size of the zoom-box and clicking the right mouse button increases it again. 
  752. The zoom-box is a rectangle with two diagonals across its corners to allow you
  753. to centre it accurately.  Moving the mouse, will correspondingly move the box. 
  754. It cannot be off the screen. 
  755.  
  756. Once, the desired magnification window has been achieved, pressing the spacebar
  757. selects it and returns you to the main menu where the draw option can be used. 
  758. Again, a different method can be selected where applicable.  Alternately,
  759. pressing the 'o' key will zoom-out by shrinking the whole image into the are 
  760. bounded by the zoom-box.  The zoom facility cannot be used to magnify an 
  761. existing sphere or scape image as the perspective would be totally incorrect 
  762. and very difficult to calculate accurately. 
  763.  
  764. The zoom-box facility is also available for the fractal popcorn. 
  765.  
  766.  
  767. 3.3 Editing parameters
  768.     ------------------
  769.  
  770. New fractal parameters are selected when a new fractal type is chosen or the
  771. julia or zoom options are used.  You may also manually alter the parameters by
  772. clicking on the edit cd button.  Having done this, the cursor will appear on the
  773. first editable parameter entry in the parameters window.  Each parameter can be
  774. entered by typing it's the new value and pressing return.  If you type an
  775. invalid parameter, you will not be allowed to re-enter it.  To leave any
  776. parameter unchanged, just press return without typing a new value.  Once the
  777. last parameter has been entered, control returns to the main menu.  Clicking on
  778. the draw button will draw a new image with the new parameters. 
  779.  
  780. Once again, the parameters available depend on the fractal type selected (see
  781. 3.1) and these are summarised below for each different fractal group and type. 
  782.  
  783. (Before looking through this list of parameters, take note! The default values
  784. supplied automatically by FE2 are adequate for most purposes, so do not worry if
  785. you cannot understand a particular parameter from its description below.  Some
  786. of them are obvious in how they effect the image but others are more abstract:
  787. The hardest parameters 'to get right' are those used in 3D rendering; so get to
  788. know the 2D fractals and their parameters first before experimenting with the 3D
  789. fractals.)
  790.  
  791.  
  792. Group I - Complex fractal types:
  793. -------------------------------
  794.  
  795. xmin, ymin - minimum value of z on the complex plane.  This is used as the
  796. reference point for an image and is the starting point from which pixel values
  797. are calculated and physically represents the bottom left-hand corner of the
  798. screen. 
  799.  
  800. xstep - the amount by which z is increased on the x axis for each pixel across
  801. the screen.  The ystep value is calculated for this.  This parameter needs care
  802. to enter manually as the accuracy is very important.  Remember that the more the
  803. image is magnified, the smaller the value for xstep should be. 
  804.  
  805. Certain fractal journals, books and applications use a slightly different method
  806. for representing these parameters by having xmax and ymax parameters instead of
  807. xstep.  The following is an example of how you would perform this conversion, if
  808. necessary:
  809.  
  810. Say the values given were (xmin, ymin) = (-0.5, 0.25)
  811.               (xmax, ymax) = (1.2, 0.25)
  812.  
  813. Use xstep = (xmax - xmin) / xres, where xres is the pixel resolution of the
  814.                   screen on the x axis.  (320 for ST low res)
  815.  
  816. Hence, xstep = (1.2 - (-0.5)) / 320 = 0.0053125
  817.  
  818. realc, imagc - real and imaginary components of c-value - for Julia sets only.
  819. These parameters specify the co-ordinates of the Julia set you wish to draw.
  820. If you think of the Mandelbrot set as a telephone directory of Julia sets, then
  821. they represent the individual telephone numbers!
  822.  
  823. iters - iterations.  This is the value for the maximum number of iterations
  824. allowed before a point is assumed to be in the set and coloured correspondingly
  825. (usually black).  The lower the value, the more chance a pixel has of being the
  826. set colour and the higher, the less chance it has.  Higher values increase the
  827. detail and the should be used as the magnification increases or the boundary
  828. becomes convoluted.  Values should range between 30 and 1000 depending on the
  829. magnification. 
  830.  
  831. prcsn - precision.  There are three levels of accuracy available for calculating
  832. complex fractal images:
  833.  
  834.     0 - 16-bit integer arithmetic. 
  835.     1 - 32-bit integer arithmetic. 
  836.     2 - Standard floating-point arithmetic. 
  837.  
  838. The higher the precision, the better the accuracy of the image (i.e.  the more
  839. correct the pixel values calculated are) but the longer the time taken to draw
  840. the image.  The higher the magnification, the smaller the value for xstep and
  841. consequently the more accurate the mathematics needs to be.  You should rarely
  842. have to deal with this parameter as FE2 automatically uses the best for the
  843. image requested.  Not all precision levels are available for all complex fractal
  844. types and methods and this is summarised by the table in subsection 3.1. 
  845.  
  846. sprd - spread.  This parameter allows you to define the distribution of colour
  847. to the levels outside the set to be drawn.  The default value is 1 and this
  848. implies that a new colour is used each new level (the colours are cycled). 
  849. Larger values of spread will slightly reduce the drawing time.  If an image
  850. appears over-complicated by many changes in colour, try increasing the value for
  851. spread. 
  852.  
  853. bound - boundary.  This parameter is only used by the LEM method for complex
  854. fractal types and defines how sensitive the boundary checking is.  Low values
  855. produce a thicker border around the set whereas high values mean that there is
  856. little or no boundary drawn.  This parameter should be used when there is a lot
  857. of detail close to the set and colours may change drastically between adjacent
  858. points.  If the boundary between the set and levels outside is already very
  859. distinct then this parameter should be set to a high value.  The normal method
  860. uses no boundary checking.  Values between 3 and 8 are adequate for most 
  861. purposes. 
  862.  
  863. The following are used by the three-dimensional sphere and scape methods:
  864.  
  865. spclr - specula component of light-rendering model (fs).  This is the property
  866. that objects with shiny surfaces possess.  The light reflection seen is a result
  867. of the light source ray intersecting with the surface and is generally of the
  868. same colour (due to the pigment of most objects being below the surface).  The
  869. more reflective the surface, the purer and less diffuse the reflected light 
  870. ray.  Thus, the more shiny the surface is, the more perfect the reflection from
  871. it.  Values are between 0 and 1; a good value would be somewhere between 0.35 
  872. and 0.75. 
  873.  
  874. shine - shininess exponent (b).  This parameters controls how mirrored the
  875. object's surface is and effects the specula reflection property.  A low value
  876. (say 2) means a dull surface and consequently more spreading of light across it
  877. and a high value (say 100) means a shiny surface and a more concentrated
  878. pin-point reflection occurs. 
  879.  
  880. The following are used only by the sphere method:
  881.  
  882. li, lj, lk - Are the i, j and k components of the light source vector.  As the
  883. sphere is viewed from the underside, lk should always be negative.  li and lj
  884. correspond to the x and y position on the screen.  The larger the value of lk,
  885. the further from the sphere the light source is and consequently the light that
  886. reaches it is lessened and more spread-out. 
  887.  
  888. The following are used only be the scape method:
  889.  
  890. hght - height.  This is how tall the maximum heights of the physical landscape
  891. should be.  Remember that if you view the image from above then you are unable
  892. to perceive the height.  Whereas, if you view it from the side the hght
  893. parameter will have a dramatic effect on the image. 
  894.  
  895. offst - offset.  This is how far down the screen the landscape image is offset. 
  896. This value can normally be left as default but you might change it when putting
  897. together scenes using the overlay facility (see later).  You can use this
  898. parameter to tweak images which appear too far above or below the centre of the
  899. screen.  A sensible value for most images would be about 20 pixels. 
  900.  
  901. extnt - extent.  This is probably one of the hardest parameters to get to grips
  902. with! It varies the number of pixels used to represent the landscape.  If you
  903. find that there is part of your landscape missing at the bottom of the screen
  904. then try increasing this parameter.  However, extent will add to both the rear
  905. and front of the image.  If you wish to keep the same horizon then try
  906. increasing the value for offst instead.  If you are viewing directly from above
  907. (i.e.  view = 90) then extent should be set to its maximum value of 200. 
  908.  
  909. light - This is the angle at which the light ray enters the picture and is given
  910. in degrees.  The light ray always enters from the left-hand side of the image
  911. and effects the shadows cast by the peaks of the landscape.  Values are between
  912. 0 degrees (6 o'clock in the evening and long shadows) and 90 (12 o'clock midday
  913. and no shadows).  45 degrees is for most purposes, champion!
  914.  
  915. view - This parameter is also measured in degrees between 0 and 90 and is the
  916. angle at which the viewer sees the image.  The 'eye' is always located directly
  917. in front of the image.  A low angle represents looking directly from the side
  918. whereas a high angle is like flying above in a helicopter.  A 90 degree angle
  919. will lose all perspective and really defeats the object of the three-dimensional
  920. landscape in the first place.  Try using values between 15 and 75. 
  921.  
  922.  
  923. Group II - Fractal popcorn:
  924. --------------------------
  925.  
  926. xmin, ymin, xstep - work the same as for group I fractals. 
  927.  
  928. grid - This is the coarseness of the popcorn.  Valid values are ones that divide
  929. both 320 and 200 exactly (e.g.  2, 4, 5, 10, etc.).  The more coarse the 
  930. popcorn, the quicker it is to draw.  Try using 10 for a quick sketch and 4 for a
  931. good detailed result. 
  932.  
  933. sprd - Defines the colour distribution as for group I fractals. 
  934.  
  935.  
  936. Group III - DLA:
  937. ---------------
  938.  
  939. seed - Is the seed for randomly generating the numbers used to draw the image. 
  940. The same seed twice will produce same picture because computers cannot generate
  941. perfectly random numbers.  Try any value you like (i.e.  a telephone number). 
  942.  
  943. sprd - Once again spread of colours as group I fractals. 
  944.  
  945. The Point-DLA types also have the following two parameters:
  946.  
  947. stick - Effects the probability of a point sticking to another point! Values are
  948. between 0 and 1.  Low values produce a more dense, moss-like image whereas, high
  949. values produce a spindly wispy dendrite thingy. 
  950.  
  951. symtr - symmetry.  Effects how uniform the shape grows.  Values are between 0
  952. and 1.  Low values make the image more tree-like whereas, high values make it
  953. more circular and faster to draw. 
  954.  
  955.  
  956. Group IV - Random fractals:
  957. --------------------------
  958.  
  959. seed - Behaves the same as for group III fractals. 
  960.  
  961. dmnsn - dimension.  This parameter effects the fractal dimension of the image. 
  962. Values are between 0 and 1.  Low values make the landscape more spiky and alien
  963. looking whereas, high values make it smoother and more natural looking. 
  964.  
  965. The parameters spclr, hght, offst, light and shine are used by the mountains
  966. only and behave the same way as for the landscapes of the group I fractals. 
  967.  
  968.  
  969. Final word on parameters
  970. ------------------------
  971.  
  972. Although FE2 is set-up with default values which are perfectly adequate to
  973. generate all your images, it is definitely worth playing with different
  974. parameters as much as possible - you cannot do any harm and may discover some
  975. very interesting results.  There are many parameters associated with the complex
  976. types and these may seem a little daunting at first but after a short amount of
  977. time, you will discover that you hardly ever have to touch most of them. 
  978.  
  979. The final option of concern in this section is the copy cd button from the main
  980. menu.  When you click on this, it copies the parameters of the current image
  981. into the parameters window.  If the parameters are already correct then it will
  982. have no effect.  This is useful, if you have chosen on option (such as zoom,
  983. julia, types, etc.) and then decide to try something else and wish to get your
  984. original parameters back again.  In this way, copy cd can be thought of as being
  985. the opposite to draw (which takes the parameters and creates an image).  It can
  986. be used at any time and does not effect the image currently displayed. 
  987.  
  988.  
  989. 3.4 Loading and saving
  990.     ------------------
  991.  
  992. It's fine to go drawing lots of different pictures but occasionally you may
  993. decide you wish to save the images.  Either because you have found a
  994. particularly delightful picture or just as a safety mechanism when performing
  995. deep magnification investigations of Mandelbrot sets.  FE2 provides two ways in
  996. which fractal data can be loaded and saved: co-ordinates and images. 
  997.  
  998. Co-ordinates are the fractal parameters only and exclude the image.  These are
  999. useful for a number of reasons: They take up little space on disk (less than 150
  1000. bytes), so if you've not got a hard disk or wish to give your images to someone
  1001. else with FE2 or want to port them to a different version (such as the Windows
  1002. version), then this is the choice to use.  Also, as discussed later, you may
  1003. wish to save a number of different co-ordinates to be drawn all in one go by one
  1004. of the batch options.  Co-ordinates are loaded and saved by clicking on the 
  1005. load cd and save cd buttons respectively and end in the .CDF (co-ordinate data
  1006. file) extension.  The load cd and save cd options as well as load pic and 
  1007. save pic use the standard Atari fileselect box.  Consult your ST manual for 
  1008. details on how to use this. 
  1009.  
  1010. Images can be saved using the save pic operation in one of three forms.  An
  1011. alert box will ask you to choose the format, FE2, PI1 or NEO.  The standard is
  1012. Fractal Engine format (FE2): These files comprise of the co-ordinate data and
  1013. the pixel information for the image and have the suffixes .FUL (full size) or
  1014. .SML (small size).  Full size images occupy the whole screen and take
  1015. approximately 32000 bytes to store whereas small size images only occupy quarter
  1016. of the screen and take approximately 8000 bytes to store.  Normally, one would
  1017. use small size for working images as they are quicker to draw (quarter of the
  1018. time) and take up less space and full size for your final images.  FE2 will
  1019. automatically detect the image size and save it as .FUL or .SML accordingly. 
  1020.  
  1021. Alternatively, images can also be saved in Degas and Neochrome formats to allow
  1022. them to be edited by a package such as Spectrum 512 or Canvas or printed to a
  1023. colour printer.  The file extensions are: .PI1 and .NEO respectively.  One
  1024. feature of saving images in these formats is the ability to reduce the number 
  1025. of colours used.  This is useful when using the images as backdrops to other 
  1026. pictures.  As there are only 16 colours available on screen at any one time 
  1027. with the ST, reducing the number of colours may lose some clarity but gives you
  1028. more scope for designing you own exciting and original pictures.  The number of 
  1029. colours can be reduced to either 9 or 4 depending on your requirements.  This 
  1030. gives an extra 7 or 12 colours available to you in the art package; though the 
  1031. 4 colour option greatly depreciates the clarity of the fractal image so avoid 
  1032. using it where possible.  For normal image storage, choose the 16 colours 
  1033. option when prompted. 
  1034.  
  1035. Loading images is straightforward.  Selecting load pic loads in the new image
  1036. and its co-ordinates into the parameters window.  You may then perform any of
  1037. the usual operations without the need to re-draw the image.  With co-ordinate
  1038. files, if you wish to zoom or perform some other operation then you will need to
  1039. use the draw operation before you can proceed.  Remember that loading only
  1040. co-ordinates does not erase the existing image and it's parameters can be 
  1041. retrieved using the copy cd operation.  You cannot re-load images saved in 
  1042. Degas or Neochrome format. 
  1043.  
  1044. You will notice that FE2 tries to simplify choosing names for your co-ordinate
  1045. and image files.  You may choose to go with the flow or use your own names. 
  1046. Also, it forces the filename extension and will not let you change it as this
  1047. will cause problems for the batch operations. 
  1048.  
  1049.  
  1050. 3.5 Changing the palette
  1051.     --------------------
  1052.  
  1053. It is important when using all drawing methods, but especially sphere and scape,
  1054. to have a correct palette with which to colour your image.  If this is not the
  1055. case, the resulting image may lose clarity.  A poor palette can leave an image
  1056. corrupted and uninterpretable.  It is for this reason that FE2 comes with
  1057. numerous default palettes which have been designed to get the best from your
  1058. images. 
  1059.  
  1060. However, you will obviously wish to design some palettes of your own or modify
  1061. some of the existing default palettes.  FE2 provides nearly forty configured
  1062. default palettes (see table below) and all of these may be user-defined.  Unless
  1063. you are unhappy with a default palette however, we suggest you do not edit it. 
  1064.  
  1065. To manipulate the palettes click on the palettes button from the main menu. 
  1066. This will flip you to the image screen regardless of whether an image currently
  1067. exists - it is probably best to have the image you wish to design a palette for
  1068. in memory, otherwise you can't really see what you are doing.  The first thing
  1069. you are presented with is a moveable wireframe box.  This enables you to place
  1070. the palette menu wherever you choose on the screen.  Once you are satisfied with
  1071. its positioning, click the mouse button and it will appear. 
  1072.  
  1073. The menu has the following buttons:
  1074.  
  1075.     pal   - / pal + - Decrement and Increment the current palette number. 
  1076.     mode  - / mode + - Decrement and Increment the current mode number. 
  1077.     swirl - Rotate the current colour palette. 
  1078.     hide  - Hide the palette menu. 
  1079.     edit  - Edit the current palette. 
  1080.     exit  - Return to the main menu. 
  1081.  
  1082. FE2 uses a special method to give you more scope for viewing images in different
  1083. palettes.  This is where the mode parameter comes in to play.  What happens is
  1084. the values for the quantities of red, green and blue in the palette are swapped
  1085. about to give you extra variations.  This does not effect the intensity or
  1086. saturation of the different colours in the palette but only effects the hue. 
  1087. The mode gives extra scope for a possible 2 * 3! * 40 = 480 different palettes
  1088. in memory!.  The pal -, pal +, mode - and mode + can be used to access all these
  1089. variations of colour palette.  The left mouse button increments pal - and pal +
  1090. by one each time and the right by five. 
  1091.  
  1092. Clicking on the swirl button hides the menu and rotates the current colour
  1093. palette in a forward (clicking with the right button) or reverse (the left
  1094. button) direction.  Clicking the mouse button again halts the rotation. 
  1095.  
  1096. The hide button works the same as the view button from the main menu. 
  1097.  
  1098. To edit the current palette, click on the edit button.  This presents you with
  1099. the edit palette menu which consists of the following buttons:
  1100.  
  1101.     red - / red +     - Adjusts the amount of red in the current colour. 
  1102.     green - / green + - Adjusts the amount of green in the current colour. 
  1103.     blue - / blue +   - Adjusts the amount of blue in the current colour. 
  1104.     colour            - Selects a new current colour. 
  1105.     exit              - Back to the palette menu for you, sonny. 
  1106.  
  1107. The colour palette is displayed in a colour bar at the top of the menu, the
  1108. current colour is indicated by two horizontal lines situated above and below its
  1109. corresponding colour cell.  By clicking on the colour button, this enables you
  1110. to select a new colour to be edited.  This is done by clicking the mouse
  1111. anywhere on the screen.  The colour under the pointer is selected.  This means
  1112. you can select from both the colour bar and the image itself.  The current
  1113. colour can be edited by the use of red -, red +, green -, green +, blue - and
  1114. blue + buttons.  Depending on the number of colours available, you may click
  1115. using either the left or right mouse buttons.  If you are using a standard STFM
  1116. then use the left button which gives you a possible eight different values for
  1117. red, green and blue; thus a palette of 8*8*8 = 512 colours.  If you are using an
  1118. STE or TT, you may use the right button to give you sixteen possible red, green
  1119. and blue values; thus a palette of 16*16*16 = 4096 colours.  The rgb values for
  1120. current colour are displayed in hex (i.e.  000 is black, FFF is white). 
  1121.  
  1122. The save pal option from the main menu can be used to save any changes made to a
  1123. file in the defaults directory on disk.  Note that this will overwrite the
  1124. existing data which cannot be restored without re-copying the file from a backup
  1125. - so make sure you wish to do this.  This hi-lights the reason for never working
  1126. with an original copy of FE2. 
  1127.  
  1128. The default palettes supplied are approximately as follows:
  1129.  
  1130. 00 - 19: Two-dimensional methods for complex fractal types (not deg4 and newt).
  1131. 20 - 24: Degree-4 complex fractal type.  
  1132. 25 - 29: Newton complex fractal type.  
  1133. 30 - 34: Sphere and scape methods of complex fractal types.  
  1134. 35 - 39: Other fractal methods; popcorn, DLA, clouds and mountains. 
  1135.  
  1136.  
  1137. 3.6 Batch mode operations
  1138.     ---------------------
  1139.  
  1140. FE2 provides a number of powerful batch operations that set it aside from other
  1141. fractal applications around.  By clicking on the batch button from the main
  1142. menu, you are presented with the batch menu, as follows:
  1143.  
  1144.     zoomanim - zoom animation of complex fractals. 
  1145.     jul anim - Julia set animation of complex fractals. 
  1146.     convert  - convert a folder of .CDF into images. 
  1147.     poster   - produce a poster to disk or printer from any image or .CDF. 
  1148.     exit     - return to main menu. 
  1149.  
  1150.  
  1151. Fractal animation
  1152. -----------------
  1153.  
  1154. The nature of fractal images makes them ideal for producing animation 
  1155. sequences.  This is especially the case with the complex fractal types.  
  1156. The zoomanim and jul anim operations allow you to create your own sequences of 
  1157. two and three-dimensional complex fractal images. 
  1158.  
  1159. To create a zoom animation, decide upon a final frame and make sure that the
  1160. parameters are in the parameters window (use copy cd to do this).  Then choose
  1161. the zoomanim operation from the batch menu.  This will select your current image
  1162. as the last image in your animation sequence.  Next, select the starting image
  1163. (making sure the parameters are correct and the type and method match) and
  1164. select zoomanim again.  You will then be prompted for the number of frames
  1165. (including the start and end frames) and a folder on disk in which to save them
  1166. as well as whether or not you wish to save to disk.  Selecting no (N) to this
  1167. last option means that output is sent to the printer. 
  1168.  
  1169. Julia animation is used to animate a sequence of Julia sets at a fixed
  1170. magnification.  The sequence is set up in the same manner as for zoom animation
  1171. using the jul anim option instead.  Julia animation ignores any magnification,
  1172. taking the image aspect from the end frame.  Therefore for continuity, you
  1173. should make sure that your start and end frames are at the same magnification. 
  1174.  
  1175. One important point to note is that the number of frames and image size is
  1176. dependant on the amount of disk space and memory available.  FE2 automatically
  1177. computes how much space you have available and will suggest a maximum number
  1178. frames.  You may change this to make it smaller but are not allowed to exceed it
  1179. as this will lead to an error in the recording or playback of the sequence. 
  1180.  
  1181. There is a file created for each frame of the animation as well as a control
  1182. file (ending in .ADF).  The frames are also stored in the selected specified
  1183. directory.  You cannot playback the animation whilst in FE2 due to the memory
  1184. limitations of the 520 STs.  Instead, there is a special separate application
  1185. called DISPANIM.PRG provided that allows you to do this.  It is best to have a
  1186. separate disk or folder for your animation sequences with a copy of the display
  1187. animation program available. 
  1188.  
  1189.  
  1190. Drawing many images at once.
  1191. --------------------------- 
  1192.  
  1193. The convert option from the batch menu allows you to select a folder of
  1194. co-ordinate (.CDF) files and convert them to images.  You can choose to send the
  1195. output to the disk or to the printer.  This facility means that you can leave
  1196. the computer on overnight to draw a whole load of previously selected
  1197. co-ordinates. 
  1198.  
  1199.  
  1200. Creating fractals for the wall.
  1201. ------------------------------
  1202.  
  1203. The poster option from the batch menu takes the current image and enlarges the
  1204. scale to produce a poster sized picture.  Once again, this can be to disk or the
  1205. printer.  You can choose whether you wish to have a 2x2, 3x3 or 4x4 image in
  1206. screens. 
  1207.  
  1208.  
  1209. ------------------------------------------------------------------------------
  1210.  
  1211.  
  1212. 4.  Miscellaneous
  1213.     -------------
  1214.  
  1215. Other randomly useful pieces of information can be found in this section. 
  1216.  
  1217.  
  1218. 4.1 A word about accuracy. 
  1219.     ---------------------
  1220.  
  1221. As previously mentioned, there are up to three levels of precision available for
  1222. some of the complex fractal types using the normal, LEM and sphere methods.  How
  1223. this works is as follows:
  1224.  
  1225. Usually (as was the case with FE1) all mathematical operations are done using
  1226. floating-point arithmetic that is converted into integer arithmetic at compile
  1227. time.  As the routines supporting these mathematical operations (such as
  1228. multiply and subtraction) have to be extremely generic to cater for all possible
  1229. combinations, the microcode used can be lengthy and slow.  Integer arithmetic is
  1230. achieved by coding the required routines directly in assembly language (or a
  1231. high-level language such as C) thus increasing size and efficiency.  There are
  1232. two levels of accuracy supported by FE2 using integer math, 16 and 32-bit.  The
  1233. latter is more accurate but slower.  What is affected by these two alternatives
  1234. is the number of decimal digits allowed after the decimal point.  The reason for
  1235. having 16 and 32-bit arithmetic as well as floating-point math is as follows:
  1236.  
  1237. As you should know, the parameter xstep determines the scale of each pixel on
  1238. the screen.  It becomes a smaller value as the image is magnified and
  1239. consequently the differences in the fractional parts of the values being handled
  1240. by the computer become smaller as well.  This means an increasing number of
  1241. decimal places are required to calculate the mathematics for image generation. 
  1242. If the accuracy becomes inadequate, the computer may not be able to tell the
  1243. difference between adjacent points on the screen and colouring inconsistencies
  1244. will occur (i.e., it looks blocky!).  This is easily achieved after a couple of
  1245. zooms using 16-bit arithmetic. 
  1246.  
  1247. Luckily, FE2 sorts all of this out for you by looking at xstep and deciding what
  1248. level of precision is required.  Although you may force it yourself, there is no
  1249. real reason to do this except to get a quick 16-bit sketch of images at high
  1250. magnification where 32-bit or floating-point math is too slow. 
  1251.  
  1252.  
  1253. 4.2 Hunting for fractals in the complex plane. 
  1254.     -----------------------------------------
  1255.  
  1256. The Mandelbrot sets of each type of complex fractal should always be your
  1257. starting point before you go off exploring.  In general, the patterns you will
  1258. see become more subtle and complicated the further you zoom in.  You will notice
  1259. that the buds which sprout from a Mandelbrot set have increasingly more
  1260. elaborate branches the smaller they get.  Each branch is made from an infinite
  1261. number of smaller Mandelbrot figures: It is quite easy to zoom in and find an
  1262. exact copy of the whole set embedded in the branching structure.  You have
  1263. complete control over the look of your picture, the closer you zoom in, the more
  1264. branches there are.  This can be used to enhance the look of Julia sets. 
  1265. Although it is easy to choose them from an unmagnified picture, close-up Julia
  1266. sets have much more appeal with more intricate structures. 
  1267.  
  1268. Julia sets have definite characteristics depending on the fractal type and the
  1269. position on the Mandelbrot set from which they originate.  Quadratic Julia sets
  1270. will be symmetrical about axes dividing it by 2 (i.e.  The two halves of the
  1271. Julia set are always identical).  Cubic 1 sets will be about 3 and most of the
  1272. others more unpredictable and complex in there symmetries.  Choosing a Julia set
  1273. from one of the buds on the quadratic Mandelbrot set results in various
  1274. dragon-like shapes; towards the right-hand side of the main disk (c->0), they
  1275. become more circular and towards the thin line at the front more like straight
  1276. lines with disks; the thin branches at the ends of the buds will yield
  1277. lightning-like dendrites and, if c is selected completely away from the set,
  1278. they become disconnected and eventually disappear altogether: these Julia sets
  1279. are known as Fatou dust. 
  1280.  
  1281. A good example of another property of Julia-Mandelbrot relationships is this:
  1282.  
  1283. Select a Julia from the middle of the second largest bud joining the main disk
  1284. (cardioid) of the quadratic Mandelbrot set.  The resulting image has branches
  1285. which connect three regions and looks vaguely like a rabbit (Gaston Julia called
  1286. this du lapin).  If you then select one from one of the next smallest buds, the
  1287. resulting set has branches which connect four regions.  Selecting from the next
  1288. smallest bud again will yield one with five branches, and so on.  This very
  1289. simply illustrates the periodic characteristics of the Mandelbrot set. 
  1290.  
  1291. Also, try zooming in to find a smaller copy of the Mandelbrot set.  Select a
  1292. Julia set once again from the middle of the second largest bud from the
  1293. cardioid.  You will get another lapin, but this time the surrounding branching
  1294. structure of the level sets outside will be more complex and intricate. 
  1295.  
  1296.  
  1297. 4.3 Support for the fractal engine and the legal side of life
  1298.     ---------------------------------------------------------
  1299.  
  1300. The Fractal Engine version 2 has been thoroughly tested for bugs and
  1301. discrepancies.  However, as is always the case, one can never reach the
  1302. zero-defects utopia that is so often strived for in all areas of business 
  1303. today.  Should you find a problem with the program, then please inform us 
  1304. immediately so that we may rectify it.  Likewise, if you have any serious 
  1305. gripes or suggestions concerning FE2, then we would like to hear from you. 
  1306.  
  1307. As far as copying FE2 goes, feel free to do so but please remember to register
  1308. if you find it useful and feel you would like to contribute to producing more
  1309. applications such as this.  Unfortunately, we cannot run on thin air and
  1310. consequently need your money (not much of it though).  We have decided not to
  1311. release a cut-down version, but to give you everything you need to produce your
  1312. pictures.  This means you are not restricted as is so often the case with
  1313. shareware.  It also means that you can copy it and never register, we cannot
  1314. stop you doing so.  If you do however, other than the natural grate of your 
  1315. conscience, you may be visited by some very nasty creatures one night when you 
  1316. least expect it.  We have friends with exotic pets (spiders, snakes, leaches, 
  1317. wombats etc.) So beware!
  1318.  
  1319. If you use any version of the Fractal Engine to produce any artistic work which
  1320. is published in any manner, please quote your source.  You may distribute FE2 as
  1321. much as you please but do not hire or offer it for sale without our permission. 
  1322. We welcome contact from P.D.  libraries.  You may not reproduce the program or
  1323. any of the documentation out of context in part or whole for any reason without
  1324. our written permission.  Your god will know what you've done even if we don't. 
  1325.  
  1326.  
  1327. 4.4 Some useful addresses and references
  1328.     ------------------------------------
  1329.  
  1330.     Fractal Engine 
  1331.     Garden Flat, 
  1332.     20 Bristol Road, Lower, 
  1333.     Weston-Super-Mare, 
  1334.     Avon, 
  1335.     BS23 2PW 
  1336.  
  1337.     Art Matrix - fractal videos and other products.  
  1338.     PO Box 880MJ, 
  1339.     Ithaca, 
  1340.     NY 14851-0880,
  1341.     U.S.A. 
  1342.  
  1343.     Strange Attractions - chaos shop - anything to do with fractals.
  1344.     204 Kensington
  1345.     Park Road, 
  1346.     Notting Hill Gate, 
  1347.     London W.11
  1348.  
  1349.  
  1350. The following texts represent a useful introduction to chaos and fractal
  1351. mathematics in general.  There are numerous others but we strongly suggest the
  1352. following if you wish to investigate them for yourself.  James Gleick's Chaos is
  1353. about the easiest to read of the tomes which although not specifically about
  1354. fractals is a comprehensive general introduction to chaos theory.  The Science
  1355. of Fractal Images is about the best of the technical fractal books for non PhD
  1356. mathematics students and gives example algorithms and good explanations of what
  1357. is going on. 
  1358.  
  1359.     Barnsley, M.F. 
  1360.     Fractals Everywhere
  1361.     (Academic Press, 1988)
  1362.  
  1363.     Gleick, J. 
  1364.     Chaos, making a new science
  1365.     (Sphere Books, 1991)
  1366.  
  1367.     Peitgen H-O & Richter, P.H. 
  1368.     The Beauty of Fractals
  1369.     (Springer-Verlag, 1986)
  1370.  
  1371.     Peitgen, H-O & Saupe, D. 
  1372.     The Science of Fractal Images
  1373.     (Springer-Verlag, 1988)
  1374.  
  1375. ------------------------------------------------------------------------------
  1376.  
  1377. This document was written and edited by Mike Harris using Microsoft Word for
  1378. Windows v2.0.  The ASCII text version was formatted using MicroEMACS 3.9e on
  1379. an IBM PC Compatable.
  1380.  
  1381. (c) 1993 Dan Grace and Mike Harris.
  1382.