Iterated function systems can produce certain kinds of self-similar fractals. Several affine transformations are used to map points from the entire fractal onto a smaller self-similar region of the fractal. In this Demonstration, each parallelogram is programmed to contain a perfect copy of the entire picture.
Each lens has five dots: four at the corners and one at the center. For best results, move the center dot first, and then move to the corners. When experimenting with multiple lenses, keep the iterations low to speed computation. When you have an interesting configuration, turn off the lenses and increase the iterations to see your fractal in detail. Also, try manipulating the fractal without the lenses displayed; sometimes the extra lines clutter the picture.