a3pop-151023-420.ifs
aa0648.ifs
Mu_frenchcurve.ifs
IFSLab_Pyramid.ifs
JB_IFS-0025.ifs
IFSLab_XenoBreeder.ifs
What is an Iterated Function System?
What Is IFS Viewer 3?
Quick Start
The Menu Bar
"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
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.
The easiest way to view an IFS fractal is to load an .ifs file by pressing the
button. Select the IFS Transforms folder, then navigate to one of the eight sub-folders and double-click on one of the .ifs files. After selecting the file, there is a brief pause while the affine transformations are being computed. The IFS fractal will be displayed on screen at the default resolution of 320x240 pixels. Drawing the fractal at 320x240 takes the least amount of time to compute and display a fractal. This is a good way to see if you like the fractal before committing the time and effort to display at a higher resolution.
After the affine transformations have been calculated and the fractal is rendered, you can select different drawing colors and different background colors. Since all the computational heavy work has been completed, you can change the color of the fractal and background color as many times as you wish and render the fractal in a fraction of the time it takes to render a fractal from loading a new IFS transformation file. Just press the
button to have any color changes or 'Flip the Y Axis' take effect.
The quickest way to view an 800x600 fractal is to press the
button. Navigate to the 'Hst800' folder and select the fractal you wish to view. IV3 comes with a handfull of pre-calculated 'Hst800' files to get you started.
Whether you 'Load a Transformation' or 'Load a .hst file', after the fractal is shown on the screen, you now have the option to 'colorize' the fractal using any picture image you may have on your hard drive. The only limit is that the image must be the same dimensions as the displayed fractal (320x240, 640x480, or 800x600 pixels). Blurred images or images with continous tones (like nature pictures) give the most visually pleasing results.
The menu bar has two sub-menus. They are the File and Help menus. 
The File menu has six menu items:
The Help menu has two menu items:
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.
The HST file, is a file containing all of the pixel intensity levels used to display an IFS fractal. Histograms for the larger display sizes can take several seconds to load. Once the HST file is loaded, rendering will commence immediately after the file has loaded. It will be rendered in the current color settings, and you can now change the drawing color, background color, and 'Flip the Y Axis' as many times as you wish. Just press the
button to tell IV3 to re-color the fractal when you change the drawing color, the background color, or 'Flip the Y Axis'.
There is also the
button above the main drawing area for your convenience. The 'Load HST File' from the 'File Menu' and the
button function identically.
Note: The five pre-loaded sample fractals (and a few extras) have .hst files already computed and saved in the 'Hst800' folder.
After loading an .ifs transform file and your fractal has been fully rendered in the display window, you may save the pixel intensity histogram (.hst) to disk for later use. A histogram file for any of the three display sizes can be saved as a snapshot of any fractal pixel intensity maps once all of the affine transformation calculations have been completed. It doesn't matter what color or background color you are currently displaying because the HST file doesn't record any color information.
Tip 1: If you render a fractal at 800x600 or 640x480, it is advised that you save the histogram file of that fractal to eliminate the time required to calculate the affine transformations at high resolution. Calculation times for 800x600 fractals using more than 2 million iterations, can take over two minutes. HST files greatly reduce the amount of time it takes to display a fractal the next time around.
Tip 2: When the file dialog window appears notice that the *.hst in the file name text box is highlighted. At this point if you right-click on the highlighted *.hst you can select Paste from the pop-up window, or alternatively, press [Ctrl+V] to paste the default file name for that particular fractal. For example: If the .ifs fractal file you are viewing is the BarnsleyFern.ifs fractal at 800x600 resolution, the default .hst file name is BarnsleyFern_800.hst. The general default file format is ifsFileName plus an underscore plus the width of fractal display screen plus .hst (i.e. ifsFileName_displayScreenWidth.hst). You can also name the file however you wish, as long as it has the .hst file extension.
This option allows you to load and to display a bitmap image (.bmp file) stored on your hard drive. This option only allows 800x600, 640x480, and 320x240 pixel bitmaps to be loaded. Once you have selected and loaded a bitmap, the bitmap image will be displayed in the main viewing window.
This option allows you to save any currently displayed fractal as a bitmap image (.bmp file) to your hard drive. The saved bitmap image will be the same dimensions as the currently selected display size.
Once the file dialog window appears, you may right-click on the highlighted *.bmp and select Paste from the pop-up menu or alternatively press [Ctrl+V] to paste the default file name into the textbox of the file dialog. The default bitmap file name is the ifsFileName plus an underscore plus displayScreenWidth plus .bmp (i.e. ifsFileName_displayScreenWidth.bmp). You can also name the file however you wish, as long as it has the .bmp file extension.
Selecting this option will terminate IFS Viewer 3
The Help Menu has two menu items - Help and About
Selecting Help brings up this document.
Selecting About displays 'License and Copyright' information.
This is the text of the 'License and Copyright'
IFS Viewer 3
Written by Andres Amaya Jr - (c) 2016, All Rights Reserved
You are granted permission to borrow parts of this program that can be integrated into your project. No further notice is required. Please obtain my permission before distributing this work in full. Do not include this work in a CD pack, website, forum or other file archive or download site without permission.
Do not create modified versions of this program and call them yours. Copyright law permits me to claim copyright on derived works. As I mentioned - you can use ideas and portions of the code in your projects without hindrance.
Care has been taken to insure that this software is free from defects, but that can never be guaranteed. The user understands that by running the software they assume all risks. This software is provided AS IS. There are no warrantees explicit or implied.
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.
5) Color the rendered fractal using a picture on your hard drive. This step is optional but offers the most variety in colorizing the fractal.
Steps 1 - 4 are performed automatically once an IFS transform has been loaded.
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.
While the affine transformations for the fractal are calculated, a progress bar indicates the status of the calculations in 10% increments.
After 150,000 iterations have been calculated, the fractal is displayed in the main window at a graphics resolution of 320 x 240 pixels. Lastly a frame/border of the current drawing color is placed around the fractal at display resolutions of 320x240 and 640x480 pixels. This is a visual indicator of the size of an image that is to be saved to disk.
The Title textbox shows the name of the IFS fractal once loaded.
The Source textbox shows the originator or creator of the IFS fractal once loaded.
The Iterations textbox allows you to change the number of iterations used to draw the fractal. Default iterations are:
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 suggested iteration ranges:
The other consideration is that more iterations take longer to process. It's always going to be a trade-off between speed vs. detail.
If you wish to display the fractal at a higher resolution, you will need to select either Display Size 640x480 or Display Size 800x600 and then press the
button to begin calculating the fractal and build it's associated pixel histogram at the selected display resolution.
Note: Changing the display size also resets the number of iterations to the default values used to calculate the IFS transformations (See 'Iterations' above).
Once the histogram is in memory, you can select a different color with which to render the fractal, and also choose a new background color, without the need to re-calculate the affine transformatios for the fractal.
Pressing the
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:
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 selected at random and displayed.
The pixel intensity histogram of all of the displayed pixels, of which the fractal is comprised, is stored in memory for further graphical manipulation. The caveat is that the histogram is only valid for one-and-only-one of the three graphic resolutions available. At start up, only the histogram for a 320 x 240 pixel is stored in memory.
Selecting 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.
Selecting 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 color selected, erasing the fractal currently displayed.
Before pressing the
button, you can also check the
checkbox. This is to compensate for the fact that depending on whether the IFS transformations were made using the mathematical X/Y plane (positive Y values are above X axis) or the computer screen X/Y plane (positive Y values are below X axis), you can still view the fractal with correct Y orientation once the histogram has been computed and stored in memory.
To display the fractal with the new color selection(s) or flipped Y axis, press the
button. The rendering of the fractal will begin immediately without any further affine calculations. How long this will take depends on the current display size. Higher resolutions will take proportionately longer times to display.
Note:If the Y Axis has been flipped, and you then 'SAVE' the histogram of the flipped fractal, the pixel intensity histogram will also be saved with the Y axis flipped. The Y axis will be flipped whenever saving a histogram while the
check box for Update Render or check box for Render Using BMP is selected.
Another display choice is the
button. This allows you to paint the fractal with the colors stored in any bitmap image (.BMP) you have on your computer. Along with the option of
, you can also select the
which inverts the colors of the .BMP 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
and
options must be selected -before- pressing the
button. Selecting either of the two options after pressing the
button will have no effect until the next render.
Only bitmap image sizes of 320x240, 640x480, and 800x600 pixels are permitted for use as colorization images or for loading as a saved bitmap.
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