4k | ntropy2k7: a 4k flame fractal renderer | 2007-07-22 |
abstract
I proudly finished my first 4k. It's a flame-fractal [0] sampling program (some also say fractal-flame or fractal-flame-renderer or whatsoever; I am unsure which one is the correct; besides, the whole thing is of course based on a special form of iterated function systems, or IFS [1]). While it does not produce the most pretty fractals of all times due to a lot of kludges in the code (e.g. I kicked out the variation weight normalization), I managed to pop in all of the 16 variations of [0].
The package contains four binaries:
- ntropy2007: full random. prettyness comes with low probability.
- ntropy2007.horseshoes: focuses on the horseshoe variation.
- ntropy2007.linear: focuses on linear variations (a renderer that supports linear xforms only could btw be crunched into less than 2k, btw).
- ntropy2007.sjd: focuses on the spiral, julia and diamond variation. In my humble opinion it produces the most beautyful images.
I reduced the resolution to 640x480, so the renders are not to noisy.
linkage
controls
Only two keys: [Enter/Return] to jump to next fractal. [Esc] to leave.
sys requirements
Should run on every GNU/Linux with SDL installed (ya, I used SDL. I don't really see an idealistic problem with it since I only used it for pixel-dumping. but feel free to tell me via mail why it's bad). You must have the SDL and libc libraries installed.
At the moment of writing, my box is:
- Debian GNU/Linux Etch, kernel 2.6.18.3 (32 bit)
- AMD Athlon XP 1800+ (32bit, 1-core)
- gcc 4.1
- SDL + libc 6 libraries
compile
Step A is to get the source, it is here. Then, from within the directory where you have downloaded the tarball to, type
tar -xvvf ntropy2k7.tar.gz
or use your principal packaging tool. Then: (from within src directory, I made no makefile)
# ls -l fourk0001
# strip -R .note -R .comment -R .eh_frame -R .eh_frame_hdr -s fourk0001
# ls -l fourk0001
four k
# ls -l ntropy2007
-rwxr-xr-x 1 smach smach 4096 2007-07-15 14:25 ntropy2007
Thanks to Thierry Berger-Perrin ([2][3]), here's an embroided dump of the binrary. And, of course, thanks to Thomas Ludwig ([4]), for teaching me ifs (even if some time has passed by, I want to thank him because this is my first released ifs-prod).
references
0: | The Fractal Flame Algorithm, http://flam3.com/flame_draves.pdf, Scott Draves |
1: | Wikipedia Article on Iterated Function Systems, http://en.wikipedia.org/wiki/Iterated_function_system |
2: | Thierry Berger-Perrin (tbp), http://ompf.org |
3: | The disassembly prettifier "Embroider", http://ompf.org/stuff/embroider/ |
4: | Thomas Ludwig (lycium), http://lyc.deviantart.com |