.. _stereogram:

Random dot stereogram
=====================

Fractal images are good as a base for random dot stereograms. In case you don't
know what these are, please point your browser to Google or another search
engine and find some articles about such images, because learning to read such
images takes some effort. They make it possible to generate three dimensional
images on a normal monitor without any additional hardware, by exploiting bugs
in the human brain (although you need two working eyes, and some people never
learn to see them; they can simply ignore this feature).

XaoS is able to generate these images in animations, so you may use all normal
XaoS functions (except palette changing and palette rotation, which makes no
sense applied to a stereogram). To make the animation yet more exciting, XaoS
emulates "falling" into the set; while you zoom in, your distance from the set
drops and drops--but you never hit it; when the set reaches the level of your
monitor, the distance is changed again so you are far away.

To make this work right, XaoS needs to know the **exact size of your monitor**.
Because most platforms have no way to determine this, you need to use **command
line options** to tune it. If it's not set or is wrong, the stereograms will
probably be impossible to see (if your monitor is too big or resolution too
low), or the images will seem to be shallow (if your monitor is too small or
resolution too high).

By default XaoS expects my 15" monitor (29.0cm x 21.5 cm). Another cause of
problems is the virtual screen supported by some windowed environments (like
some X servers) that makes a program think that the resolution is higher than
it actually is, and you see only part of this extra-large screen.

The worst thing you could possibly do is to run full-screen XaoS in some
graphical windowing system (OS/2 on top of Windows or Wine on top of Linux,
perhaps) where XaoS can't tell the real size of its window at all. In such
cases, it's normally better (not to mention faster) to run XaoS natively,
rather than under such an emulation layer.

The following command line options are provided to specify sizes:

-screenwidth, -screenheight

    Lets you specify the size of your screen in centimeters. Note that you need
    to specify the size of the visible image on the monitor, not the size with
    edge borders, or the size of the tube. The simplistic 'my monitor is 17",
    just turn 17" into centimeters' doesn't work; that 17" is a marketing
    figure and has only a vague connection to reality. Get out a ruler and
    measure it.

-pixelwidth, -pixelheight

    Lets you specify the exact size of a single pixel, if XaoS cannot determine
    this for itself from your screen size.

These options are used by some other parts of XaoS as well, so you should use
them even when you don't want to see stereograms. You should probably write a
small starting script (or alias, or shortcut; whatever your environment uses)
that passes the correct parameters to XaoS.

If the window is **smaller than 8cm in any direction**, you will probably be
unable to see anything; make the window bigger. The correct way to see XaoS
stereograms is:

1

    Start XaoS with options specifying the exact size of your screen or one
    pixel on it

2

    Sit 60cm away from monitor

3

    If you use a windowed environment, resize XaoS's window to make it wider
    than, say, 15 cm.

4

    Enable the filter (by pressing E)

5

    focus on a point far away from the monitor (try to use your own reflection,
    if your monitor's not antireflective); the random blurring should
    eventually fall into the pattern of a Mandelbrot set.

6

    Carefully use your mouse to zoom into interesting areas (it is easy to lose
    concentration when you are not trained; but you can use the autopilot...)

7

    Enjoy animation :)

If you still can't see the stereograms, it could be that the fractal, or your
eye, is deformed. A deformed fractal can be caused by your specifying your
monitor size wrongly. Visual problems that damage depth perception, as well as
problems like astigmatism, can make it impossible to see stereograms at all.

:ref:`More information about filters <filter>`

**Available as**: menu item, command line option
