1IfsCompose 2---------- 3 4IfsCompose is a plug-in for GIMP that allows 5the creation of Iterated Function System fractals by direct 6manipulation onscreen of the component transforms. 7 8 9IFS Fractals 10------------ 11 12You may be familiar with IFS's from the screen 13hack 'Flame'. They are also the basis of fractal image compression. 14 15For a brief introduction to IFS's see Foley and van Dam, et 16al,. _Computer Graphics, Principles and Practice_, 2nd Ed., 17(Addison Wesley, 1990). 18 19The standard references in the field are Michael Barnsley's books (though 20I haven't looked at them yet): 21 22M. Barnsley, _Fractals Everywhere_, Academic Press Inc., 1988. 23M. Barnsley and L. Hurd, _Fractal Image Compression_, Jones and 24Bartlett. 25 26Briefly, you take a point and repeatedly apply one of a set of 27transformations to it, choosing randomly between them, and plot the 28point at each step. An interesting result (the Collage Theorem) says 29that if you can find a set of transformations that break up an image 30into smaller copies of itself, then the resulting fractal exactly 31reproduces the original image. For example, here is a classic image 32of a leaf and the same image with the four component transforms 33colored distinctively. 34 35But the best way to appreciate this may to install this program and 36try it out. I've extended the basic concept as found in 37Foley and van Dam to include transformations in color space as 38well as in real space. 39 40Installation 41------------ 42The included Makefile should work with minor modifications on most 43systems if you have installed Gimp normally. Put the resulting binary 44in ~/.gimp/plug-ins or the system-wide plug-ins directory. 45 46The included files gtkaspectframe.c/.h implement a modified frame 47widget that guarantees that the aspect ratio of the child widget 48remains constant when the parent is resized. It's sort of specialized, 49but if you think it would be useful for other purposes, let me know 50and I'll lobby for its inclusion in the standard gtk. 51 52Use 53--- 54The interface is somewhat complex and it may take you a little while 55to get the hang of it. (There are 19 parameters for each 56transformation in your fractal, after all). The best way to learn is 57probably to start by making small changes, and seeing what they 58do. Click on the transformations (represented by polygons) in the 59design window to manipulate them interactively. 60 61Button-1: rotate/scale 62Button-2: distort 63Button-3: move 64 65If you hold down shift while clicking, you can select multiple polygons 66to apply the transformation to. 67 68Try not to click too near the center of a polygon, as this will 69amplify your actions. 70 71Note that if you render onto an image with an alpha channel, the 72background will be transparent (very useful for compositing several 73fractals), otherwise the background will be the current background. 74 75There are tutorials and some example images at: 76 77 http://www.gtk.org/~otaylor/IfsCompose/ifs_tutorial/tutorial.html 78 http://tigert.gimp.org/gimp/ifs-compose/ 79 80 81Have fun! 82 83Owen Taylor 84