home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / drawing / fexplore.zip / FRACTALS.DOC < prev   
Text File  |  1993-08-25  |  4KB  |  79 lines

  1. fractals.doc - Various musings about exploring fractals with fExplore
  2.  
  3. What the program does:
  4.      This program generates images of fractals.  You can zoom into the
  5. fractal to see new and different features, some similar, others distinct.
  6. After calculated, the images are "animated" by quickly rotating colors,
  7. leaving the structure alone but allowing the colors to move fluidly.
  8. Since images take a while to generate, you may store them to disk and
  9. play them later as a slide show.
  10.  
  11. What is a fractal:
  12.      The word fractal is used for many things.  I use it to specifically 
  13. refer to images generated while testing for Mandlebroit set membership.
  14. Others use it when refering to most anything associated with fractal
  15. geometry, a new discipline of mathematics which attempts to model the
  16. chaos of nature in a powerful way.  To gain intution into the difference
  17. between the geometry taught in high school (Euclidean) and newer Fractals
  18. think of the difference between a perfect circle and an oak tree.  Euclidean
  19. geometry can describe a circle very well and easily, but an oak tree is too
  20. complicated.  Fractal geometry attempts to model the tree by quantifying
  21. the similarity between its overall shape (the trunk and major branches),
  22. with its details (an individual twig connecting to leaves).
  23.  
  24. About fractals:
  25.      Many people find images of fractals enchanting.  They have a mathematical
  26. and visual simplicity, stunningly detailed.  Diving into different areas
  27. of the Mandlebroit set reveals regions of spectacular beauty.  Hidden
  28. in the details are areas both similar and diverse from the starting image.
  29. You can never be quite certain what you will see after a few zooms.  This 
  30. gives fractal exploration its unique characteristic - it is always surprising
  31. what you will find.
  32.  
  33. Hints for exploring:
  34.       Exploring consists of zooming into interesting regions of the fractal.
  35. The most interesting regions are the boundaries between the members of
  36. the mandlebroit set (depicted as black) and those areas not in the set 
  37. (depicted via colors).  Pick any boundary area that interests you and zoom.
  38. Structures with lots of detail are the best places to try.
  39.  
  40. How and why the program does what it does:
  41.      Mathematically speaking, images are generated by mapping a portion of
  42. the complex plane to the screen and calculating how many iterations each
  43. point takes before it is known not to be in the mandlebroit set.  The
  44. maximum number of iterations is 20,000.  Some points very quickly diverge,
  45. others never do.  So how long it takes to calculate individual pixels varies
  46. greatly.  When generating the image it would be nice to calculate the easy
  47. portions first, leaving the hard stuff for last.  This way we will see more
  48. of the image quickly.
  49.      The algorithm used by this program is somewhat simple.  A list of points
  50. to calculate next is maintained.  Whenever a point diverges, its neighbors are
  51. added to this list.  If this list is empty (as it is on starting) a coarse
  52. grid of points are added.  This grid will be made smaller over time, but is 
  53. only used when the list is empty.  There is also a special process where points
  54. next to those diverged are placed on the list.  This is necessary because the
  55. list can be only so long.  So some neighbors of diverged points can't
  56. be properly added.
  57.      I found the algorithm complicated enough to warrant displaying salient
  58. parts on the image.  Basically points are colored like this:
  59.      black - points that diverged or haven't been calculated yet
  60.      color - rainbow from red to violet representing different iteration counts
  61.      white - points in list to be calculated next
  62. So, watching the display, it starts out with white boxes enclosing colored
  63. areas.  When the white runs into points that don't diverge (take more than
  64. 20,000 iterations), those neighbors aren't added to the list and so the white
  65. goes away and a jagged edge is left.
  66.  
  67. Outline of program:
  68.      initialize screen
  69.      map complex numbers onto screen
  70.      loop:
  71.           if list is empty
  72.              add points from a grid (decrease grid spacing if need be)
  73.           for all points in list
  74.              calculate iteration count
  75.              display as black if infinite, colored if diverged
  76.              if colored, add neighbors to list
  77.      goto loop
  78.  
  79.