Code Menu

Matrix Compact Form
Matrix Function Form
Scale/Rotation Form
Fixed Point Form

The Matrix Compact Form is the default form in which to display the parameters of the affine transformation f(x)=Ax+b, where A is the matrix and b is the translation vector. The elements of A and b are written in a row, with the coefficients of A followed by the coefficients of b. The Matrix Function Form gives the coefficients in the actual form Ax+b. This takes up more vertical space, however, so may not be suitable for an IFS with a large number of transformations.

The Matrix Compact Form

The Matrix Function Form

The Scale/Rotation Form shows the parameters of the matrix A in terms of the equivalent scaling and rotation, as well as the translation vector.

The Fixed Point Form is only used if a New Chaos Game has been chosen. This form shows the four possible moves with respect to each fixed point. While in the Chaos Game mode, you can display the Matrix Equation Form and Scale/Rotation Form, but you cannot edit them. The rules of the IFS can only be given in the Fixed Point Form.

There are three buttons on the toolbar that allow you to quickly switch between each of the display forms. The M button displays the current matrix form (compact or function). Pressing M a second time toggles between the compact and function forms. The R button displays the scale/rotation form, and the F button displays the fixed point form.

Equal Probabilities
Proportional Probabilities

Choose Equal Probabilities to assign the same probability to each function in the IFS.

Choose Proportional Probabilities to assign a probability to a function in the IFS based on the value of the determinant of the matrix for that function. If the determinant equals 0, then the probability is assigned a value of 0.01.

In the Chaos Game mode, all functions in the IFS are automatically given equal probabilities.

The probabilities are only used if the fractal is drawn using the random algorithm. You may also enter your own probabilities for each function in the IFS. A warning message will be displayed if the probabilities do not add to 1.

IFS Color Scheme

The IFS fractals can be drawn using three possible color schemes. "Use IFS Colors" associates each function in the IFS with a color that can be used to show which points arise from each function. You can change the color for a particular function by clicking on the box for that function. This will bring up the standard Windows color table. The current color choices are saved in the IFSkit.ini initialization file when you quit the program and reloaded the next time the program is run. The initialization file saves the color values as Visual Basic long integers.

You can save the current color palette or load a previously saved color palette. In these files the colors are saved as RGB triplets and the palette files have the extension "map". Since these are text files, you can make changes using a text editor, but you should be sure to have just three numbers between 0 and 255 on each line (representing red, green, and blue values, respectively.) You can put comments after the third value as long as the comment does not start with a digit.

You can also edit the color palette by choosing "Edit IFS Palette". The edit dialog box shows you the entire palette, not just the colors for the functions in the current IFS. This dialog box also shows you the RGB values for each color. Double click on a color to bring up the standard Windows color table. You can also click on a color, type ctrl-C to copy that color, then click on another box and type ctrl-V to copy the first color into that box.

There are also six buttons available to manipulate the palette. These can rotate the palette left (so the top row becomes the first column), rotate right (top row becomes the last column), flip horizontally (left column becomes the right column), or flip vertically (top row becomes the bottom row). The "revert" button changes all the colors back to what they were when the dialog box was displayed. The "rearrange" button brings up a blank palette. Click on a color in the original palette and it will be placed into the currently displayed index of the blank palette. Any unused indices will have color black. Click "accept" to replace the original palette with the new one. After all changes are made, click on "Ok" to apply your new palette.

You can set all the colors to be the same as the first function by selecting "Set IFS Colors to Function 1." Select "Restore IFS Default Colors" to undo this action. You can also select "Restore IFS Default Colors" to convert the color palette back to the colors read from the initialization file when the program started. If you want to change the color for function n and simultaneously change the colors of all the other functions that come after that one to the same color as function n, click on the color box for function n with the right mouse button and make your color selection.

The next color scheme use a color gradient. Choose "Gradient Color Options" to make your selections. The gradient range can be specified using 2 to 7 base colors. The default base colors are based on the colors of the rainbow. The vertical gradient option is based on each point's y coordinate. The horizontal gradient option is based on each point's x coordinate. The radial gradient option uses the distance of a point from the approximate center of the fractal. The fixed points gradient compares the distance from a point to the closest fixed point with the distance to the farthest fixed point. The random option picks colors from the gradient range at random.

pixelcount The pixel count gradient option will plot the color of a point in the fractal depending on the number of times the pixel corresponding to that point has been hit during the iteration steps. Because many close points may correspond to the same pixel, this coloring method is just an approximation. When this option is chosen, the dialog box will display text boxes in which the user can enter the pixel count for the base colors. For example, in the example to the right, we color red, shading to orange, if the pixel has been hit between 1 and 5 times; orange shading through yellow if the pixel has been hit between 5 and 10 times, and so on ending up with purple if the pixel has been hit at least 30 times.

The RGB values of the base colors and the pixel counts can be saved to a text file. If you have already saved such a file, it can be read back in at a later time. The first line of the text file will be the number of base colors to be used for the gradient range.

The final color scheme is based on the idea of "color stealing" by Michael Barnsley. With this method a coloring IFS and a colorful image are used to determine the colors for the main drawing IFS. The coloring IFS produces a sequence of points that lie on the image. The drawing IFS points are colored according to the color value under the points of the coloring IFS.

Here the Heighway Dragon is the drawing IFS and the Twindragon is the coloring IFS. The coloring IFS must have the same number of functions as the drawing IFS. The color stealing method can only be used with the random algorithm for drawing the fractal.

For more information, see the help page for "How to Use Color Stealing".

Arrange Fixed Points

This item is available only in the Chaos Game mode. It will arrange the fixed points equally spaced around a circle, with one point at the origin. The design window will be rescaled so that all fixed points are visible.

Add/Edit Comment

This will bring up a text window in which you can enter comments about the current IFS. These comments will be saved with the IFS. You can use Ctrl-C and Ctrl-P to copy and paste text via the clipboard, or right click to popup the standard Window's editing menu.

Rename IFS

This will bring up a dialog box in which you can enter a new name for the current IFS.