gimp/plug-ins
Adrian Likins 9ac0e40758 added glasstile, colorify, papertile, and illusion plugins
updated despeckle, and math map
1997-12-09 05:57:33 +00:00
..
AlienMap bunch of cvsignores added 1997-11-27 21:58:02 +00:00
Anamorphose bunch of cvsignores added 1997-11-27 21:58:02 +00:00
CEL bunch of cvsignores added 1997-11-27 21:58:02 +00:00
CML_explorer Added Nathan Summers and Seth Burgess to the about dialog 1997-12-09 05:54:04 +00:00
CentralReflection bunch of cvsignores added 1997-11-27 21:58:02 +00:00
Curtain bunch of cvsignores added 1997-11-27 21:58:02 +00:00
Encript_Decript bunch of cvsignores added 1997-11-27 21:58:02 +00:00
Julia bunch of cvsignores added 1997-11-27 21:58:02 +00:00
Mandelbrot bunch of cvsignores added 1997-11-27 21:58:02 +00:00
MapObject bunch of cvsignores added 1997-11-27 21:58:02 +00:00
aa bunch of cvsignores added 1997-11-27 21:58:02 +00:00
align_layers bunch of cvsignores added 1997-11-27 21:58:02 +00:00
animationplay bunch of cvsignores added 1997-11-27 21:58:02 +00:00
apply_lens bunch of cvsignores added 1997-11-27 21:58:02 +00:00
autocrop bunch of cvsignores added 1997-11-27 21:58:02 +00:00
autostretch_hsv bunch of cvsignores added 1997-11-27 21:58:02 +00:00
blinds bunch of cvsignores added 1997-11-27 21:58:02 +00:00
blur bunch of cvsignores added 1997-11-27 21:58:02 +00:00
blur2 bunch of cvsignores added 1997-11-27 21:58:02 +00:00
bmp bunch of cvsignores added 1997-11-27 21:58:02 +00:00
bumpmap bunch of cvsignores added 1997-11-27 21:58:02 +00:00
bz2 bunch of cvsignores added 1997-11-27 21:58:02 +00:00
c_astretch bunch of cvsignores added 1997-11-27 21:58:02 +00:00
checkerboard bunch of cvsignores added 1997-11-27 21:58:02 +00:00
colorify added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
common added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
compose bunch of cvsignores added 1997-11-27 21:58:02 +00:00
convmatrix bunch of cvsignores added 1997-11-27 21:58:02 +00:00
coordmap bunch of cvsignores added 1997-11-27 21:58:02 +00:00
cubism bunch of cvsignores added 1997-11-27 21:58:02 +00:00
dbbrowser bunch of cvsignores added 1997-11-27 21:58:02 +00:00
decompose bunch of cvsignores added 1997-11-27 21:58:02 +00:00
deinterlace bunch of cvsignores added 1997-11-27 21:58:02 +00:00
depthmerge bunch of cvsignores added 1997-11-27 21:58:02 +00:00
despeckle added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
destripe bunch of cvsignores added 1997-11-27 21:58:02 +00:00
dgimp a few more .cvsignores 1997-11-29 03:47:29 +00:00
diffraction bunch of cvsignores added 1997-11-27 21:58:02 +00:00
displace bunch of cvsignores added 1997-11-27 21:58:02 +00:00
edge bunch of cvsignores added 1997-11-27 21:58:02 +00:00
emboss emboss/emboss.c hot/hot.c nlfilt/nlfilt.c: 1997-12-09 01:29:39 +00:00
engrave bunch of cvsignores added 1997-11-27 21:58:02 +00:00
exchange bunch of cvsignores added 1997-11-27 21:58:02 +00:00
faxg3 bunch of cvsignores added 1997-11-27 21:58:02 +00:00
figures bunch of cvsignores added 1997-11-27 21:58:02 +00:00
film bunch of cvsignores added 1997-11-27 21:58:02 +00:00
fits bunch of cvsignores added 1997-11-27 21:58:02 +00:00
flame bunch of cvsignores added 1997-11-27 21:58:02 +00:00
fp bunch of cvsignores added 1997-11-27 21:58:02 +00:00
fuse Added libgck to the Makefile.am 1997-12-08 23:05:45 +00:00
gag-0.3 bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gauss_iir bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gauss_rle bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gbr bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gfig added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
gflare bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gfli bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gicon bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gif Removed a dangling parenthesis from the alien-glow-* scripts 1997-12-08 00:22:45 +00:00
gimptcl (erich) lots of changes to gimptcl 1997-12-01 19:49:08 +00:00
glasstile added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
gqbist updated a few plugins (randomize, gqbist, warp, fuse,gfig) 1997-12-08 21:37:39 +00:00
gradmap bunch of cvsignores added 1997-11-27 21:58:02 +00:00
grid bunch of cvsignores added 1997-11-27 21:58:02 +00:00
gz bunch of cvsignores added 1997-11-27 21:58:02 +00:00
header bunch of cvsignores added 1997-11-27 21:58:02 +00:00
holes bunch of cvsignores added 1997-11-27 21:58:02 +00:00
hot emboss/emboss.c hot/hot.c nlfilt/nlfilt.c: 1997-12-09 01:29:39 +00:00
hrz bunch of cvsignores added 1997-11-27 21:58:02 +00:00
ifscompose bunch of cvsignores added 1997-11-27 21:58:02 +00:00
illusion added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
iwarp updated iwarp to latest verison 1997-12-08 16:50:54 +00:00
jpeg bunch of cvsignores added 1997-11-27 21:58:02 +00:00
laplace bunch of cvsignores added 1997-11-27 21:58:02 +00:00
libgck updated iwarp to latest verison 1997-12-08 16:50:54 +00:00
lic bunch of cvsignores added 1997-11-27 21:58:02 +00:00
magiceye bunch of cvsignores added 1997-11-27 21:58:02 +00:00
mail bunch of cvsignores added 1997-11-27 21:58:02 +00:00
mathmap added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
max_rgb bunch of cvsignores added 1997-11-27 21:58:02 +00:00
maze bunch of cvsignores added 1997-11-27 21:58:02 +00:00
mblur bunch of cvsignores added 1997-11-27 21:58:02 +00:00
megawidget bunch of cvsignores added 1997-11-27 21:58:02 +00:00
mosaic bunch of cvsignores added 1997-11-27 21:58:02 +00:00
mpeg bunch of cvsignores added 1997-11-27 21:58:02 +00:00
nlfilt emboss/emboss.c hot/hot.c nlfilt/nlfilt.c: 1997-12-09 01:29:39 +00:00
noisify bunch of cvsignores added 1997-11-27 21:58:02 +00:00
normalize bunch of cvsignores added 1997-11-27 21:58:02 +00:00
nova bunch of cvsignores added 1997-11-27 21:58:02 +00:00
oilify bunch of cvsignores added 1997-11-27 21:58:02 +00:00
papertile added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
pat emboss/emboss.c hot/hot.c nlfilt/nlfilt.c: 1997-12-09 01:29:39 +00:00
pcx bunch of cvsignores added 1997-11-27 21:58:02 +00:00
pix bunch of cvsignores added 1997-11-27 21:58:02 +00:00
pixelize bunch of cvsignores added 1997-11-27 21:58:02 +00:00
plasma bunch of cvsignores added 1997-11-27 21:58:02 +00:00
png bunch of cvsignores added 1997-11-27 21:58:02 +00:00
pnm bunch of cvsignores added 1997-11-27 21:58:02 +00:00
polar bunch of cvsignores added 1997-11-27 21:58:02 +00:00
print bunch of cvsignores added 1997-11-27 21:58:02 +00:00
ps bunch of cvsignores added 1997-11-27 21:58:02 +00:00
psd bunch of cvsignores added 1997-11-27 21:58:02 +00:00
randomize updated a few plugins (randomize, gqbist, warp, fuse,gfig) 1997-12-08 21:37:39 +00:00
rcm bunch of cvsignores added 1997-11-27 21:58:02 +00:00
refract Removed a dangling parenthesis from the alien-glow-* scripts 1997-12-08 00:22:45 +00:00
ripple bunch of cvsignores added 1997-11-27 21:58:02 +00:00
rotate bunch of cvsignores added 1997-11-27 21:58:02 +00:00
rotators bunch of cvsignores added 1997-11-27 21:58:02 +00:00
scatter_hsv bunch of cvsignores added 1997-11-27 21:58:02 +00:00
script-fu Got rid of those extra tabs in Makefile.am so it wouldn't be confused 1997-12-08 03:06:57 +00:00
sgi bunch of cvsignores added 1997-11-27 21:58:02 +00:00
sharpen bunch of cvsignores added 1997-11-27 21:58:02 +00:00
shift bunch of cvsignores added 1997-11-27 21:58:02 +00:00
sinus bunch of cvsignores added 1997-11-27 21:58:02 +00:00
smooth_palette bunch of cvsignores added 1997-11-27 21:58:02 +00:00
snoise bunch of cvsignores added 1997-11-27 21:58:02 +00:00
snp bunch of cvsignores added 1997-11-27 21:58:02 +00:00
sobel bunch of cvsignores added 1997-11-27 21:58:02 +00:00
sparkle bunch of cvsignores added 1997-11-27 21:58:02 +00:00
spread bunch of cvsignores added 1997-11-27 21:58:02 +00:00
stereogram bunch of cvsignores added 1997-11-27 21:58:02 +00:00
struc bunch of cvsignores added 1997-11-27 21:58:02 +00:00
sunras bunch of cvsignores added 1997-11-27 21:58:02 +00:00
tga bunch of cvsignores added 1997-11-27 21:58:02 +00:00
threshold_alpha bunch of cvsignores added 1997-11-27 21:58:02 +00:00
tiff bunch of cvsignores added 1997-11-27 21:58:02 +00:00
tile bunch of cvsignores added 1997-11-27 21:58:02 +00:00
tileit bunch of cvsignores added 1997-11-27 21:58:02 +00:00
tiler bunch of cvsignores added 1997-11-27 21:58:02 +00:00
twist bunch of cvsignores added 1997-11-27 21:58:02 +00:00
universal bunch of cvsignores added 1997-11-27 21:58:02 +00:00
uri Initial revision 1997-11-24 22:05:25 +00:00
url bunch of cvsignores added 1997-11-27 21:58:02 +00:00
user_filter bunch of cvsignores added 1997-11-27 21:58:02 +00:00
video bunch of cvsignores added 1997-11-27 21:58:02 +00:00
vinvert bunch of cvsignores added 1997-11-27 21:58:02 +00:00
vpropagate bunch of cvsignores added 1997-11-27 21:58:02 +00:00
warp updated a few plugins (randomize, gqbist, warp, fuse,gfig) 1997-12-08 21:37:39 +00:00
waves bunch of cvsignores added 1997-11-27 21:58:02 +00:00
whirlpinch bunch of cvsignores added 1997-11-27 21:58:02 +00:00
xd bunch of cvsignores added 1997-11-27 21:58:02 +00:00
xpm bunch of cvsignores added 1997-11-27 21:58:02 +00:00
xwd bunch of cvsignores added 1997-11-27 21:58:02 +00:00
zealouscrop bunch of cvsignores added 1997-11-27 21:58:02 +00:00
.cvsignore more .cvsignores 1997-11-27 22:01:52 +00:00
Makefile.am added glasstile, colorify, papertile, and illusion plugins 1997-12-09 05:57:33 +00:00
README.gflare Initial revision 1997-11-24 22:05:25 +00:00
README.ifscompose Initial revision 1997-11-24 22:05:25 +00:00
build.in Initial revision 1997-11-24 22:05:25 +00:00
fits.txt Initial revision 1997-11-24 22:05:25 +00:00
ps.txt Initial revision 1997-11-24 22:05:25 +00:00
t Initial revision 1997-11-24 22:05:25 +00:00
xcompose.txt Initial revision 1997-11-24 22:05:25 +00:00

README.ifscompose

IfsCompose-0.5
--------------

IfsCompose is a plug-in for the GIMP that allows
the creation of Iterated Function System fractals by direct
manipulation onscreen of the component transforms.

Although v0.5 is fairly full featured, it is still lacking some
essentials. Most importantly, it is not yet possible to save fractals
in unrendered form for future modification. The rendering code could
also use some more work.

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.

If I get a chance, I'll try to write up a tutorial and put it
on my web page (http://student-www.uchicago.edu/users/otaylor)
sometime soon. There are some examples of images I've created
there now.

Have fun!

Owen Taylor
owt1@cornell.edu