summaryrefslogtreecommitdiffstats
path: root/plug-ins/ifs-compose/README.ifscompose
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--plug-ins/ifs-compose/README.ifscompose83
1 files changed, 83 insertions, 0 deletions
diff --git a/plug-ins/ifs-compose/README.ifscompose b/plug-ins/ifs-compose/README.ifscompose
new file mode 100644
index 0000000..cbaa331
--- /dev/null
+++ b/plug-ins/ifs-compose/README.ifscompose
@@ -0,0 +1,83 @@
+IfsCompose
+----------
+
+IfsCompose is a plug-in for GIMP that allows
+the creation of Iterated Function System fractals by direct
+manipulation onscreen of the component transforms.
+
+
+IFS Fractals
+------------
+
+You may be familiar with IFS's from the screen
+hack 'Flame'. They are also the basis of fractal image compression.
+
+For a brief introduction to IFS's see Foley and van Dam, et
+al,. _Computer Graphics, Principles and Practice_, 2nd Ed.,
+(Addison Wesley, 1990).
+
+The standard references in the field are Michael Barnsley's books (though
+I haven't looked at them yet):
+
+M. Barnsley, _Fractals Everywhere_, Academic Press Inc., 1988.
+M. Barnsley and L. Hurd, _Fractal Image Compression_, Jones and
+Bartlett.
+
+Briefly, you take a point and repeatedly apply one of a set of
+transformations to it, choosing randomly between them, and plot the
+point at each step. An interesting result (the Collage Theorem) says
+that if you can find a set of transformations that break up an image
+into smaller copies of itself, then the resulting fractal exactly
+reproduces the original image. For example, here is a classic image
+of a leaf and the same image with the four component transforms
+colored distinctively.
+
+But the best way to appreciate this may to install this program and
+try it out. I've extended the basic concept as found in
+Foley and van Dam to include transformations in color space as
+well as in real space.
+
+Installation
+------------
+The included Makefile should work with minor modifications on most
+systems if you have installed Gimp normally. Put the resulting binary
+in ~/.gimp/plug-ins or the system-wide plug-ins directory.
+
+The included files gtkaspectframe.c/.h implement a modified frame
+widget that guarantees that the aspect ratio of the child widget
+remains constant when the parent is resized. It's sort of specialized,
+but if you think it would be useful for other purposes, let me know
+and I'll lobby for its inclusion in the standard gtk.
+
+Use
+---
+The interface is somewhat complex and it may take you a little while
+to get the hang of it. (There are 19 parameters for each
+transformation in your fractal, after all). The best way to learn is
+probably to start by making small changes, and seeing what they
+do. Click on the transformations (represented by polygons) in the
+design window to manipulate them interactively.
+
+Button-1: rotate/scale
+Button-2: distort
+Button-3: move
+
+If you hold down shift while clicking, you can select multiple polygons
+to apply the transformation to.
+
+Try not to click too near the center of a polygon, as this will
+amplify your actions.
+
+Note that if you render onto an image with an alpha channel, the
+background will be transparent (very useful for compositing several
+fractals), otherwise the background will be the current background.
+
+There are tutorials and some example images at:
+
+ http://www.gtk.org/~otaylor/IfsCompose/ifs_tutorial/tutorial.html
+ http://tigert.gimp.org/gimp/ifs-compose/
+
+
+Have fun!
+
+Owen Taylor