.. _tutorial:

XaoS tutorial
=============

This is a brief introduction to the basic XaoS features.

How to zoom
-----------

The main advantage of XaoS is that after a few seconds' delay to calculate the
first image, you may choose any point with the mouse and press the **left**
button. The image will start to zoom smoothly into the point you choose. You
may move the mouse and zoom smoothly into interesting areas. By pressing the
**middle button** (or **left+right** buttons) you may also **move the image**
using "drag & drop" if you missed an interesting place. **Unzooming** is also
possible by using the **right button**, but it is much slower because
optimizations are not so effective as for zooming.

In case you think that the default **speed** is boring (it is quite slow, to
make XaoS smooth on a slow computer) you may change it by pressing **arrow
up/down**. But faster zooming is more expensive, so if the speed is too high
you will see little but funny colorful blinking rectangles.

Autopilot
---------

To make XaoS yet more impressive we made a special autopilot that automatically
drives into interesting boundaries of the set. So you can press A, play your
favorite music, drink coffee and relax. I never tried this but it should be
really relaxing! Many pictures in the XaoS gallery were discovered using the
autopilot.

The autopilot also has some additional features. It turns back when the zoomed
picture stops being interesting, and is able to spot when it's zoomed into a
really boring part (or has reached the limit of floating point numbers) and
restart zooming from the top.

Various fractal formulae
------------------------

XaoS also supports formulae other than the Mandelbrot set. You may change
**formula** using the **number keys** or **SHIFT+letters**.

On keys 1 to 5 are **Mandelbrot sets of various power**. The "normal"
Mandelbrot set is on key 1.

On key 6 is a fractal called **Newton**. It is Newton's famous formula for
finding roots.

On key 7 is the **fourth ordered Newton** fractal.

On key 8 is a fractal called **Barnsley**.

On key 9 is **Barnsley's second** fractal.

On key 0 is **Barnsley's third** fractal.

With keys SHIFT-A you can display a fractal called **octo**. It is a fractal
that Thomas discovered in fractint.

With keys SHIFT-B you can display a fractal called **Phoenix**. It is a very
nice and quite famous fractal.

With keys SHIFT-C you can display a fractal called **Magnet**. This fractal has
quite a complex formula so it is a bit slow.

With keys SHIFT-D you can display the **Magnet2** fractal.

The rest of the built-in fractals are accessible through an other menu, but you
can still use the hotkeys.

On SHIFT-E is a fractal called **Triceratops** found by Arpad.

On SHIFT-F is a fractal called **Catseye** found by Arpad. This is more
interesting if you change the bailout value.

On SHIFT-G is a fractal called **Mandelbar**. It was in Gnofract4d, and they
found it at: http://mathworld.wolfram.com/MandelbarSet.html

On SHIFT-H is the **Lambda** fractal.

On SHIFT-I and SHIFT-J are the **Manowar** and **Spider** fractals, they were
found by users of fractint. (Scott Taylor or Lee Skinner) It was on
http://spanky.triumf.ca/www/fractint/ taylor_skinner_type.html

The next 3 fractals are famous classic fractals.

On SHIFT-K is the **Sierpinski** Gasket. You can change its shape by selecting
another Julia seed. (This is for technical reasons.)

On SHIFT-L is the **Sierpinski Carpet.** It's shape can also be changed by
selecting another Julia seed.

On SHIFT-M is the **Koch Snowflake.**

Out-coloring modes
------------------

To make fractals yet more interesting, more coloring modes for points outside
the set are provided. "Classical coloring mode" uses the number of iterations
that the orbit required to escape to (nearly) infinity. You can change this
mode from the **Fractal menu** or by pressing key C To see more about coloring
modes, try the tutorial on :tutor:`Incoloring modes <incolor.xaf>` from
the XaoS features overview.

Those cryptic names for coloring modes are mathematical formulae, where
**iter** means number of iterations, **real** means real coordinate of last
orbit, and **imag** means imaginary coordinate of last orbit.

In-coloring mode
----------------

In-coloring mode is similar to out-coloring, except that it changes how things
inside the set are displayed. This can also be changed from the **fractal
menu** or by pressing F.

You might also want to see the tutorial on :tutor:`Out-coloring modes <outcolor.xaf>` from the XaoS features overview.

Planes
------

