Fractal Factory

(1.00)

Programmed by Seth Kintigh in Delphi 5

 


Content 


·  Introduction

·  Instructions

·  Menu Options

·  Known Bugs

·  Things To Do/Fix

·  History

·  Benoit Mandelbrot

·  The Mathematics Of The Mandelbrot Set Explained

·  About The Author

 


Introduction  


    Fractal Factory is a fast, fun and exciting way to explore the Mandelbrot Set of fractals.  The interface is simple enough for the youngest child to understand.  This document contains instructions and everything else you could ever want to know.  Maybe.

    This is version 1.00.  It’s not perfect, but it the first time since the early 90’s that I’ve been ready to release this program.
 
 


Instructions  


   To zoom in on a section of the fractal simply click, hold, and drag a rectangle around the desired area.  The area inside the rectangle you just dragged will be enlarged to fill the Fractal Factory window.

    If you change your mind and don't want to zoom in on an area but have already started dragging a rectangle, drag the mouse off the fractal image and release the mouse button.  This will abort the zoom.

    If you find a nice image and want to save the location so you can go back again later, then click File, then Save Coordinates

    Someday soon you will be able to save the actual image (not just the location).  I am currently working on this and will have it for you in the next version

    You can find many other options on the menu bar.  Click around, it should hopefully be straightforward enough that anyone can figure it out.
 
 


Menu Options 


File

Allows the current fractal image to be saved as a bitmap.
 

Sets the current fractal image to the background "wallpaper."   This does not seem to work in Windows NT, and maybe others.
 

Saves the coordinates (zoom-in location) of the current fractal image.  Choose a name for the image and the coordinates will be saved in a file (coordinate.txt).
 

Allows you to load previously saved coordinates and view the image.
 

Exits Fractal Factory.
 

Window

Stops the generation of the fractal image.
 

Repaints the previously generated fractal image with the current color scheme. Color scheme is described under "Options." "Repainting" is mearly updating the screen from the image already generated and stored in memory.
 

Generates fractal image using current coordinates and color scheme. "Drawing" is the generation of the fractal, which requires intense mathematical processing. (Sill needed???) 
 

Allows text entry of window size for generation of fractals of specific size. Excellent for wallpaper, once that option is available...
 

Displays the current color spectrum in a separate window. Spectrum is described under "Options."

 
View

Un-does the last zoom.
 

Resets fractal to start-up values.
 

Zooms in on the center of the fractal.  This is the same as if you divided the image into 9 equal rectangles and zoomed in on the center one.
 

Zoom out 300% from the center of the fractal.  This is the only way to zoom out, other than restart.

 

Options

Choose the color scheme from the sub menu. A color scheme consists of a spectrum of colors that may be viewed in a window.  (see "Window")
 

Disabled.  Interlacing under samples the fractal and makes a blocky image by enlarging the pixels it does sample. Interlaced 4x4 samples 1 of the 16 pixels in a 4x4 block and then makes a 4x4 square using that color. Thus, it runs 16 times faster but produced a course image. The fractal is then generated normally after the interlacing procedure runs. None of the previously sampled points are re-used, therefore interlacing only delays the full generation of a fractal. However, impatient people like to see results quickly, so 4x4 interlacing is default.

 

Stop!

Clicking this stops the generation of a fractal. Eventually, this will also stop the repainting of the window.

 

Help

This file -- ReadMe.HTML.
 

Tiny little credit window.

 
 


Known Bugs 


Bug: About half the computers running this program get an EOleSysError message and the program crashes.

Cause: Unknown.  This may be caused by the use of html in FF.  Delphi tech support insisted that was a feature and not a bug.  I swear to God.

Fixed!!:  Delphi 5 works much better than Delphi 3.

Bug: Mouse cursor doesn't change from pointer to hourglass or vice versa until it is moved.

Cause: Unknown.

Bug: Window doesn’t grow to right size on numeric resize on 1280x1024 monitor, and maybe others.

Cause: I need to change the resize function to resize the form area, not the form border.

Bug: You can drag a box off the bottom or right side of the window

Cause: Same as above?

Bug: FF is slow in and around the black areas of the fractal.

Cause: The deeper into the Mandelbrot set you zoom, the slower it gets.  This is because each color deeper is one repetition of a loop more    than the last, up to a cutoff of 250 or 271, depending on the color scheme chosen.  250 is generally recommended as a good cutoff, but in the future I will allow smaller cutoffs to be selected, thus speeding generation.

Please report any unknown bugs or causes to me at

skintigh@alum.wpi.edu

 
 


Things To Do/Fix 


 


History  


Version 0.01

Version 0.90

Version 0.93

Version 0.95…1.00


Benoit Mandelbrot 


    The Mandelbrot set is named after the man who discovered it and invented the word "fractal."  The following is paraphrased or quoted from pages 83 to 98 of CHAOS by James Gleick.
 

    Benoit Mandelbrot, born in Warsaw in 1924 to a Lithuanian Jewish family, fled from the Nazis to Paris in 1936 where his uncle, a mathematician, lived.  His family was forced to flee again during WW2, this time to Tulle where Benoit was befriended by scholars and school teachers.  He claimed never to have learned the alphabet or multiplication tables past five, but he had a gift.

    When Paris was liberated he took the month-long oral and written admissions examination for Ecole Normale and Ecole Polytechnique, despite his lack of preparation.  He proved to have natural talent in art and geometry which.  He found that he could transform almost any analytical problem into a geometrical problem and then find the solution.  He did poorly in physics and chemistry, but did well in mathematics.

    Mandelbrot was accepted and began in Normale, the smaller and more prestigious of the two, but left within days for Polytechnique.  Mandelbrot left because mathematics at Normale was controlled by a secret group of 50 mathematicians called Bourbaki.  Bourbaki valued rigor and abstraction but despised pictures, geometry, practicality or any connection between math and the physical world.  One decade later Mandelbrot left France for the USA for the same reason.  A little later, Bourbaki would die of a shock brought on by the advent of the computer and its power to feed a new mathematics of the eye.

    Mandelbrot accepted a job at IBM Thomas J. Watson Research Center where he became, as he said, a nomad-by-choice or a pioneer-by-necessity.  He produced work in mathematical linguistics, game theory, economics, scaling regularities in the distribution of large and small cities, noise transmission, the height of floods on the Nile, coastline lengths, and fractional dimensions, all of which were tied together by a yet unknown science.

    In the winter of 1975 Mandelbrot gave a name to his shapes, his dimensions, his geometry.  He found in his son's latin book the word fractus, from the verb frangere, to break.  The resonance of the main English cognates -- fracture and fraction -- seemed appropriate.  Mandelbrot created the word (noun and adjective, English and French) fractal.

To be continued...
 
 


The Mathematics Of The Mandelbrot Set Explained 


More on this later.
 
 


About The Author 


    Seth Kintigh is currently finishing his senior year at WPI in Worcester, Massachusetts, USA where he is majoring in Electrical Engineering, minoring in Computer Science and Physics, has no job offers, and is writing about himself in the third person.

 

Seth now has a masters and currently has no job.
 

Please report any unknown bugs or causes to me at

skintigh@alum.wpi.edu