Copyright: Bjoern Ischo 1997


Index
Kaos Rhei

Version 0.8 ß5 - Warning, help still incomplete!!!

About Kaos Rhei

Getting started

Fractal Types

Usage:

The Main Window

The Rendering Window

The Palette Editor

The Plasma Editor

The Filters

Additional Features

Creating formulas:

Usage of formulas

The different color modes

Variables & Functions

Workshops:

Creating seamless patterns

About Fractals

Legal Stuff  & Credits


About Kaos Rhei

Astouningly, there are not that many fractal rendering programs out there as I expected. Finding such an application for Windows 95 is hard, and finding one that produces images that look different from the early Mandelbrot images of the eightes is even more difficult.

Kaos Rhei supports several fractal types, and a formula parser for colorizing them. These formulas are used to create the image, based on variables like the x or y coordinate of  a pixel, the iterations returned by the fractal, or others.

Kaos Rhei is not ment as a program for mathematics students that want to explore the world of strange attractors, but as a program that should be used to create a very special kind of art. Playing around with formulas like you do in Kaos Rhei is in some aspects very similar to playing around with a brush on a canvas - the possibilities are endless, and no image will look like the previous one.  This program is perhaps too artistic for mathematicians, and too mathematical for artists.

The program is of course nice to enhance your understanding of mathematics, but it's main use will be creating psychedelic images with a very own kind of beauty for web graphics, t-shirts, posters...

I hope you enjoy this program, if you have any questions, or bugs to report, please contact me:

                   WWW: http://members.aol.com/bischo6639/

                   e-mail : bischo6639@aol.com

                   Snail Mail:

                   Björn Ischo

                   Friesenstr. 24

                   20097 Hamburg


Getting started

The best way to get started is to first design simple formulas that do plot fractals. First of all, try the different variables of the fractals (i,a,b,z) along with several different multiplications (like i*5, a*i etc) and other simple functions.

Second, try to understand what functions do. To do so, use them with the x and y variables. For example, try what happens when your equation is sin(x), sin(x)*255 or sin(x/50)*255. Try this with all functions, and you'll soon get a feeling for what functions produce what results.

Then, you may try to combine fractals and standard variables. Start with something rather simple, like setting bailout to 4 and writing an equation like z*m. I guess it will be much of a help if you have a look at the formulas in the sample parameters, and try to understand what they do.

The most interesting results (and also the most complex ones to generate) can be achieved in RGB mode. There is not one, but three formulas, one for each of the channels.


Credits

The following people deserve credits for this program:

- Stephen C. Ferguson

- Florian Schulte

- The Independent JPG Group

- my Beta-Testers

Legal Stuff:

This program is copyrigthed freeware, and my be distributed freely as long as it remains unchanged. The author shall not be made responsibly for any loss of data, time, money or anything else caused by this program.


Fractal Types

Fractal Types currently supported:


Creating seamless Patterns
Kaos Rhei can even be used to create rather beautiful seamsless patterns !

To create a seamless pattern, first check 'Mirror' from the fractal options. Then, make sure that the area you plot is around -2...2; You can then do almost anything, and the result will be more or less seamless. However, there are some fractals that are especially suited for this. We will be creating two seamless patterns in this workshop:

1. A seamless Mandelbrot pattern:

First, choose a gradient you like. Then, set Fractal Formula to Mandelbrot nth Order; Order 4 is nice for this, Bailout 4, Iterations 32. Finally, check Mirror and Inside Out from the fractal options. Enter the following formula for your image: max(z,i*8) - render it, and you got a nice eye-like tile !

2. The more complicated seamless Nova Julia:

Again, choose a nice gradient. Choose Nova as Fractal Formula. Dmin should be 4, Iterations 32, Order 3. Enter Julia mode by clicking Julia Mode from the Fractal Formula menu, and enter the following coordinates:

Real: -0.5

Imag: -0.1375

Finally, check Inside Out and Mirror from the fractal options. The formula is simply i*9; Render, and you got a nice, gothish tile !! :-)


Usage of formulas
First of all, I have to make one thing clear: The formulas you enter are not the fractal formulas - these can be choosen from the Settings menu. You're formulas affect the coloring of the image, dependent on the coordinates of a pixel and the fractal values returned.

Colors are applied in a formula value of 0 to 255 unless 'Repeat Palette' is checked. So, if you simply want to draw the fractal, take the maximum iterations, and construct a formula that plots that to a range of 0..255. If, for example, you have a maximum of 128 iterations, you're formula could be like: i*2 or (i/128)*255. Other return values of the fractals (a,b and z) are more difficult to predict, and you will have to experiment a little until you know how to use them for results you like. As a rule of thumb, you can assume that a and b and z usually (but that depends onn the fractal type highly!!) have a value that is rather low, often in the range of -Max_Bailout*10 to +Max_Bailout*10. For a simple Mandelbrot type fractal, a sensible plot of the z-value could look like: z*10, where the same formula would produce trash when using a Newton fractal. You can see, creating good formulas is a matter of experience, and I won't tell you too much here as the playing around with formulas is really fun (and teaches you a lot about mathematics and fractals!).

Very complex formulas can produce fantastic results, especially when using several of the variables, and operators like min and max. Always keep in mind that your formulas follow the rules of arithmetics, and some stuff is simply useless/not possible, like trying to get the logarythm of a negative number (in fact, that is possible, but not useable for coloring an image).

Also, the sophisticated use of trigonometric functions like SIN can be fun, when you know how to use it. Try a few formulas like

sin(i)

