Iterated Function Systems Viewer 3

Iterated Functions Systems Viewer 3

Multi-colored fractal image; IFS imagea3pop-151023-420.ifs

Rendered using bitmap colors on green background; IFS imageaa0648.ifs

Rendered using bitmap colors on black background; IFS imageMu_frenchcurve.ifs

Rendered using bitmap colors on an image background; IFS imageIFSLab_Pyramid.ifs

Rendered using bitmap colors on black background; IFS imageJB_IFS-0025.ifs

Rendered using bitmap colors on an image background; IFS imageIFSLab_XenoBreeder.ifs


What is an Iterated Function System?
What Is IFS Viewer 3?
Quick Start
The Menu Bar

Operational Overview
User Interface References
Software

What is an "Iterated Function System"?

"From Wikipedia, the free encyclopedia
IFS fractals, as they are normally called, can be of any number of dimensions, but are commonly computed and drawn in 2D. The fractal is made up of the union of several copies of itself, each copy being transformed by a function (hence "function system"). The canonical example is the Sierpinski gasket, also called the Sierpinski triangle. The functions are normally contractive, which means they bring points closer together and make shapes smaller. Hence, the shape of an IFS fractal is made up of several possibly-overlapping smaller copies of itself, each of which is also made up of copies of itself, ad infinitum. This is the source of its self-similar fractal nature."   Wikipedia IFS fractals

What Is IFS Viewer 3?

IFS Viewer 3 (IV3) is a simple graphical user interface which allows the visualization of IFS fractals using different coloring methods. IV3 has hundreds of interesting IFS files available for display. You can also add your own IFS transformation files for further exploration of IFS fractals.

The purpose of IV3 is to provide an interactive tool to view IFS fractals and allow you to explore your creativity to display the fractal using different colorization methods.


Quick Start

To view the over 800 IFS fractals included with this software, do the following:

The IFS fractal will diplay nearly instantaneously.

Once a fractal is displayed you can manipulate the colors used to draw the fractal.

The menu bar has two sub-menus. They are the File and Help menus. Menu Bar image

The File menu has four menu items:

The Help menu has two menu items:

Help

Selecting Help brings up this document.

About

Selecting About displays 'License and Copyright' information.

This is the text of the 'License and Copyright'

Load IFS Transforms

Selecting Load IFS Transforms starts up a file dialog window. Navigate to the IFS Transforms folder. Inside of the IFS Transforms folder are eight sub-folders. There are over 800 IFS transformation files available for selection and viewing within these sub-folders.

Load Bitmap Image

This option allows you to load and to display a bitmap image (.bmp file) stored on your hard drive. This option only allows 800x600 pixel bitmaps to be loaded. Once you have selected and loaded a bitmap, the bitmap image will be displayed in the main viewing window.

Save Bitmap Image

This option allows you to save a snapshot of any currently displayed fractal as a bitmap image (.bmp file) to your hard drive. The saved bitmap image is 800 x 600 pixels, the same size as the drawing area. A default file name is placed in the save bitmap dialog. You can use the default file name or change to a different file name of your choosing.

Exit

Selecting this option will terminate IFS Viewer 3

The Help Menu

The Help Menu has two menu items - Help and About

Help

Selecting Help brings up this document.

About

Selecting About displays a window with summary program information.

Behind the screen (operational overview)

These are the main steps IV3 performs to draw and manipulate an IFS fractal.

1) Load IFS transforms

2) Calculate and display the 'IFS preview window' approximation.

3) Calculate the affine transformations and build in memory, the pixel histogram of the current fractal.

4) Display the fractal in the selected background and foreground colors from the pixel histogram in memory.

User Interface

IFS Preview Window

IFS preview window image The first place where the newly loaded fractal is shown is in the IFS Preview window. The IFS Preview will display a rough approximation of what the fractal will look like and also shows the results of each of the individual transformations in a different color.

After the default 1,500,000 iterations have been calculated, the fractal is displayed in the main window at a graphics resolution of 800 x 600 pixels.

IFS Name & Source

File Title and Source image

