Draw Menu

Random (F7)
Deterministic (F8)

The item that is checked will determine which of the two algorithms are used for drawing the fractal. The deterministic algorithm is also called the Multiple Reduction Copy Machine (MRCM) algorithm in some books.

Draw (Ctrl-D)

If the random algorithm is used, choosing Draw will plot iterations until the "Q" button is pressed or some other window gets the focus. If the deterministic algorithm is used, choosing Draw will draw the next iteration of the IFS.

Draw This Many... (Ctrl-I)

When using the random algorithm, this allows you to specify how many points to draw. The drawing will start as soon as you press Ok in the dialog box. You can press Ctrl-Alt-D to continue plotting once the initial number is entered and the Fractal window is the active window. The default value is 10000 points so if that is ok, you can press Ctrl-Alt-D right away without bringing up the dialog box. There are two options, the first (the default) is to draw an additional number of points specified. Each time you press Ctrl-Alt-D, the program will plot that many points. The second option is to draw until the specified number of points has been reached. Once you reach this number, pressing Ctrl-Alt-D will not draw any more points unless you go into the dialog box and increase the number.

When using the deterministic algorithm, the dialog box can also be used to specify how many iterations to draw. Pressing Ctrl-Alt-D will repeat this many iterations but only after the dialog box has been opened at least once.

Scale to Fit (Ctrl-W)
Scale to Design Window (Ctrl-G)

Choose Scale to Fit to set the scale so that the entire fractal will be visible in the window. Choose Scale to Design Window to make the scale of the Fractal window identical to the scale of the Design window.

Freeze Scale

Selecting this option will freeze the scale used in the fractal window so that no changes can be made. This is useful if you want to draw different fractals using the same scale for each (for example, if preparing an animation.) Scale to Fit, Scale to Design Window, and the various zoom and shift options will be disabled until Freeze Scale is unchecked.

Shift (arrow keys)

You can shift the viewing window left, right, up, or down in increments of 1% using the menu or the arrow keys. Any image in the window will appear to shift in the opposite direction.

Zoom In (Zoom Selection) (Page Up)
Zoom Out

The fractal window will zoom in by 5%. You can also zoom in on part of the fractal by using the mouse to draw a selection rectangle. The menu will change from Zoom In to Zoom Selection. Hold down the shift key to make the selection rectangle a square (and preserve equal scale on both axes.) This item is only available when using the random algorithm. You must stop drawing before you can zoom, but if a fractal has already been drawn, the program will redraw it after the zoom.

Choose Zoom Out to zoom out 105% (Page Down), 125%, 150%, or 200%. You must stop drawing before you can zoom, but if a fractal has already been drawn, the program will redraw it after the zoom.

Restore (Home)

Restores the viewing window to the original dimensions when an IFS was picked, or when an initial set was selected for deterministic drawing.

Clear (Delete)

Clears the Fractal window without changing the scale.

Add Picture (Initial Set)

When using the deterministic algorithm, you need to add a picture to the Fractal window to be used as the initial set for the iteration of the IFS. There are nine choices. You can use the current design polygon (as an outline or filled), a line segment, a triangle (equilateral, right, or arbitrary where you give the vertices), a rectangle, a regular polygon (up to nine sides), a circle, or an image loaded from a bitmap, GIF, or JPEG file. You can also paste an image from the clipboard.

When using the design polygon, a dialog box will allow you to set the line thickness and color of the lines in the polygon. Choosing the filled design polygon brings up a dialog box in which you can also choose the fill color. The boundary can be either visible or invisible. Choosing a line will bring up a dialog box in which you can choose the endpoints, color, and thickness. Choosing a rectangle, triangle, regular polygon, or circle will bring up a dialog box in which you can choose the size, line thickness, the style (outline or filled), and the line and fill colors. In all cases you can also toggle a check box to draw the iterations using the colors of the initial image or the IFS coloring scheme.

When you first load an image from a file or paste an image from the clipboard, you may move the image to a desired location using the mouse as long as the image is surrounded by a dotted outline. Once the image is in the appropriate place, click anywhere outside the image to make the position permanent.

Deterministic Colors

This option is only available when using the deterministic algorithm. Choose Use IFS Colors to draw each point based on the color of the function used from the IFS. Choose Use Image Colors to draw each iterated point based on the color of the original point in the image. If you add a picture to the Fractal window from a file, Use Image Colors will be the default choice for the color scheme.

Overlay Images

This option is only available when using the deterministic algorithm. It will draw the result of each new iteration on top of the images obtained from earlier iterations.

Trace (Ctrl-T)

