Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.

ID: 17642, Color Mandelbrot Fractal generator, Multi-threaded

by Mike Weber Email: Anonymous

UPDATED 3/27: Multithreaded Mandelbrot generator - now in color!
Download Details
FTP  download also available
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 5.0  to 6.0 712 downloads
Copyright: Commercial use requires permission

Size: 250,783 bytes
Updated on Wed, 27 Mar 2002 19:45:27 GMT
Originally uploaded on Sun, 10 Mar 2002 13:38:36 GMT
SHA1 Hash: ED850CF753CC60F81930663A1B4C0532580FFF5B
MD5 Hash: C2A22F189A3DE5DE2CB1D1E07EAEEE7C

    Explore the files in this upload

3/17/02: Now in color!
This is my mandelbrot drawing unit and demo app. It contains two classes: TmjwMandel, whose job is to contain the elements of the instance of the fractal being worked with along with some parameters controlling how the drawing will be done. Generally, a host app creates a single TmjwMandel for each Timage it wants to draw fractals into. The TmjwMandel creates TmjwMandelCalcThreads, which do the work of calculating the fractal itself.

Features include:
* Fast fractal generation
* As-threads-work progress updates
* Intelligent, Automatic zooming into the fractal
* Manual zooming
* Adjustable, unlimited number of concurrent threads
* Adjustable number of pieces to divide the image into for allocation to threads
* Interactive dwell-to-color mapping
* Beautiful color images!

Quick Usage notes:
* Click and drag in the image to zoom in manually
* Hold down the shift key to define a zoom box from the center point
* Use the < and > buttons to change the color mapping
* Press the Zoom button to have the app automatically choose a place to zoom into.
* You can change the number of active threads during drawing.
* Change the Split Factor to change how many blocks the initial image is broken up into.
* If there is a non-zero value in the Auto-zoom interval box when a fractal finishes drawing, the app will automatically zoom after that many seconds. Change it back to 0 to stop autozooming.
*Abort, Start, and Stop are self-explanatory.

The best views are achieved by maximizing the Mandelbrot Dispay window and using keyboard shortcuts to manipulate the image:

A: abort
S: Start
Z: zoom
, and .: change color mappings
R: reset to initial conditions
N: New Random Color base
G: greyscale image
C: Bring control window to the foreground to "c"hange settings

Have fun, and please let me know what you think!

Last update 3/27:
* Added more documentation
* Changed autozoom time property to units of Seconds instead of mSec

Contest entry forMultithreaded programming

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Could not retrieve comments. Please try again later.

Server Response from: ETNACDC03