Info on making 24-bit fractals (other than the light transform outputs)
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------

Entry #209 of SCI.FRACTALS
Re: 24 bit fractals
From: cwm@Turing.ORG (Chris W. Morris)
Date: 30 Nov 92 19:46:54 GMT

In article <133960001@acf3.NYU.EDU> reznick@acf3.NYU.EDU (Daniel Reznick)
writes:
>With the advent of affordable 24 bit color for the PC, there exists
>a very noticeable niche (read CHASM) which needs to be filled..
>A 24 bit fractal (or even just Mandelbrot) generator for the PC.
>preferably running under Windows, as most 24 bit color boards
>only supply drivers for Windows.
>MOST preferabbly a 24 bit friendly WinFract.
>
>For now, I would be happy with any program which will produce 24
>bit fractal images on the PC, even under DOS, which hopefully would
>then allow for some sort of 8-bit preview.

As some of you may remember, I asked about this a while back. Althought I did
not find a 'quick & easy' way to do this, I did find a way.
Special thanks to Kerry Mitchell for the following information.
I hope this proves of use to you all.

-Chris W. Morris
cwm@Turing.org
 -------------------------------------------------------------------------------

Date:    Sun, 8 Nov 1992 23:24:56 -0500 (EST)
From:    MITCHELL@ACODVAX.LARC.NASA.GOV
Subject: Re:  high-color fractals
To:      cwm@turing.org

I've been working with high- & true-color images for about a year now.  As you
realize, most fractal programs (like Fractint) don't support 16- or 24-bit
color.  Your basic escape-time fractal wouldn't benefit much from it anyway,
since the dynamic range for most fractal zooms isn't more than a few hundred.
That is, if you zoom in on any part of the Mandelbrot set, the range of
iteration cycles that you'd need to color would span a few hundred or so.

What I did was to come up with different ways to render various fractals.
It's handy at this point to get an image-processing program, like Piclab,
that can handle Targa format files.  I also have CSHOW, a picture viewer that
supports both high- & true-color.

Essentially, what I do is generate 3 separate images for each fractal:  one in
reds, one in greens, and one in blues.  Then, I use the image-processing
program to combine these into one image.  Since these pictures are not mapped
like GIF files are, it's not a simple task to change to color palette.
Fortunately, Piclab allows the user to negate any one color component (R, G,
or B) or all 3.  Thus, 8 perturbations are immediately available for each
image.

There are various ways to generate the red, green, and blue screens.  If you
use Fractint, you probably know about the 'outside=' parameters.  The usual
choice is 'iter', but there are also 'real', 'imag', 'mult', and 'summ'.  An
easy thing to do is the generate a fractal, say a Julia set for c = 0.28.  Do
this with outside=iter and color it in greens, say.  Then, use outside=real
with a blue palette.  Now, try outside=imag in reds.  Finally, lump them all
together for the final picture.  If you do this type of thing well, you can
wind up with many thousands of colors in your 640 x 480 image.

Whether or not you use Fractint, I find the key is to investigate other
characteristics of the fractal to use for coloring.  You can change the
escape boundary from a circle to a horizontal or vertical band.  You can use
the 'decomp=' option to break each iteration band up into angular pieces.  You
can write your own routines to decompose each band by the size of the iterate
once it diverges.  Etc., etc., etc.

For those points that don't diverge, Fractint offers a few different coloring
options.  One thing I like to do is find a Julia set that is largely 'black'
(points that don't diverge), and where the iterations are chaotic (not in one
of the periodic areas).  Then, I iterate to 150 (or so) and color the 'lake'
areas according to 'inside=zmag' in one color.  Then, I generate another image
by iterating to 151 and using another color.  Then, a third by iterating to
152.  Since the orbits are chaotic, the bands of constant zmag will move from
one iteration to the next, resulting in bands of color filling the otherwise
bland lake.

Anyway, there are some ideas to get you going.  Have fun and let me know if
you come up with anything interesting.

Kerry Mitchell
mitchell@acodkris.larc.nasa.gov

-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
summary of above techniques, explained better, with hints:
(by dan goldwater):

the above technique works fairly well.  to simplify the above, basically, 
one way to make a 24bit image would be to generate three images of the
same julia set (they work well), one using the outside=real option, one 
with outside=imag, and one with outside=mult (or summ, iter, etc).
then, use an all red palette on the first image, an all green pallete on
the second, and an all blue pallete on the third (try using 'sf5', 'sf6'
and 'sf7' keys in color cycling mode: they have simple black to red, 
black to green, and black to blue gradients).
after you save the three images, you must then put them together into a
single image.  a program such as piclab, photostyler, or some sort of
graphics/retouching program should do.  in order to not have the final
image be too bright, first darken each of the images a bit.  how much to do
this varies.  darken between 20% and 50% depending on how bright the original
is.  for best results, the contrast will usually have to be adjusted a bit
too.  then, overlay all three images on top of each other, and enjoy!

additional notes:
for julia sets, the outside=real, imag, mult, and summ, and decomp=256 
generate the best results using the above method.  especially good
results can be obtained with the following two combinations:
real, mult, and imag.  mult, decomp, and imag.
when using an imag and a real in the same image, make sure to have one image
with black in the center and color on the outside, and the other with black
on the outside and color on the inside.
if you want to obtain best results by adjusting contrast, etc, you will
usually only need to do so on the outside=real and imag images, as those
types often do not have very much contrast at all.  the other
three types generally have a wide range of color values.  however, you will
still want to some darkening of the images in most cases.

new:
i made some .map files and .par file for 24bit images.  the .map files
redin.map, redout.map, greenin.map, greenout.map, bluein.map, blueout.map
are just simple black-to-color gradients, one with black on the outside, 
the other with black on the inside.  also, in dcontpot.par, try the 
24bit-1 images for a nice 24bit image (you still have to do all the
overlaying yourself).

-dan goldwater-
daniel_goldwater@brown.edu