This option is only available when using the random algorithm. If Turn Trace On is checked, then a ctrl-right click with the mouse will plot a point in the Fractal window that will serve as the initial seed for tracing an orbit. You can also choose Set Initial Point to enter the x and y coordinates of the initial seed. Press the space bar to randomly pick one of the functions in the IFS which is then applied to the last point plotted. Instead of allowing the functions of the IFS to be chosen randomly, you can specify exactly which function will be executed in the next step of the orbit by pressing the corresponding number. Hold down the ctrl key for numbers greater than 10 (i.e. ctrl-1 = 11, ctrl-2 = 12, ..., ctrl-9 = 19, ctrl-0 = 20.)

Choose Color Dots or Black Dots to specify how the points in the orbit will be colored. Colored Dots will use the color of the corresponding function from the IFS window.

If you hold down the left mouse button when the cursor is over the tracing message box in the lower right corner, a window will popup summarizing the instructions for how to trace.

Fixed Points (Ctrl-F)

Checking Show Fixed Points will plot the fixed points for the functions in the IFS. Choose Color Dots or Black Dots to specify how the fixed points will be colored. Color Dots will use the color of the corresponding function from the IFS window.

Show Axes (Ctrl-A)

If checked, will show the axes in the Fractal window.

Show Grid (Ctrl-G)

If checked, will draw a grid in the Fractal window. The default grid size is 0.1. Use the plus and minus keys to rotate among four grid sizes (0.05, 0.1, 0.125, and 0.25). You can select your own grid size by pressing Ctrl-Alt-G. You have the option of choosing a different grid size for each axis. If you do create a grid with unequal scale along the x and y axes, then pressing the plus or minus key will convert back to a square grid. The plus key will use the larger grid value while the minus key will use the smaller grid value.


You can set the background color of the fractal window or the color of the axes drawn in the fractal window. These colors are saved in the IFSkit.ini file.

Tiling Options

Allows you to try to tile the plane with the current fractal. You must specify the two vectors that describe the directions in which the tiling is done. If these vectors are v and w, then copies of the fractal are made in the direction nv+kw for integer n,k from -R to +R, where R is the tiling radius. If the tiling radius is 0, only the original fractal is drawn.

If the IFS is obtained from a design using an integer matrix, the initial values for v and w will be the vectors from that matrix. These may need to be adjusted based on the choice of residue vectors.

It is sometimes helpful to measure distances in the Fractal window to know how to choose the vectors v and w. This can be done by pressing the left mouse button while holding down the ctrl key. Continue to press the button and move the cursor to another location. The message box in the lower left corner will display the change in x and the change in y between the two points. The line connecting the two points and the Δx and Δy values will disappear when you release the mouse button.

The tiles can be colored using the same colors as for the IFS, or each copy of the fractal can be colored in a solid color.

Fractal Image Size

Choose "Set Image Size" to set a specific size (width/height) for the image pane in which the fractal image is drawn. This can be given in terms of pixels, inches, or centimeters. The size is restricted to 22 inches by 22 inches. If the image size is too large to fit inside the fractal window, scroll bars will be added. Thus for large image sizes, this option is primarily of use if you want to save the fractal image to a file or copy it for pasting into an illustration program (e.g. Paint Shop Pro or Photoshop). BEWARE: if you make the size too large for the amount of memory available to the program, it is likely to crash.

Image window is 600x600 pixels, so scroll bars added

Selecting "Unfreeze Image Size" will reset the image pane so that it will fit inside the fractal window.

Load Background Picture

popup menu

Allows you to choose an image file to use as a background in the fractal window when drawing with the random algorithm or the deterministic algorithm (when not already using an image as the initial set). When you first load an image (or paste from the clipboard) the image will appear with dashed lines around the edges. While the dashed lines are present, you can move the image around the fractal window to a desired location. You can display the axes or the grid to help guide your placement by pressing ctrl-A or ctrl-G, respectively. If you right click on the image while the dashed lines are present, a popup menu will appear that allows you to bring up a dialog box to set the precise location of the image (based on one of the four corners) as well as change the width and height. Or you can choose to resize the image manually. In this case, grab handles will appear in the corners and along each edge which you can use to resize the image. Once the image is where you want it, press the escape key, click anywhere outside the image, or choose Finalize Position from the popup menu to set the image's location and erase the dashed lines around the edges. The fractal will be drawn on top of the image.

Clear Background Picture (Ctrl-X)

This will delete the background picture in the fractal window. When using the random algorithm, this is the same as pressing the Delete key. If in deterministic mode, however, clearing the background picture will reset the fractal window back to iteration 0 and remove the background image while pressing the Delete key will reset the iteration but maintain the image. So if you no longer want a background image while drawing deterministically, you will need to clear the background picture.

In the random drawing mode, if you choose "Clear" from the menu or press the Del key, the background image will be deleted along with the fractal. If you press Ctrl-Del, however, only the fractal will be deleted and the background image will be re-activated with dashed lines in case you want to move or resize it.