sin(i)*255

sin(i/z)*255

sin(i/(a*100))*255

unto the Mandelbrot-Set to get a feeling for it.


Color Modes

The default Mode (fixed 256 color palette)

This mode uses the gradient you that is set in the palette editor. The colors are plotted in a 0..255 range. When repeat palette is off, values above 255 will be treated as 255, below 0 is treated as zero. When repeat is on, the colors are being cycled, that means 265 will be treated as 10, and so on...Please note that the gradient you used is NOT being saved with the parameters!

The RGB Mode

In this mode, you have to enter three formulas, each representing one of the channels in RGB mode. Formula one is Red, two is green, and blue is the third one. This mode is great for creating true color images but requires quite some experience to get the results you wish. These values are, like the default mode, plotted in a 0..255 range.

The HLS Mode

Same as RGB mode (three formulas). However, the values are being applied to a hue, light, and saturation based color system. Hue is in degress, while light and saturation are in percentages. This mode is even more difficult to handle than the RGB mode, but you can produce extremly sophisticated images with some experience. Warning: The repeat palette value does not have any effect on this mode. For Hue, any values above 360 will be rated as 360, and values below 0 will be treated as zero. Light and Saturation will be 100 if the value exceeds 100, and 0 of the value is below 0.


Functions

Variables and Functions

The following is an overview of variables, operators and functions currently supported by Kaos Rhei:

Variables & Constants:

Constants: PI

Variables:

General:

X, Y (pixel coordinates), D (vector angle of pixel to center), M (Magnitude to center), T (totally calculated pixels), ! (Plasma value at current pixel, 0..255), ? (Random number between 0 and 100, unique for each pixel, equal for each channel)

Fractal Specific:

A (X Potential at Bailout), B (Y Potential at Bailout), Z (Z Potential at Bailout), I (Iterations)

Operators: (are called like x OPERATOR y)

+, -, *, /, MOD, DIV, ^

Functions:

Functions having one parameter are called like function(x), with two parameters function(x,y). I hope the function names are rather self-explanatory, perhaps I will sometime add descriptions, who knows...  :-)

Function with one parameter:

COS, SIN , SINH, COSH, TAN, COTAN, EXP, LN, LOG10, LOG2, LOGN, SQRT, SQR, ABS, TRUNC, INT, CEIL, FLOOR, RND, PH, HEAV, SIGN, ZERO, PRIME, ODD

Functions with two parameters:

INTPOWER, MIN, MAX, INT, GAMMA, GRND (gaussian RND, call: grnd(std. deviation,base), & (boolean AND), \ (boolean OR), | (boolean AND NOT)

Boolean functions perform a TRUNC on their operands.


Palette Editor
The palette editor let's you set the color gradient that is to be used in Fixed Palette mode. You have a 5 step gradient, each with Red, Green and Blues values. Edit the values to see the changes in the gradient at the top. The button labeled Reset sets all values down to 1, Randomize randomizes them all, and the Presets menu lets you save gradients, load them, or brings up some default gradients. Checking the Cycled checkbox lets the last value be equal to the first.


Plasma Editor
The plasma editor allows you to render a random fractal clouds (also called plasma or fractal mountains) greymap that can be used in each channel of the image or the fixed palette expression. The plasma is being included in the image by the variable !,  which returns a value between 1 and 255 regarding to the greyscale value of the plasma at the current point. Note that the plasma map is rendered at a size of 256*256 pixels, and values are interpolated when your image is bigger -  anyway, due to the way plasma is created, interpolation does actually not really mean a loss of quality.  The editor lets you modify the brightness and noise level of the plasma map, both are rather self-explaining so you should have no problems with the usage.

A word (or two) about how plasma is created:  First of all, random values are being assigned to the 4 corners of the map. Then, on half way between the set pixels, a new pixel  is set with a value that  is the average of the previous values, and a slight random modification which range is defined by the  noise level as well as the brigthness. This process is being repeated until the whole map is filled, e.g. no two pixels have a  distance greater than d, where d is defined like lim d->2. (Actually, no more rendering is done when the distance <2, this is also why interpolation actually does not mean any loss of quality).


About Fractals
The word 'Fractal' itself comes from the latin word 'fractum', which means broken. In science, the word is used for a new  form of geometry that uses a more complex definition of dimensions than the euclidean geometry did.

Fractals have a finite area, but they're perimeter length is endless. For example, an island has a finite area, but it's coasts is  endless as, no matter of the magnification, new structures will always become visible. Fractals are often 'self-similar', which means that each part of the whole fractal resemples the shape of the whole to some degree. Nearly every natural   structures, like trees, clouds or mountains are fractal. These structures do not have 1, 2 or 3 dimensions, but a broken  dimension, like 2.34.

This whole idea was mainly brought into life by the mathematican Benoit Mandelbrot. The mandelbrot set discovered by him, still being the most popular fractal image, is a catalogue of all Julia sets. The Julia set itself was discovered by the french mathematican Gaston Julia during the first world war. Julia didn't even have an idea of what we call fractals now, so  it's surely legal to call Mandelbrot the inventor of today's idea of fractal geometry.


Additional
The Loupe

This tool is only thought for making it easier to select an point when switching to julia mode. Once you have a M-Set rendered, switch the loupe on, find an appropriate point, and right-click it to switch to Julia mode.

The Speedometer

Not really necessary nor useful, this one was mainly created for those who a interested in what parts of the image took long to render. While rendering, the speedometer displays a graph that show the time needed to render one line. Just a toy, anyway....