The IFS Name textbox shows the name of the IFS fractal within the '.ifs' transformation file when loaded.

The Source textbox shows the originator or creator of the IFS fractal when loaded.

Iterations

The Iterations textbox allows you to change the number of iterations used to draw the fractal. The default number of iterations set at program start up are 1,500,000.

The correct number of iterations depends on how opaque you wish the fractal to appear. The fewer the iterations the more transparent the fractal will appear, conversely more iterations will produce fractals with more detail or more opaque in appearance. Here are some typical iteration ranges:

Changing the number of iterations does not take effect immediately, you will need to select a render color (can be the current render color), background color (can be current background color), or 'Flip Y Axis' see the effect of changing the iterations. The last way to see the effect of changing number of iterations, is to load a new IFS Transformation file.

The other consideration is that more iterations take longer to process. It's always going to be a trade-off between speed vs. detail.

Load Transformations (button)

Pressing the Load IFS Transforms button image button will bring up a file dialog window. Navigate to the IFS transforms folder. Inside this folder are eight sub-folders containing over 800 IFS fractals for your perusal.
The folders are:

On program start up, an IFS transformation file must be loaded before anything else takes place. IV3 has five pre-loaded IFS transformations at program start up. One of the five transformations is randomly selected and displayed.

Select Render Color

Select Color Gradient - radio buttons imageSelecting a new color gradient is done by clicking one of the 9 color gradients appearing just above the main display window and to the left. The newly selected color will take effect immediately.

Select Background Color

Select Background Color - radio buttons imageSelecting a new background color is done by clicking one of the 9 background colors shown above the main display window and to the right. Once a background color is selected the main window will change to the newly selected color immediately.

Updating the fractal display

Selecting a render color, or selecting a background color, or clicking the Flip Y Axis checkbox image checkbox, will cause the fractal display to be updated immediately.

This is especially useful to know if you change the number of iterations used to display the fractal. Changing the number of iterations will not take effect until you update the fractal display by one of those three methods.

Render Using Image (button)

Another colorization option is the Render Using Image button button. This allows you to colorize the fractal using the colors contained within any image (.PNG, .BMP, .JPG) you have on your computer.

A typical sequence for 'Render Using Image' is as follows:

You can also choose to use a different image to colorize, by pressing the [Cancel] button when asked if you want to use the same image in memory. However this feature has been implemented to avoid having to retrieve an image from your hard drive every time you wish to colorize the fractal with an image.

Along with the option of Flip Y Axis checkbox image, you can also select the Invert Image RGB checkbox image which inverts the colors of the loaded image at render time. Inverting image colors provides two different colorizations per bitmap image, the regular image colors and the inverted image colors (like a color photograph negative image).

Both the Flip Y Axis checkbox image and Invert Image RGB checkbox image options must be selected -before- pressing the Render Using Image button image button. Selecting either of the two options after pressing the Render Using Image button image button will have no effect until the next render.

Images of just about any size can be use to colorize a fractal display. If the image is too small or too large, IV3 will resize the image to 800x600 pixels. The original aspect ratio of the resized image is not preserved.

References

There are many good sources of information for generating and colorizing IFS fractals on the Internet.

Here are few to get you started.

Wikipedia - Barnsley Fern
Jan_1988 Byte magazine article by Michael F. Barnsley and Alan D. Sloan
Ergodic Theory, Fractal Tops And Colour Stealing (PDF by Michael F. Barnsley)
J. C. Sprott - Automatic Generation of Iterated Functions Systems
Ken Brakke - IFS Gallery and transforms
Nathan Zeldes - IFS Image Gallery
Paul Bourke Fractals (scroll down for IFS gallery with transformations)
Classic Iterated Function Systems (IFS home page)
IFS Gallery with transform files (Larry Riddle, Agnes Scott College)

Software

Apophysis - Fractal Flame software
Ken Brakke - Stand Alone Java IFS program (.jar direct download link)
Nathan Zeldes - Download IFS Lab
IFS Construction Kit
Fractal Designer by Doug Nelson (DOS/DOS Box)
RS-IFS.bas (DOS/DOS box)