How to Draw Using Deterministic Algorithm

  1. Enter the IFS code manually or open an ifs file from disk.
  2. Select Draw/Deterministic (or press F8).
  3. From the Draw menu, add a picture to represent the initial set. This can be the same as the polygon in the design window (either outlined or filled), a line, a rectangle (which includes a square), a triangle (either equilateral, right triangle, or arbitrary where you give the coordinates of the vertices), a regular polygon of up to nine sides, or a circle. 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. If you right click on the fill color command button, the selected color will also be used for the line color. Alternatively, you can use an image loaded from disk or pasted from the clipboard as the initial set. In this case the default coloring scheme will be to use the image colors. You can use a "point" by making a square of very small height and width, or a circle of small radius. The program will attempt to scale the fractal window so that the initial set and all iterates will appear inside the window, but it may still be necessary to zoom out a bit (press Page Down) or shift the window if an appropriate choice is not made so that all the iterations will appear in the window.
  4. When you select an initial set from a disk image or pasted 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 or click anywhere outside the image to set its location and erase the dashed lines around the edges.
  5. You can reselect an initial set image by pressing the escape key before any iterations are done (iteration count equals 0). This allows you to move or resize the image. Press the escape key again or click outside the image to deselect the image.
  6. From the Draw\Deterministic Colors submenu, choose the coloring scheme. Choose "Use IFS Colors" to draw using the colors associated with each function. Choose "Use Image Colors" to preserve the colors of the image. This is particularly useful if you load an image from a file to use as the initial set, and therefore this color scheme will be the default choice for that case.
  7. Ordinarily the previous image will be erased before the next iterate is drawn. Choose Draw\Overlay Images to prevent this. This can produce some interesting results (see below). The color used for each iteration is determined by the current IFS color palette. You can edit the palette and save it, then load that palette at a later time.
  8. Select Draw/Draw (ctrl-D) or click the Draw button on the main toolbar [] or the Draw button on the fractal window toolbar () to do one iteration.
  9. You can press Q to quit the computation of an iteration before the image is drawn (while the progress bar is not complete), as long as recursion is not being used.


Sierpinski's Carpet