Softology Software Gallery About Blog

Visions of Chaos Fractal Flame Tutorial
Fractal Flames are extended versions of IFS (iterated function systems). Scott Draves invented fractal flames by adding new transformations to the usual IFS methods. Scott has a PDF describing his process here that covers the process and transformations included to create the fractal flames.

Searching For Flames
If you read the above links and got overwhealmed with the endless mathematics involved have no fear. I have purposely hidden most of the maths away from you (unless you want to see it and click the Advanced button).

Clicking the Search button on the Flame Settings dialog randomly selects values and goes through a series of internal tests to determine if the resulting settings will produce a valid flame fractal. The tests for a valid flame are not perfect, so you will get some boring results but overall you will get valid flame images. The easiest way to make new flame fractals is to repeatedly hit the Search button until you see an image you like in the preview display.

Rendering Styles
There are two available methods in Visions Of Chaos to display fractal flames.

Draves - The Draves rendering style uses the method from Scott Draves' original paper. Each transformation is given an index of the current color palette and as the iterated points travel around the attractor they update a color index factor for each pixel.

fractal flame

fractal flame

TipTip: When using the Draves rendering style it is best to use "busy palettes", that is palettes that are not a smooth shading, but have a lot of variation through the palette. There are many sample palettes included that start with "Flame" that are good examples.

Logarithmic - The logarithmic style shades the image based on how many times a pixel is hit.

fractal flame

fractal flame

TipTip: When using the Logarithmic rendering style it is best to use a smmothly shaded palette between black and any other color. The included palettes that satrt with "ifs" are good examples of this style of color palette.

Other Settings
Supersample - As the image is created each pixel is created by averaging a group of sub-pixels per pixel. This helps smooth out the pixelation/aliasing of the images produced but does take longer to render an image.

Gamma - Think of this as an overall brightness setting for the image. If you find a certain color palette makes an image that is too dark, increasing gamma will boost the brightness of the image created.

Render image to BMP file - When the image is calculated it will be saved to a bitmap (BMP) file. This allows you to render an image that is larger than your screen resolution and see a super-high resolution version. During rendering the bitmap progress is shown every 60 seconds by loading the progress into Microsoft Paint. This way you can see if the fractal flame has been iterated enough.

Undo - Steps back to the last flame found or rendered. This helps when you accidentally click Search when a nice looking fractal image has been found.

Mutating Fractal Flames
The Mutate button uses the current fractal flame settings and changes the values slightly. Once you find a nice looking flame, using the Mutate button can tweak it into a perfect flame.

When you click the Mutate button the Flame Mutator window appears. The current fractal flame will have its parameters changed slightly and 11 variations of it will be shown. If you think one of the variations look better click it and it will then mutate into another 11 variations. If none of the mutations are appealing click the top-left image again and it will be mutated again.

Once you see an image you would like to use Right-Click and it will be displayed.

The Mutation amount dropdown setting sets if the mutations are only tiny or enormous.

Advanced Settings

Clicking the Advanced button shows the above settings. The shapes and look of the fractal flames are controlled by these values. There are 6 possible sets of settings. At least 2 need to be active to make a fractal flame.

Only randomize probabilities and coefficients - When checked the Search button does not randomize the active sets or transformation types. This is most useful when creating movies, but also helps if you find a nice set of transformation types and want to retain them while searching for other fractals.

Sets - Enables or disables the set of transformations.

Probability - The probability factor that each transformation will be applied during iteration. Fractal flames use a stochastic process to determine which of the transformations is used as each point is iterated.

Coefficients - These are the six values that make up the affine transformation matrix that each point is transformed by before the Draves flame transformations take place.

Transformation - Selects the transformation types. See the above Scott Draves paper for an explanation of how they effect the resulting images.

Multiplier - Scales the transformations each iteration. Leads to an entire new potential world of flame images.

Again, you don't need any maths knowledge to create interesting looking flame images, so if the advanced settings are confusing you do not need to use them to make fractal flame images. The search and mutation features help you avoid the maths hidden in the background.

Fractal Flame Movies
Using the Script Manager in Visions Of Chaos allows you to create movie files of fractal flames animating.

The basic steps involved to create a flame script and movie are;

1. Hit the Random button until you get a nice looking image (or load a fla parameter file to start from).

2. Let the image render until it has the detail you want (larger sized images take more iterations to show all the details).

3. Stop the render and then select Script->Add current point to 2D Script.

4. Click the Play button and the click the Mutate button to find a slightly mutated image you want to be the next keyframe in the movie.

5. Repeat steps 3 and 4 above. When you add script points beyond the first you will be prompted for the number of frames to add. The value you enter controls how slowly the movie will change between key frames.

Here are some sample flame movies created using the same steps as above. Clicking on the movie title links will take you to the larger size movies that can be viewed fullscreen HD.