home *** CD-ROM | disk | FTP | other *** search
-
- Program: !IFS
-
- Version: 1.00 (16 Apr 1994)
-
- Author: J.O.Linton
- Greenacres, Quatford, Bridgnorth, Shropshire, WV15 6QG
-
- Purpose: Displays IFS fractals
-
-
- What is an IFS?
- ~~~~~~~~~~~~~~~
-
- An Iterated Function System or IFS is a set of LINEAR
- TRANSFORMATIONS each of which is a set of equations which map any
- given point on the plane onto another unique point. These equations
- are LINEAR - that is to say, they contain no complicated mathematical
- functions, not even squares and cubes. In fact they are very simple:
-
- X' = aX + cY + P
- Y' = bX + dY + Q
-
- where a,b,c,d,P and Q are constants. If you were to apply one of these
- transformations to all the points on a square then, depending on the
- values of the constants, you could do some or all of these things:
-
- a) MOVE the square somewhere else,
- b) EXPAND or SQASH the square,
- c) SHEAR the square or
- d) ROTATE the square
-
- In spite of their simplicity, linear transformations are quite
- powerful!
-
- In order to produce an iteresting IFS fractal you need at least
- two carefully chosen transformations. At each iteration, one of the
- transformations is chosen at randon and a point is plotted. In
- general, one of three things can happen. The point can enter a cycle
- which repeats over and over again or it can shoot off to infinity.
- Neither of these possibilities is very interesting. The third
- possibility is that the point builds up a fractal picture which has
- infinite detail and which can be very beautiful. In general, to obtain
- non-trivial fractals, most of the transforms used will be contractive
- (ie they make the picture smaller.) One of the most surprising things
- about an IFS is that the starting point used to set things going is
- irrelevant. Each set of transforms produces its own unique fractal.
-
-
- How to use the program
- ~~~~~~~~~~~~~~~~~~~~~~
-
- The program is RISC-OS compliant and its menus should be
- self-explanatory. To obtain information on the tool pane icons etc.
- use the interactive help program supplied with your computer.
-
- Up to 8 transformations can be selected and edited. Each transform
- is defined by a number of control points, any of which can be dragged
- around to change the characteristics of the transformation. Initially
- the transform is in the shape of a square.Note that one of the control
- ponts on the transform is an open circle. This is to distinguish it
- from the similar control point on the other side. If you drag this
- point to the other side, the original area will be flipped over as
- well as deformed. The control point in the centre allows you to rotate
- the transform about its origin and the control point (initially) at
- the top right scales the transform. To select and deselect each
- transform, use the option icons in the 'Transforms' window.
-
- In addition to the 8 coloured transforms, there is a base square
- with two draggable control points which defines the area which is
- transformed. You must imagine this area moved, squashed, squuezed and
- rotated into the area defined by the coloured transform. This can be
- edited in the same way using the ADJUST button to move the origin or
- scale the square. Using SELECT instead of ADJUST moves or scales all
- the transforms as well. This allows you to move and scale the whole
- picture easily.
-
- To experiment, simply select the transforms you want from the tool
- pane and drag the points around where you please. You are almost bound
- to stumble on something pretty!
-
- One further transform is provided called the repeating transform.
- If it is selected, it plots one or more repeat copies of the whole
- fractal. Its main use is to enhance the appearance of the fractal by,
- for example, providing a reflection, or in the case of the SnoFlake,
- completing the Koch triangle.
-
-
- Some hints on making interesting fractals
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- While it is almost impossible to predict what fractal will emerge
- from a given set of transforms, it is relatively easy to work out what
- transforms were used to produce a given fractal. The crucial thing to
- remember is that every fractal is made up of complete copies of
- itself. For example in the default fractal (the Sierpinsky triangle)
- each major triangle is a complete copy of the whole thing. It
- therefore follows that three transforms are needed, one for each of
- these internal copies. If you use the 'Colour as for last transform'
- option you will see clearly what I mean. In the case of the Koch
- snowflake curve, four copies are needed, two of which are rotated. If
- you look at the 'Fern' IFS, you will see that each of the two base
- fronds is a copy of the whole fern. (Note that one of the fronds is
- 'flipped'.) The stem is merely a completely squashed copy of the whole
- picture. The transform that performs the fractal magic is the one that
- copies the whole fern onto everything except the two base fronds and
- the stem.
-
- This transform is interesting from another point of view. What it
- does is to transform a point in one of the base fronds into a point in
- the next frond further up by moving it and slightly rotating it. In
- order to get produce the fronds at the tip of the fern, this transform
- has to be applied repeatedly several times. (To see what I mean, turn
- the 'Colour by number of repeated transforms' option on.) Now, if the
- transforms were chosen with equal probability, few points would ever
- get to the tip of the fern. This is why a facility has been provided
- to adjust the probabilities for each transform. Try reducing the
- probability of this transform and see the effect. Note that adjusting
- the probabilities makes no difference at all to the final fractal, it
- merely helps to obtain an acceptable picture more quickly.
-
-