All fractals displayed by XaoS are functions with a complex parameter. It can
be displayed in the normal complex plane, where x is the real part of the
number, and y is the imaginary part; but it can also be displayed in a number
of other planes. You can select the plane to use from the **Fractal menu**, or
by pressing I.

Like the coloring modes, planes have cryptic names. You guessed it, they're
mathematical formulae. Here mu means coordinates in the normal complex plane.
If you have coordinates in 1/mu plane, and you need coordinates in the a
complex plane (to calculate the Mandelbrot set) you simply use the coordinates
as mu. Lambda is another plane that can be converted to mu using a similar
formula.

mu

    normal mode.

1/mu

    Inversion: infinity goes to 0 and 0 goes to infinity.

1/(mu+0.25)

    Similar to inversion, but moves the center outside of the Mandelbrot set so
    that it looks parabolic.

lambda

    Lambda plane.

1/lambda

    Inversion of lambda plane.

1/lambda-1

    Inversion with moved center.

1/(mu-1.40115)

    A very interesting mode for the Mandelbrot set. It makes small things big,
    so you can browse the set's details easily.

Mandelbrot/Julia switching
--------------------------

Most of the fractals displayed by XaoS (currently all of them) have two forms:
Mandelbrot and Julia. Every point in a Mandelbrot set has its own Julia set. To
see more about this correspondence, try the tutorial on :tutor:`Julia set <julia.xaf>` from the Introduction to fractals.

In the Mandelbrot mode, you can get a corresponding Julia by moving the mouse
to an interesting point and pressing M. To get back press M again. Some
fractals (Barnsley and phoenix) are already in their Julia versions, because
the Mandelbrot ones are boring. But by pressing M in such fractal you should
get the Mandelbrot version, and by choosing another point as the base point and
pressing M again you should get a completely different fractal. The most
interesting points for Julia sets are at the boundaries of the Mandelbrot set.
Most of the Julias inside or outside the set are boring.

Fast Julia preview mode
-----------------------

Fast Julia mode is a quick way to find a point to use as a base for the Julia
set.. Just press J and a small Julia set will be displayed in the top left
corner. Then move the mouse around with button 1 depressed, and the Julia for
the point the mouse is over will be automatically generated.

Palette
-------

If you think that the default XaoS colors are ugly or you are just bored by
them you can change it by pressing P. XaoS will automatically generate random
palettes. Many of them look ugly, so press P again to get another one until you
find one you like.

Filters
-------

Many interesting effects are done by post-calculation :ref:`filters <filter>`.
XaoS has filters that do everything from embossing, through motion-blurring,
right through to turning the fractal into a stereogram. To enable them use the
filter menu or press E.

Palette cycling
---------------

This is a very old trick that makes the Mandelbrot set a little flashier. You
may enable or disable it using Y. In the truecolor modes you need to enable the
:ref:`palette emulator filter <palettef>` first. This is done via the E key, or
from the filter menu.

Changing number of iterations
-----------------------------

To calculate fractals perfectly, you need an infinite number of iterations.
XaoS does just the first few of them, so after lots of zooming you may get into
a place that looks quite boring, and the boundaries of the set are rounded,
without any interesting details. This can be changed by changing the number of
iterations:

Press and hold arrow right and wait until iterations are high enough. This may
slow down calculation much. To reduce number of iterations press arrow left.

Changing resolution
-------------------

XaoS usually starts in a low resolution (320x200 or thereabouts) to make
calculations faster. If you have a fast computer or you need to save bigger
.gif images, you may change the resolution. This can be done by pressing = in
the full screen drivers, or simply by resizing the XaoS window.

Changing driver
---------------

XaoS usually has more than one driver available. You may change it on the fly
in case you want a different one. For example, XaoS started in X11 can be
switched at runtime to use the AA driver. This can be done from the UI menu.

This action is bit dangerous, because XaoS can crash during initialization if
there is some problem with initialization; XaoS tries to initialize a new
driver, and if it fails it attempts to return back to the original. Sometimes
this is impossible, and all XaoS can do is terminate..

Other features
--------------

XaoS has many other features, but they don't fit into this tutorial. Most of
them are available from the menu, so you can experiment with them. You might
also want to see the **animated tutorials** from the **help menu**, to have an
idea what XaoS can do.
