Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/doc/xaos.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/xaos.info')
-rw-r--r--doc/xaos.info3818
1 files changed, 3818 insertions, 0 deletions
diff --git a/doc/xaos.info b/doc/xaos.info
new file mode 100644
index 0000000..5676dc2
--- /dev/null
+++ b/doc/xaos.info
@@ -0,0 +1,3818 @@
+This is xaos.info, produced by makeinfo version 4.11 from xaos.texinfo.
+
+INFO-DIR-SECTION Graphics
+START-INFO-DIR-ENTRY
+* XaoS: (xaos). A fast real-time interactive fractal zoomer
+END-INFO-DIR-ENTRY
+
+ (C) 1996-2008 Jan Hubicka and the XaoS Development Team
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+
+File: xaos.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
+
+XaoS 3.4
+********
+
+ A real-time interactive fractal zoomer
+ User's manual
+ April 17, 2008
+
+ This manual contains user documentation about XaoS -- a fast
+real-time fractal zoomer. XaoS uses a development model, so sources are
+freely available. The file `xaosdev.texinfo' in the source
+documentation contains a hacker's manual (design overview, algorithm
+description etc.).
+
+* Menu:
+
+* Overview:: What does this software do then?
+* tutorial:: XaoS tutorial
+* controls:: Basic controls
+* video:: How to encode video files
+* format:: XaoS's file format description
+* writehelp:: How to write XaoS help files
+* xshl:: XaoS simple hypertext language
+* drivers:: Driver specific documentation
+* menus:: Functions, menu items and command line parameters
+* about:: Credits
+* support:: Getting Support
+* index:: Function index
+
+
+File: xaos.info, Node: Overview, Next: tutorial, Prev: Top, Up: Top
+
+1 Overview
+**********
+
+* Menu:
+
+* Why?:: Why yet another fractal generator?
+* What?:: What does this software do then?
+
+
+File: xaos.info, Node: Why?, Next: What?, Prev: Overview, Up: Overview
+
+1.1 Why yet another fractal generator?
+======================================
+
+We decided to make XaoS, because all fractal browsers we know of take a
+long time to calculate each image. You may browse nice images generated
+by them but real impressions of fractals -- the self similarity and
+infinite zooming into the nice parts of fractals -- can be seen only in
+animations. There are many programs available that make nice
+animations, but they take a long time to calculate and lots of space on
+disk. Most such animations are quite ugly because their authors can't
+see them without many hours of calculations.
+
+ A natural question is: is it possible to generate such animations in
+real-time? The answer was negative for many years, since the Mandelbrot
+set is very computationally expensive. Things are changing. Today's
+computers are fast enough to calculate approx. 10.000 of pixels per
+frame, which is enough for a very low resolution animation (100x100).
+Several programs doing that are available. But 100x100 animation still
+looks quite ugly. To make animation nice you need at least 320x200
+pixels. And that is 6 times more! One possibility is to wait until
+computers will be fast enough, but it will take many years, and then
+320x200 animations will be obsolete and everyone will want 1024x768
+resolution instead or more.
+
+ We found a special algorithm that saves up to 99.98% of calculations
+during zooming by reusing pixels already calculated in previous frames.
+There were some programs doing similiar tricks before but we don't know
+about any able to do zooming interactively with a speed similar to
+XaoS. Many other tricks were later implemented XaoS to achieve yet
+higher framerates. Now XaoS does up to 120 frames per second on a
+120Mhz pentium in a fullscreen 320x200 animation, and calculates an
+average of 160 (0.24%) pixels per frame. This makes XaoS fast enough to
+achieve its primary goal, realtime animation, but there are still many
+areas that could improve, since more complex fractals, higher
+resolutions, or slower computers still bring many problems.
+
+
+File: xaos.info, Node: What?, Prev: Why?, Up: Overview
+
+1.2 What does this software do then?
+====================================
+
+XaoS is a realtime interactive fractal zoomer. This means that it lets
+you zoom smoothly into any place in the fractal you choose without the
+many hours of calculation required by most other fractal generators. It
+now has many other features too, like 13 different fractal types,
+autopilot, special coloring modes, support for various bit depths
+(8bpp, truecolor, hicolor and realcolor), random palette generation,
+color cycling etc...
+
+
+File: xaos.info, Node: tutorial, Next: controls, Prev: Overview, Up: Top
+
+2 XaoS tutorial
+***************
+
+This is a brief introduction to the basic XaoS features.
+
+2.1 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.
+
+2.2 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.
+
+2.3 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._
+
+2.4 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 Incoloring modes
+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.
+
+2.5 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 Out-coloring modes from
+the XaoS features overview.
+
+2.6 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.
+
+2.7 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 Julia set 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.
+
+2.8 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.
+
+2.9 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.
+
+2.10 Filters
+============
+
+Many interesting effects are done by post-calculation filters. *Note
+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'.
+
+2.11 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 palette emulator filter first. This is done
+via the `E' key, or from the filter menu.
+
+2.12 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'.
+
+2.13 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.
+
+2.14 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..
+
+2.15 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.
+
+
+File: xaos.info, Node: controls, Next: video, Prev: tutorial, Up: Top
+
+3 Basic controls
+****************
+
+By default the mouse buttons work in the following way:
+
+*left*
+ zoom in
+
+*right*
+ zoom out
+
+*middle*
+ move fractal in a drag-and-drop fashion
+
+ _Note:_ Since most Macs only have one button mice, these controls
+are emulated on Mac OS X using modifier keys. See the help section on
+Mac OS X for details.
+
+ This behavior can change. If you enable rotation, the first button
+is used for rotating fractals. Also, in fast Julia mode, the first
+button is used to change the seed.
+
+ If you don't have a middle button, press both buttons to enable
+emulation.
+
+ After few minutes of zooming you will probably exceed the precision
+and the fractals will get boring. If you are getting strange big
+rectangles on the screen, you probably reached the numeric limit: there
+is no way to avoid this except un-zoom back and choose a different
+area. It doesn't hurt so much, since you have zoomed approximately 64
+051 194 700 380 384 times, so there are quite a lot of areas to
+explore. Algorithms with unlimited precision exist, but they are still
+too slow for real-time zooming.
+
+ The other possibility is that you have reached the iteration limit.
+The fractal is calculated approximately, and in this case you need to
+increase number of iterations used for approximation (and decrease the
+speed in the process). This is done from the menu or using the arrow
+keys _Left_ and _Right_.
+
+ An _Up_ and _Down_ keys should be used to change zooming speed. Note
+that higher speed costs more and image will be blocky.
+
+ This behavior can also change. With palette cycling enabled, _Left_
+and _Right_ keys change cycling speed; in continuous rotation they
+change rotation speed.
+
+ All other functions are available from the menu, which (in the
+default configuration) are displayed when you move the mouse to the top
+of the screen/window. It is useful to learn the shortcut keys, which are
+shown in gray next to the menu items they trigger.
+
+
+File: xaos.info, Node: video, Next: format, Prev: controls, Up: Top
+
+4 How to encode video files from XaoS
+*************************************
+
+To create a video, make and `xaf' file first (the easiest way to do
+this is to use the _record_ function in the file menu). Then you need
+to render the animation. XaoS can output sequences of ordinary `PNG'
+images, that can later be used by a video encoder.
+
+4.1 Generating image sequences for video
+========================================
+
+To generate an image sequence, choose _Render Animation_ from the _Misc_
+menu. You can also use the following command on the command line:
+
+ xaos -render [filename] -size 352x240 -antialiasing
+ -renderframerate 24 -basename [basename]
+
+ _File to render_ (`[filename]') is the name of the `xaf' file,
+_Basename_ (`[basename]') is the name used as the base filename for
+rendered images. This should also include the path where you want to
+save the images. XaoS adds a four digit sequence number and `.png'
+extension to this name automatically.
+
+ You might also want to change the resolution. Make sure that the
+resolution you choose is supported by the video codec you wish to use.
+
+ The framerate can also be altered. Make sure you choose a framerate
+that is supported by the video codec you wish to use.
+
+ _Antialiasing_ (`-antialiasing') is used to produce anti-aliased
+images. It takes a much longer time and much more memory to calculate
+them, but resulting images are better for video compression and they
+result in a much smaller video file. (the same is true of _JPEG
+images_)
+
+ On the other hand, the other XaoS rendering option _Always
+Recalculate_ (`-alwaysrecalc') (which disables XaoS's zooming
+optimizations) is _not recommended_. If that's used, the sequence of
+animation then contains quite a lot of extra information, which
+increases size of video file, but because of the codec's lossy
+compression it is hard to see any difference, so it's not worth it.
+
+4.2 Rendered files
+==================
+
+Once you start it, XaoS will generate thousands of frames. They take
+quite a long time to calculate and save, and consume plenty of disk
+space. (e.g. to render part 1 of the tutorial you need about 60MB and
+half an hour of time).
+
+ All images are named `[basename]framenum.png'. For example
+`intro0001.png' is the first frame of the animation intro. If
+consecutive frames are the same, XaoS doesn't save them, so some frames
+may be missing. If your encoder can't handle that, you will need to
+write a simple script which will fill in the gaps by means of `mv' or
+symbolic linking.
+
+ A list of all filenames is saved into the file `[basename].par',
+where each line is the name of one frame. The names repeat here if
+necessary, so you can use this file to supply filenames to the encoder.
+
+4.3 Encoding videos
+===================
+
+Once XaoS has generated the png files for each frame of the animation,
+you can use a third-party video encoder to convert the sequence of
+images into a video file. We currently recommend the following
+encoders, which support a wide variety of video codecs and file formats:
+*ffmpeg*
+ Available from: `http://ffmpeg.mplayerhq.hu/' Instructions:
+ `http://ffmpeg.mplayerhq.hu/faq.html#SEC12'
+
+*mencoder*
+ Part of mplayer, available from: http://www.mplayerhq.hu/
+ Instructions:
+ `http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-enc-images.html'
+ These are both command line tools. If you prefer a graphical tool,
+you may prefer Quicktime Pro from Apple
+(http://www.apple.com/quicktime/pro/). However, this software costs
+approximately US$30, and the authors of XaoS have no experience with
+it. Although QuickTime may be easier to use, the two free encoders
+above are just as capable once you learn how to use them.
+
+ Note: we used to recommend Berkeley parallel MPEG encoder to encode
+the generated png files into MPEG videos. We have kept the instructions
+mainly for historic purposes.
+
+
+File: xaos.info, Node: format, Next: writehelp, Prev: video, Up: Top
+
+5 XaoS's file format
+********************
+
+This section describes the format used by XaoS for animations,
+configuration files and saved positions. All these files have a common
+format, designed to be easily readable, to allow manual editing of
+files and easy conversion by other programs.
+
+ I also taken care to make it easily extensible for future versions
+of XaoS so I hope there will not be many incompatibilities between
+various XaoS versions.
+
+ The format is a simple set of commands executed sequentially. XaoS
+does not provide any variables/cycles as usual scripting languages do,
+but future extension to full-blown Scheme should be easy since the
+format uses Scheme-like syntax. The syntax of every command is:
+
+ `(command_name '_[param1] [param2]_`)'
+
+ where parameters are optional and separated by whitespace (an
+arbitrary number of spaces, tabs and newlines). The parameters can have
+the following types:
+
+*integer*
+ number w/o decimal point (`123')
+
+*float*
+ floating point number in decimal notation with optional exponent
+ (`1.23E2')
+
+*keyword*
+ text started by quote `''. It is used to pass various string
+ constants like formula name (`'mandel') Quote is required for
+ scheme compatibility
+
+*string*
+ Text inside double quotes. The only parameter that should contain
+ whitespace
+
+*boolean*
+ `#t' for true or `#f' for false
+
+ There is a complete description of all XaoS functions (with some
+examples) and an index of functions in the XaoS registry. *Note
+menus::. You may particularly want to read about the animation
+functions. *Note animf::. Also, the following functions are significant:
+
+*load*
+ This function loads and interprets a file. It works similarly to
+ `#include' in C.
+
+*initstate*
+ Available in version 3.0 and above, this function resets XaoS's
+ state to default values. This command should be at the beginning
+ of each animation file, since otherwise some stuff previously
+ enabled by user could cause unexpected effects. State is not reset
+ by default before playing animations since it would make it
+ impossible to write macros. Current versions don't really need
+ macros, but in future versions, when the Scheme programming
+ language will be available, this should be a much more interesting
+ subject.
+
+*usleep*
+ This function waits for a selected amount of time(in usec) before
+ processing the next command. The screen is recalculated and
+ displayed at the beginning of the sleep if necessary. The
+ remaining time is spent by waiting, calculating if necessary, or
+ performing any animation you entered via animation commands.
+
+*wait*
+ Waits until the animation or image rendering is complete. Do not
+ call this function when zoom, or continuous rotation is active
+ otherwise deadlock happens. It is a good idea to call it
+ immediately before text subtitles are displayed, since it looks
+ ugly when they are displayed over a blocky unfinished fractal.
+ Because the degree of blockiness at a given instant is a function
+ of your machine speed, it may look nice for you but ugly for
+ others with slower machines. Also you should call this after an
+ animation is performed, before the switch to another fractal
+ happens; since the switch involves calculation, the screen is
+ stopped for a while and an unfinished fractal there looks ugly.
+ You should also call it, when you want to do something as soon as
+ possible.
+
+ Example:
+
+ ;configure everything for the first frame
+ (inistate)
+ (palette 1 1163254293 0) ;custom palette
+ (cycling #t) ;enable cycling
+ (cyclingspeed 7)
+ (maxiter 276) ;higher number of iterations
+ (range 3) ;default range for solid guessing
+ (usleep 1000000) ;second frame starts here
+ (moveview -1.8101154154614007889 -8.2687205907162041209E-05)
+ ;just move the image
+ (usleep 1000000) ;third frame
+ (morphview -1.8101154154614007889 -8.2687205907162041209E-05
+ 6.277210971069452361E-10 6.2772109785334669875E-10)
+ ;10 seconds of zooming into selected
+ rectangle
+ (usleep 100000000)
+
+ The best way to learn XaoS command language is probably to read
+position files and modify them. For example, to create zooming
+animation from the original file:
+
+ (initstate)
+ (defaultpalette 0)
+ (formula 'mandel)
+ (view -1.64128273713 -5.50393226816E-05 9.69332308848E-08
+ 9.69332308834E-08)
+
+ Just change the `view' command to `morphview', and add `usleep':
+
+ (initstate)
+ (defaultpalette 0)
+ (formula 'mandel)
+ (morphview -1.64128273713 -5.50393226816E-05 9.69332308848E-08
+ 9.69332308834E-08)
+ (usleep 10000000)
+
+ The following code produces Julia morphing in the real axis:
+
+ (initstate)
+ (fastjulia #t)
+ (juliaseed -2 0)
+ (morphjulia 2 0)
+ (usleep 2000000)
+
+ And following is the "rotozooming" animation:
+
+ (initstate)
+ (fastrotate #t)
+ (morphview -1.64128273713 -5.50393226816E-05 9.69332308848E-08
+ 9.69332308834E-08)
+ (morphangle 300)
+ (usleep 10000000)
+ (wait)
+ (fastrotate #f)
+
+6 XaoS gallery
+**************
+
+I plan to make a gallery of animations and position files on the XaoS
+home-page, so please send any nice animations and images you created
+using XaoS to the mailing list or upload them to our website.
+
+
+File: xaos.info, Node: writehelp, Next: xshl, Prev: format, Up: Top
+
+7 How to write XaoS help files
+******************************
+
+XaoS help is stored in the file `help/xaos.hlp'. It is divided into
+parts, each part being started by a _keyword_. In the help file
+keywords are written as `%keyword'
+
+ If you are writing documentation about some command in the XaoS
+function registry, use the same keyword as the name of the command in
+order to make context sensitive help work.
+
+
+File: xaos.info, Node: xshl, Next: drivers, Prev: writehelp, Up: Top
+
+7.1 xshl
+========
+
+_Xshl_ stands for _XaoS simple hypertext language_. It uses similar
+tags to HTML. It is simpler and more restrictive in order to make it
+easy to parse using various scripts. In C code you can use the library
+present in `src/util/xshl.c' to parse it.
+
+ The following tags are supported:
+
+*head*
+ make headings (should be at the beginning of the page, at least)
+
+*emph*
+ emphasize
+
+*tt*
+ Use non proportional font
+
+*br*
+ Break line
+
+*p*
+ Next paragraph
+
+*dl*
+ Definition list
+
+*dt*
+ Definition tag (should be used only inside a definition list)
+
+*dd*
+ Definition description (should be used only inside a definition
+ list)
+
+*center*
+ align to center
+
+*right*
+ align to right
+
+*red*
+ change color to red (should not be used in help files)
+
+*black*
+ change color to black (should not be used in help files)
+
+*white*
+ change color to white (should not be used in help files)
+
+*a name*
+ link to other help page
+
+*tutor name*
+ activate tutorial
+
+*notex*
+ Ignore this in texinfo manuals
+
+
+File: xaos.info, Node: drivers, Next: menus, Prev: xshl, Up: Top
+
+8 Platform-specific documentation
+*********************************
+
+XaoS is portable and works on many different platforms. Since not all
+platforms are exactly the same, there are some differences between the
+behavior of XaoS on different platforms. Here is documentation about
+each specific port.
+
+* Menu:
+
+* aa:: AA-lib --- high quality ascii art driver
+* BeOS:: BeOS drivers
+* DGA:: DGA driver
+* dos:: DOS driver
+* dX-fullscreen:: directX fullscreen driver
+* dX-window:: directX windowed driver
+* ggi:: GGI driver
+* plan9:: plan9 driver
+* SVGAlib:: SVGAlib driver
+* win32:: Win32 driver
+* X11:: X11 driver
+
+
+File: xaos.info, Node: aa, Next: BeOS, Up: drivers
+
+8.1 AA-lib driver
+=================
+
+The AA driver is currently the most advanced and portable driver for
+XaoS. It is based on AAlib--a high quality ASCII-art library developed
+by the AA-project. (see `http://aa-project.sf.net')
+
+ It is a fully featured XaoS driver for text mode displays. It
+supports 256 colors and the mouse where possible.
+
+ It also has some extended features available from the UI menu:
+
+*Attributes*
+ AA-lib may use character attributes to improve image quality. By
+ default it uses normal, dim and bold characters where possible,
+ but you can also enable different attributes like reversed or bold
+ font characters. You may also enable usage of non ansii/reversed
+ characters if your device supports it.
+
+*Font*
+ AA-lib uses a bitmap image of the font to prepare the
+ approximation table used for ASCII art rendering. This bitmap is
+ expected to be same as the one used by your device. AAlib performs
+ detection where possible however some devices (like UNIX text
+ terminals or MDA) do not support this. AAlib has few font images
+ compiled in, so in this case you should try to use one of them to
+ achieve best results.
+
+*Inversion*
+ Some devices use inverse video: use this to get correct results on
+ such devices.
+
+*Dithering mode*
+ Dithering is an way to get more exact color in approximations, by
+ combining more characters; but this method can produce ugly
+ looking noise on certain images. Use this menu to disable or tune
+ it.
+
+*Palette options*
+ By default AA driver uses the XaoS palette to render images, but
+ it quite often looks ugly on text displays. Here you can choose a
+ special text palette instead. Note that with filters enabled, the
+ results may be rather ugly. This function is available from the
+ _palette menu_.
+
+*Save text screen*
+ The normal save function will generate a PNG image instead of nice
+ ASCII-art. To save ASCII art use this function instead. It
+ supports many text file formats like HTML, ANSI, more, etc... It
+ will also ask you for font and attributes(see above). It is
+ available from the _file menu_.
+
+ The AA-lib driver also provides the full set of standard AA-lib's
+command line options. You may use them to tune parameters like gamma
+correction, and so on. See `xaos -help' or the AA-lib documentation
+for details.
+
+ The AA driver was written by Jan Hubicka, 1997.
+
+
+File: xaos.info, Node: BeOS, Next: DGA, Prev: aa, Up: drivers
+
+8.2 BeOS support
+================
+
+XaoS has pretty advanced support for BeOS R4. It works on both PowerPC
+and Intel platforms, supports multithreading, the clipboard, file
+dragging, has native look and feel and can work as an image translator
+from XaoS files to images.
+
+ The first version of the BeOS driver was written by Jens Kilian and
+later extended by Jan Hubicka.
+
+8.2.1 Installation
+------------------
+
+You can start the installation script to do everything for you. If you
+want something special, read this section.
+
+ In order for XaoS to work you need to keep the executable together
+with its data files (`help', `examples', `catalogs' and the `tutorials'
+directory)
+
+ When first started, XaoS registers two new mime types called
+`image/x-xaos-position' for XaoS Position Files and
+`video/x-xaos-animation' for XaoS Animation Files, registers icons for
+them and sets itself as default application.
+
+8.2.2 Available display drivers
+-------------------------------
+
+XaoS supports following drivers:
+
+*BeOS*
+ Standard windowed driver using application server
+
+*DirectWindow*
+ Driver done using Game Kit's direct window class
+
+*WindowScreen*
+ Fullscreen driver.
+
+ By default, XaoS starts in windowed mode and uses the application
+server for output. You could change the driver to DirectWindow to use
+direct access to video RAM. Note that this mode is slower in most
+cases, and not supported by some videocards.
+
+ The BeOS driver by default chooses the most similar bitmap supported
+by XaoS to achieve best and fastest results. In the UI menu you can
+change this default choice to another one if you wish. Also you can
+ask the BeOS and DirectWindow to resize to fullscreen mode.
+
+ XaoS also supports real fullscreen mode using the BWindowScreen API.
+To switch XaoS to this driver, use the UI menu. If you want to use this
+mode by default, use the `-driver WindowScreen' command line option.
+
+ This driver differs a lot from windowed ones. It use direct access
+to the video card, allowing you to change video mode. Also, the 256
+color mode can access the palette, so it is not dithered like the
+windowed mode. Because BeOS can't do GUI in fullscreen mode, XaoS uses
+its own toolkit. I hope you will feel confortable in it.
+
+8.2.3 XaoS as translator
+------------------------
+
+You should be able to open XaoS files in graphics applications such as
+ShowImage or ArtPaing. In Preferences you can find the DataTranslations
+program, that can be used to set the size, type and DPI of the
+resulting image. Also antialiasing can be enabled.
+
+ Note that _translation can take a while_. So be patient and wait for
+the result.
+
+ If the translator doesn't work, ensure that you have a link to the
+XaoS executable in `/boot/beos/system/add-ons/Translators/'.
+
+
+File: xaos.info, Node: DGA, Next: dos, Prev: BeOS, Up: drivers
+
+8.3 DGA driver
+==============
+
+This is the driver for DGA (Direct Graphics Architecture) extension
+used by XFree86 X servers. It is pretty new so it could be buggy.
+
+ Bugs/limitations:
+
+*In 8bpp mode, XaoS has problems with the palette with certain window managers*
+ I don't know why this happens. Just let me know what's wrong, or
+ use another window manager.
+
+*Banked modes are not supported.*
+ I don't have any card to test this with, so it doesn't work in the
+ current version.
+
+ DGA driver was written by Jan Hubicka, 1999.
+
+
+File: xaos.info, Node: dos, Next: dX-fullscreen, Prev: DGA, Up: drivers
+
+8.4 DOS driver
+==============
+
+This is a fully featured driver for DJGPP and allegro. It supports
+many VGA modes, VESA 1.0--3.0, VBE/AF, S3 and some other cards.
+
+ The following problems may occur:
+
+*Some DPMI servers may cause problems*
+ Some DPMI servers like the one from Novell/Dr/Open DOS are buggy.
+ Use clean DOS instead and XaoS will automatically start `cwsdpmi'.
+ Under Open Dr DOS use `dpmi off' at command line to disable it.
+
+*Higher resolutions don't work*
+ If your videocard has enough memory for the selected resolution,
+ you most probably have an unsupported videocard. Please use a
+ VESA BIOS extension on this videocard. (See the note about VESA at
+ the end of this section.)
+
+*XaoS needs a coprocessor*
+ I don't distribute a coprocessor library linked into XaoS because
+ it is too slow for a real-time zoomer. Coprocessor emulation will
+ not help, because xaos works in protected mode.
+
+*XaoS needs mouse driver to be usable*
+
+*XaoS works slowly in higher resolution*
+ This could also be caused by Allegro's slow driver or your
+ videocard's VESA BIOS. You could try some other VESA BIOS
+ extension instead. Look at the `http://www.talula.demon.co.uk'
+ for the FreeBE project or Scitech Display Doctor package. (See
+ the note about VESA at the end of this section.)
+
+8.4.1 VESA
+----------
+
+VESA is a standard for using higher resolutions in DOS. Many videocards
+have VESA support in the BIOS so you don't need any additional
+software, while others need support from a special program. Also some
+VESA BIOS implementations are buggy or suboptimal; there are 3
+different versions, version 1.0 is many times slower than 2.0, which
+has support for protected mode and linear framebuffers. So if you have
+problems with higher resolutions, or some graphics modes are not
+available (like 320x200 truecolor), you might try some software package
+which emulates VESA.
+
+ The most famous VESA emulating program is Scitech Display Doctor. It
+has support for many videocards and is quite reliable. It's
+disadvantage is that it is shareware and works for only 30 days. You
+might also look on `ftp.simtel.net', where there are many VESA
+emulation packages such as `s3vbe' or the new FreeBe project at
+`http://www.talula.demon.co.uk'
+
+ DOS driver was written by Jan Hubicka, 1997.
+
+
+File: xaos.info, Node: dX-fullscreen, Next: dX-window, Prev: dos, Up: drivers
+
+8.5 DirectX fullscreen driver
+=============================
+
+This is da river for Windows 9x and NT. It is new since version 3.1 and
+because of some oddities of Windows API and kludges in DirectX it may
+be rather unstable. Please report all bugs. In case of problems you
+could use the DOS version of XaoS instead.
+
+ This driver allows the Windows port of XaoS to run in full screen
+mode. The driver supports 256, 65536 and 16777216 color modes (24bpp
+and 32bpp) in all resolutions supported by DirectX. You can change
+graphics mode by pressing the `=' key (or by using the UI/Resize menu).
+If the selected mode is not supported, the driver will restore the
+previous setting.
+
+ Use the `-mode WIDTHxHEIGHTxDEPTH' (like `-mode 640x480x16') command
+line option to change graphics mode.
+
+ If you want to start XaoS in DirectX, use the `-driver dX-fullscreen'
+option.
+
+ See the Win32 driver documentation for some more Windows releated
+information.
+
+ DirectX driver was written by Jan Hubicka, Jan Olderdissen and Pavel
+Tzekov, 1999.
+
+
+File: xaos.info, Node: dX-window, Next: ggi, Prev: dX-fullscreen, Up: drivers
+
+
+File: xaos.info, Node: ggi, Next: plan9, Prev: dX-window, Up: drivers
+
+8.6 GGI driver
+==============
+
+GGI stands for General Graphics Interface. Part of this project is to
+develop libggi, a portable graphics library, and XaoS's GGI driver uses
+that. It is experimental, since the API of libggi is not stabilized
+yet. There are some problems with keyboard handling--the shift key
+doesn't work yet.
+
+ Everything else might work well, but there are no guarantees. It is
+alpha quality software.
+
+ GGI driver was written by Jan Hubicka, 1998.
+
+
+File: xaos.info, Node: plan9, Next: SVGAlib, Prev: ggi, Up: drivers
+
+8.7 Plan9 driver
+================
+
+Plan9 is a very nice small operating system by the authors of Unix at
+Bell Labs. It is very incompatible with other operating systems; even
+the C compiler and header files are different, but XaoS should work
+well there (even on the limited free demo installation without any
+POSIX compatibility stuff)
+
+ There are a few limitations: the file selector and image saving
+don't work. You can save position files and then later render them on
+the other OS, or save screenshots.
+
+ Plan9 terminals also don't provide any way to catch the arrow keys,
+so you can't use them. Use the mouse to navigate in the menus. Also,
+getting the screen resolution is impossible, so use `-pixelwidth' and
+`-pixelheight' instead of `-screenwidth' and `-screenheight'.
+
+ By default XaoS changes the colormap. This will collide with other
+colorful programs like Mortha. You can disable this behavior using
+`-nopalette' switch, but this will slow down XaoS.
+
+ Plan9 driver was written by Jan Hubicka, 1997.
+
+
+File: xaos.info, Node: SVGAlib, Next: win32, Prev: plan9, Up: drivers
+
+8.8 SVGAlib driver
+==================
+
+This is a driver for Linux SVGAlib. I really like this driver, because
+I much prefer full screen zooming instead of a small 320x320 window in
+X11. It was one of the first drivers for XaoS and is fully featured.
+The following problems can occur:
+
+*XaoS doesn't initialize graphics mode*
+ when started under users other than root SVGAlib requires root
+ privileges to directly access the hardware. When you really want
+ to start XaoS as a normal user, enable the suid bit (`chmod +s')
+ at XaoS executable. note that I take care to disable all security
+ holes caused by this bit so I believe it is safe.
+
+*Mouse doesn't work*
+
+*Screen is blank at higher resolutions*
+ Both this problems are probably caused by misconfiguration of
+ SVGAlib. Please configure it in `etc/vga/libvga.cong' or
+ `/usr/local/lib/libvga.conf' GPM can also cause problems. Try to
+ kill it before starting XaoS.
+
+*When I switch console I can't switch back*
+ This is another typical SVGAlib bug. Try to hold `F' key longer
+ than `alt'. It helps on my computer. On older SVGAlib there was a
+ famous "enter bug" that caused a crash after pressing enter. Try
+ to update to a newer release.
+
+ SVGAlib driver was written by Jan Hubicka, 1997.
+
+
+File: xaos.info, Node: win32, Next: X11, Prev: SVGAlib, Up: drivers
+
+8.9 Win32 driver
+================
+
+This is a driver for Windows 9x and NT. It is new since version 3.1 and
+because of some oddities of Windows API it may be rather unstable.
+Please report all bugs. In case of problems you could use the DOS
+version of XaoS instead.
+
+ The driver should work in all bit depths, but 16 color mode is not
+natively supported by the XaoS engine. XaoS internally works in 32k
+colors and the result is converted to 16 colors by Windows. Because
+Windows conversion routines are slow and ugly, the result is slow and
+ugly. Please configure your display to another bit depth to "solve"
+this problem.
+
+ Use `-size WIDTHxHEIGHT' command line option to change the default
+window size.
+
+ This driver also maps to native Windows look and feel. There is a
+small problem with combo boxes in dialogs. They are expected to give
+you a choice between a few strings. The keyboard controls (changing
+choice by arrow keys) work, but mouse selection is broken. If you know
+how to solve this bug, please let me know.
+
+ XaoS is a UNIX application and has many command line options. Some
+features are not available from the GUI. Because Windows applications
+can't have normal output, most of the critical messages are displayed
+in message boxes, but some longer messages are omitted. The most
+significant omission is the help about command line options that you
+can find in `doc/cmdopts.txt'.
+
+ One thing that might be confusing is that animation rendering mode
+doesn't display anything, but only renders images. Start the rendering,
+and a message box will inform you that XaoS is entering the calculation
+loop. Relax and wait for the message box signaling the end of the loop.
+
+ Note that XaoS also supports the DirectX API.
+
+ Win32 driver was written by Jan Hubicka, Jan Olderdissen and Pavel
+Tzekov, 1999.
+
+
+File: xaos.info, Node: X11, Prev: win32, Up: drivers
+
+8.10 X11 driver
+===============
+
+This was the first driver done for XaoS. It supports many visuals,
+shared colormaps and MitSHM extension.
+
+ Bugs/limitations:
+
+*XaoS makes some X servers too busy*
+ Sometimes XaoS generates images faster than X can display them.
+ In this case XaoS responds poorly to the mouse, and other
+ applications slow down too. This happens especially often on old
+ R4 servers. Use `-sync' to avoid this problem. Note that `-sync'
+ does `not' make all communication with X asynchronous; it just
+ adds one additional XSync call. So the slowdown is not as large
+ as you might expect.
+
+*Does not work on all visuals*
+ This driver supports only 8bpp pseudocolor/grayscales, 15,16,24
+ and 32bpp truecolor, 1bpp and 8bpp staticolor visuals.
+
+*Palette rotating does not work for 8bpp pseudocolor w/o private palette*
+
+ X11 driver was written by Jan Hubicka and Thomas Marsh, 1997.
+
+
+File: xaos.info, Node: menus, Next: about, Prev: drivers, Up: Top
+
+Függelék: A Menus, functions and command line parameters
+**********************************************************
+
+All XaoS functions are referenced by a central function registry. The
+scripting language, menus, dialogs and command line options are built
+from this database. This section contains information about all
+functions available in this registry.
+
+* Menu:
+
+* root:: Root menu
+* animroot:: Animation root menu
+* plc:: Replay only commands
+
+* linemenu:: Line drawing functions
+* animf:: Animation functions
+* time:: Timing functions
+* file:: File
+* edit:: Edit
+* fractal:: Fractal
+* calc:: Calculation
+* mfilter:: Filters
+* ui:: UI
+* misc:: Misc
+* helpmenu:: Help
+* xtextpos:: Horizontal text position
+* ytextpos:: Vertical text position
+* mformula:: Formulae
+* palettemenu:: Palette
+
+
+File: xaos.info, Node: root, Next: animroot, Up: menus
+
+
+File: xaos.info, Node: animroot, Next: plc, Prev: root, Up: menus
+
+A.1 Animation root menu
+=======================
+
+This menu is displayed at the top of the screen when animation replay
+is active.
+
+* Menu:
+
+* file:: File
+* stopreplay:: Stop replay
+* helpmenu:: Help
+* ui:: UI
+
+
+File: xaos.info, Node: stopreplay, Up: animroot
+
+A.1.1 Stop replay
+-----------------
+
+Terminate animation replay.
+
+ _Available as_: menu item
+
+
+File: xaos.info, Node: plc, Next: linemenu, Prev: animroot, Up: menus
+
+A.2 Replay only commands
+========================
+
+Some commands, such as timing primitives or animation functions, are
+available only in animation files.
+
+* Menu:
+
+* linemenu:: Line drawing functions
+* animf:: Animation functions
+* time:: Timing functions
+* load:: Include file
+
+
+File: xaos.info, Node: load, Up: plc
+
+A.2.1 Include file
+------------------
+
+ -- Function: load file
+
+ This function lets you include another file in your script. It works
+similarly to `#include' in C or `load' in Scheme. The file is searched
+for in the same directory as the current source file.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: linemenu, Next: animf, Prev: plc, Up: menus
+
+A.3 Line drawing functions
+==========================
+
+XaoS has support for drawing lines. These functions are available only
+in animations and could be used to show some parts of fractals or draw
+simple diagrams. See the tutorial "Introduction to fractals" for
+examples of this feature.
+
+ Lines can be drawn in _screen_ coordinates, where 0,0 is the top
+left corner and 1,1 is bottom right, _scaled_ coordinates, which are
+similar, but scaled to keep 0,0--1,1 rectangular, or _Fractal_
+coordinates, to draw a line at an exact position on the screen.
+
+ The color of the line should be specified by the `color' command.
+You might draw an arbitrary number of lines and, later, morph them.
+Each line is identified by a unique numeric key; the current key can be
+set using `linekey'. Commands for changing lines operate on the line
+with the current key. (Lines drawn in sequence have consecutive
+numbers.)
+
+ For example:
+
+ (color 'red)
+ (line 'scaled 0.3 0.5 0.7 0.5)
+ (line 'scaled 0.3 0.5 0.7 0.5)
+ (line 'scaled 0.3 0.5 0.3 0.5)
+ (line 'scaled 0.7 0.5 0.7 0.5)
+ (linekey 0)
+ (morphline 'scaled 0.3 0.3 0.7 0.3)
+ (morphline 'scaled 0.3 0.7 0.7 0.7)
+ (morphline 'scaled 0.3 0.3 0.3 0.7)
+ (morphline 'scaled 0.7 0.3 0.7 0.7)
+ (usleep 1000000)
+
+ Creates line morphing to rectangle.
+
+ -- Function: line keyword complex complex
+
+ Draw line between two points. `keyword' specifies type of
+coordinates and should be one of the following: ``fractal', ``screen'
+or ``scaled'. This function also increases the line key.
+
+ _Available as_: command
+
+ -- Function: morphline keyword complex complex
+
+ Morph current line to given coordinates. `keyword' specifies type
+of coordinates and should be one of the following: ``fractal',
+``screen' or ``scaled'. The line will start moving at the next timing
+command, and reach the final position before the end of it. This
+function also increases the line key.
+
+ _Available as_: command
+
+ -- Function: morphlastline keyword complex complex
+
+ This function has the same functionality as morphline, but it doesn't
+increase the line key, and touches the line with the previous key. This
+is useful when you want to move a just-drawn line--you don't need to
+set linekey back.
+
+ _Available as_: command
+
+ -- Function: linekey integer
+
+ Set current line key.
+
+ _Available as_: command
+
+ -- Function: clearline
+
+ Clear current line. This function also increases the line key.
+
+ _Available as_: command
+
+ -- Function: clearlines
+
+ Clear all displayed lines. Lines can also be cleared using the
+`clearscreen' or `display' commands available from the Misc menu. *Note
+misc::.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: animf, Next: time, Prev: linemenu, Up: menus
+
+A.4 Animation functions
+=======================
+
+These functions are used to animate fractal state--to zoom, unzoom and
+morph various parameters. They should be used only in animation files.
+Animations are usually performed for a time selected by an immediately
+following timing function. *Note time::. For example:
+
+ (view 0 0 1 1)
+ (morphview 0 0 2 2)
+ (usleep 5000000)
+
+ Will do a 5 second long unzooming animation.
+
+* Menu:
+
+* animateview:: Animate view
+* smoothmorph:: Smooth morphing
+* morphview:: Morph view
+* morphjulia:: Morph julia
+* moveview:: Move view
+* morphangle:: Morph angle
+* zoom:: Zooming functions
+
+
+File: xaos.info, Node: animateview, Next: smoothmorph, Up: animf
+
+A.4.1 Animate view
+------------------
+
+ -- Function: animateview float float float float
+
+ This function is almost identical to function `view'. *Note uiview::.
+It expects that the view will be changed only slightly, so
+recalculation is done with `ANIMATE' priority. This means that dynamic
+resolution is used by default.
+
+ Viewport is selected by the center and two radiuses (real and
+imaginary). See `view' for more information.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: smoothmorph, Next: morphview, Prev: animateview, Up: animf
+
+A.4.2 Smooth Morphing
+---------------------
+
+ -- Function: morphview keystring starttime endtime
+This function lets you smoothly start and stop morphing. Specify
+starttime and stoptime as nonzero, and morphing will speed up and slow
+down for that number of usecs.
+
+ The keystring is used to select what morphing you want to control.
+It is one of the following:
+*'view*
+ control morphview
+
+*'angle*
+ control morphangle
+
+*'julia*
+ control morphjulia
+
+*'line*
+ control morphline
+
+
+File: xaos.info, Node: morphview, Next: morphjulia, Prev: smoothmorph, Up: animf
+
+A.4.3 Morph view
+----------------
+
+ -- Function: morphview float float float float
+For the time selected by the next `usleep' or other timing function,
+the viewpoint is smoothly morphed from the current one to that selected
+by `morphview'.
+
+ Viewport is selected by the center and two radiuses (real and
+imaginary). See `view' for more information.
+
+ This function can easily be used for creating zooming/unzooming
+animations using position files. This is an example position file
+generated by XaoS:
+
+ (initstate)
+ (defaultpalette 0)
+ (formula 'mandel)
+ (view -1.64128273713 -5.50393226816E-05 9.69332308848E-08
+ 9.69332308834E-08)
+
+ By replacing the `view' command with `morphview' and adding `usleep'
+you can create a zooming animation:
+
+ (initstate)
+ (defaultpalette 0)
+ (formula 'mandel)
+ (morphview -1.64128273713 -5.50393226816E-05 9.69332308848E-08
+ 9.69332308834E-08)
+ (usleep 10000000)
+
+ _Available as_: command
+
+
+File: xaos.info, Node: morphjulia, Next: moveview, Prev: morphview, Up: animf
+
+A.4.4 Morph Julia
+-----------------
+
+ -- Function: morphjulia complex
+For the time selected by the next `usleep' or other timing function,
+the Julia seed is smoothly interpolated from the current one to that
+selected by `morphjulia'. By default this will cause recalculation of
+the whole screen. To avoid this, use fast Julia mode. *Note
+fastjulia::.
+
+ A simple animation morphing Julia seed in the X axis:
+
+ (initstate)
+ (fastjulia #t)
+ (juliaseed -2 0)
+ (morphjulia 2 0)
+ (usleep 2000000)
+
+ _Available as_: command
+
+
+File: xaos.info, Node: moveview, Next: morphangle, Prev: morphjulia, Up: animf
+
+A.4.5 Move view
+---------------
+
+ -- Function: moveview complex
+Smoothly move the image center to another position.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: morphangle, Next: zoom, Prev: moveview, Up: animf
+
+A.4.6 Morph angle
+-----------------
+
+ -- Function: morphangle float
+Smoothly rotate the image to another angle. By default rotation causes
+recalculation of the whole screen. To avoid this you need to enable
+fast rotate mode. *Note rotate::. Don't forget to disable it later,
+since it slows down other animations.
+
+ A simple "rotozooming" animation:
+
+ (initstate)
+ (fastrotate #t)
+ (morphview -1.64128273713 -5.50393226816E-05 9.69332308848E-08
+ 9.69332308834E-08)
+ (morphangle 300)
+ (usleep 10000000)
+ (wait)
+ (fastrotate #f)
+
+ _Available as_: command
+
+
+File: xaos.info, Node: zoom, Prev: morphangle, Up: animf
+
+A.4.7 Zooming functions
+-----------------------
+
+The functions for zooming/unzooming were created mainly for recording
+animations. In manually created animation files, it is easier to use
+`morphview'. *Note morphview::.
+
+ -- Function: zoomcenter complex
+ This function sets the center to zoom in on. The center is given as
+a position in fractal coordinates.
+
+ _Available as_: command
+
+ -- Function: zoom
+ Start zooming to the area specified by `zoomcenter'.
+
+ The speed of zooming should be controlled by the function `speed' or
+in a more exact way by `maxstep' and `speedup'.
+
+ -- Function: unzoom
+
+ Start unzooming from the area specified by `zoomcenter'.
+
+ _Available as_: command
+
+ -- Function: stop
+ Stop zooming or unzooming.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: time, Next: file, Prev: animf, Up: menus
+
+A.5 Timing functions
+====================
+
+Timing functions are used to control the animation replay daemon. It
+can wait for a given time, or wait until calculation is complete. The
+animation functions are controlled by such waiting; animations that are
+running while delays start keep running through the delay.
+
+* Menu:
+
+* usleep:: Usleep
+* textsleep:: Wait for text
+* wait:: Wait for complete image
+
+
+File: xaos.info, Node: usleep, Next: textsleep, Up: time
+
+A.5.1 Usleep
+------------
+
+ -- Function: usleep integer
+
+ This function waits for a given amount of time (in usec) before
+processing the next command. The screen is recalculated and displayed
+at the beginning of usleep if necessary necessary. The remaining time
+is spent in waiting or performing animation.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: textsleep, Next: wait, Prev: usleep, Up: time
+
+A.5.2 Wait for text
+-------------------
+
+ -- Function: textsleep
+
+ This function's behavior is very similar to `usleep', but the time
+is calculated from the number of letters currently displayed onscreen.
+If you want to wait just long enough for the user to read the subtitle,
+use this function. The user can alter the replay speed as desired using
+`letterspersec'. *Note letterspersec::. This value can be changed during
+replay with the arrow keys.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: wait, Prev: textsleep, Up: time
+
+A.5.3 Wait for complete image
+-----------------------------
+
+ -- Function: wait
+
+ Wait until the image is complete. You should always use this
+function after zooming or unzooming when dynamic resolution is in use.
+This ensures that the image calculation will be complete so the user
+can see the result before the animation continues. It may also be
+useful in combination with filters like motion blur. *Note blur::.
+
+ This function deadlocks if used with animation functions; don't do
+that.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: file, Next: edit, Prev: time, Up: menus
+
+A.6 File
+========
+
+* Menu:
+
+* loadpos:: Load
+* savepos:: Save
+* record:: Record
+* play:: Replay
+* saveimg:: Save image
+* loadexample:: Load random example
+* savecfg:: Save configuration
+* quit:: Quit
+
+
+File: xaos.info, Node: loadpos, Next: savepos, Up: file
+
+A.6.1 Load XaoS position file
+-----------------------------
+
+Load a XaoS position file (`*.xpf'). See the format description for
+more information.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: savepos, Next: record, Prev: loadpos, Up: file
+
+A.6.2 Save XaoS position file
+-----------------------------
+
+ -- Function: savepos file
+
+ Save current state to a XaoS position file (`*.xpf'). This file is
+human-readable, and can easily be improved by hand after saving, or
+used as a base for animations. See the format description for more
+information.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: record, Next: play, Prev: savepos, Up: file
+
+A.6.3 Record animation
+----------------------
+
+ -- Function: record bool [ file ]
+
+ e Toggle recording to a XaoS animation file (`*.xaf'). This file is
+human-readable, and can easily be improved by hand after recording.
+See the format description for more information.
+
+ From the scripting language, `(record #t)' enables recording, and
+`(record #f)' disables it.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: play, Next: saveimg, Prev: record, Up: file
+
+A.6.4 Replay animation
+----------------------
+
+Replay a XaoS animation file (`.xaf').
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: saveimg, Next: loadexample, Prev: play, Up: file
+
+A.6.5 Save image
+----------------
+
+ -- Function: saveimg file
+
+ Save current state to an image file. This file is in `.png' (portable
+network graphics) format, which can be read by many applications
+varying from graphics programs all the way to Web browsers.
+
+ This function needs an external library called `libpng'. If the
+library wasn't available during compilation, this function is
+unavailable too. Please see `INSTALL' for more information about
+obtaining libpng and recompiling XaoS.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: loadexample, Next: savecfg, Prev: saveimg, Up: file
+
+A.6.6 Load random example
+-------------------------
+
+ -- Function: loadexample
+
+ Choose random `.xpf' file from the `examples' directory and load it.
+You might use it as the starting point for next exploration.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: savecfg, Next: quit, Prev: loadexample, Up: file
+
+A.6.7 Save configuration
+------------------------
+
+ -- Function: savecfg
+
+ Save current configuration to `~/.xaosrc' (under Unix) or `xaos.cfg'
+(under DOS and Windows). XaoS automatically reloads the configuration
+from this file when it starts.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: quit, Prev: savecfg, Up: file
+
+A.6.8 Quit
+----------
+
+ -- Function: quit
+
+ Quit XaoS.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: edit, Next: fractal, Prev: file, Up: menus
+
+A.7 Edit
+========
+
+A fairly ordinary Edit menu.
+
+* Menu:
+
+* undo:: Undo
+* redo:: Redo
+* copy:: Copy
+* paste:: Paste
+
+
+File: xaos.info, Node: undo, Next: redo, Up: edit
+
+A.7.1 Undo
+----------
+
+Undo last operation. `Last operation' is quite hard to define in XaoS
+(where changes are continuous), so it might be surprising. I hope it
+will do what you want.
+
+ _Available as_: menu item
+
+
+File: xaos.info, Node: redo, Next: copy, Prev: undo, Up: edit
+
+A.7.2 Redo
+----------
+
+Redo last undone operation. See undo. *Note undo::.
+
+ _Available as_: menu item
+
+
+File: xaos.info, Node: copy, Next: paste, Prev: redo, Up: edit
+
+A.7.3 Copy
+----------
+
+Copy fractal to clipboard. This is a platform-dependent operation that
+may not have an analogue on your platform (e.g. there is no concept of
+a clipboard under aalib).
+
+ _Available as_: menu item
+
+
+File: xaos.info, Node: paste, Prev: copy, Up: edit
+
+A.7.4 Paste
+-----------
+
+Paste fractal from clipboard. This is a platform-dependent operation
+that may not have an analogue on your platform (e.g. there is no
+concept of a clipboard under aalib).
+
+ _Available as_: menu item
+
+
+File: xaos.info, Node: fractal, Next: calc, Prev: edit, Up: menus
+
+A.8 Fractal
+===========
+
+This menu contains all functions related to fractal parameters and
+display; you can change things like the formula used, coloring modes,
+seeds and much else.
+
+* Menu:
+
+* formula:: Formula
+* mformula:: formulae
+* incoloring:: Incoloring mode
+* outcoloring:: Outcoloring mode
+* plane:: Plane
+* palettemenu:: Palette
+* uimandelbrot:: Mandelbrot mode
+* uiperturbation:: Perturbation
+* uiview:: View
+* initstate:: Reset to defaults
+* tcolor:: True-color coloring modes
+
+
+File: xaos.info, Node: formula, Next: uimandelbrot, Up: fractal
+
+A.8.1 Formula
+-------------
+
+ -- Function: formula keyword
+
+ Set the current fractal formula. `keyword' should be one of the
+following:
+*'mandel*
+ Standard Mandelbrot set. *Note mandel::.
+
+*'mandel3*
+ Mandelbrot set, power 3. *Note mandel3::.
+
+*'mandel4*
+ Mandelbrot set, power 4.
+
+*'mandel5*
+ Mandelbrot set, power 5.
+
+*'mandel6*
+ Mandelbrot set, power 6.
+
+*'newton*
+ Newton's approximation method. *Note newton::.
+
+*'barnsley*
+ First Barnsley's formula. *Note barnsley::.
+
+*'octo*
+ Fractint's octo. *Note octal::.
+
+*'phoenix*
+ Phoenix. *Note phoenix::.
+
+*'magnet*
+ Magnet. *Note magnet::.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: uimandelbrot, Next: uiperturbation, Prev: formula, Up: fractal
+
+A.8.2 Mandelbrot/Julia mode
+---------------------------
+
+Most fractals rendered by XaoS can be represented as Mandelbrot sets or
+Julias. Each point in the Mandelbrot set has its own Julia set. To
+learn more about this correspondence, see the tutorial on the Julia set.
+
+ This function switches between Mandelbrot and Julia representations.
+When switching to Julia, you need to set the seed--a point selected
+from the Mandelbrot set.
+
+ If you run this function from the menu, you are prompted for the
+Julia seed as a number. Often, this can be clumsy, and it would be
+easier to specify a point with the mouse pointer. If you hit the `M'
+key instead of using the menu, the current mouse position is used.
+
+ Good seedpoints lie at the boundaries of the Mandelbrot set; other
+seeds usually generate quite a boring fractal. You can also explore
+various seeds at high speed using the Fast Julia mode. *Note
+fastjulia::.
+
+ Not all fractals have Julias, but XaoS can generate fake Julia sets
+for those that do not, which use some Julia-like modification of the
+formula; so this function is currently usable for all fractal types.
+
+ _Available as_: menu item
+
+ -- Function: julia bool
+
+ This function is used to enable/disable julia mode in animation
+files.
+
+ _Available as_: command line option, command
+
+ -- Function: juliaseed complex
+
+ Select the current julia seed.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: uiperturbation, Next: uiview, Prev: uimandelbrot, Up: fractal
+
+A.8.3 Perturbation
+------------------
+
+Perturbation is a simple trick which changes the point at which orbits
+start. Traditionally zero is used, but other values can generate
+interesting results too.
+
+ On enabling this function from the menu, you will be asked for a
+complex number specifying the perturbation. It is a toggle; selecting
+it again resets the perturbation to zero without prompting.
+
+ It can be used to specify a complex number representing a point on
+the screen. If you hit the `B' key instead of using the menu, the
+current mouse position is used. This too is a toggle, so `B' again will
+disable perturbation by setting it to zero.
+
+ This function only has an effect for certain formulae (like the
+Mandelbrot set</a>) and only then in <a uimandelbrot>Mandelbrot mode.
+*Note mandel::.
+
+ _Available as_: menu item
+
+ -- Function: perturbation complex
+
+ This is the scripting-language variation of the perturbation
+function. Instead of toggling, you always specify the perturbation to
+use. Use 0 0 to disable perturbation.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: bailout, Next: fastjulia, Prev: maxiter, Up: calc
+
+A.8.4 Bailout
+-------------
+
+Bailout is the value which is checked for each point of the orbit if
+the point is far enough from the complex zero point in the current
+iteration. If the point is far enough, then the iteration immediately
+stops and the starting point on the screen will be painted with a given
+colour, depending on the fractal type and many other settings.
+
+ For the Mandelbrot set this value is 4. Other fractal types usually
+have the same bailout value. For most fractals many bailout values give
+more or less similar output. E.g., for the second order Mandelbrot set
+one can prove that the sequence |z| (z:=z^2+c) tends to infinity if and
+only if |z|>2 for some element z of this sequence. In XaoS program,
+Bailout value is the square of this 2, i.e. you can change this to any
+value greater than 2 for similar results.
+
+ Other fractal types may use other bailout values. The default is 4
+for each types.
+
+ _Available as_: menu item, command line option, command
+
+ -- Function: bailout float
+
+
+File: xaos.info, Node: uiview, Next: initstate, Prev: uiperturbation, Up: fractal
+
+A.8.5 View
+----------
+
+Set your current viewpoint in the fractal. This function is useful when
+you have found some interesting coordinates somewhere (on a web page,
+perhaps) and you want to see that position in XaoS.
+
+ In the dialog you will be asked for the _center_, _radius_ and
+_angle_ of the image.
+
+ The center specifies the point which is displayed at the center of
+the screen. The radius is the radius of a circle around this point;
+XaoS will size the image so that this circle only just fits on the
+screen. The angle gives the rotation of the image in degrees.
+
+ People specify fractal coordinates in many ways. Some people use the
+coordinates of the upper-left and lower-right visible points,
+specifying the coordinates as four numbers x1, y1, x2, y2. To set the
+same viewpoint in XaoS, set the real portion of the center to
+(x1+x2)/2, the imaginary part of center to (y1+y2)/2, and the radius to
+the greater of x2-x1 and y2-y1.
+
+ Other programs use a zoom factor instead of a radius. For these, you
+can set the radius to 2/zoom.
+
+ _Available as_: menu item
+
+ -- Function: view float float float float
+
+ This function is used to set the visible area of fractal in
+animation files. It doesn't let let you specify the angle, (for that,
+see the separate function `angle'), but lets you specify an ellipse
+instead of a circle. You can specify both a real and an imaginary
+radius, so you have better control over the area that will be visible.
+XaoS will size the image so that the ellipse only just fits on the
+screen.
+
+ _Available as_: command line option, command
+
+ -- Function: angle float
+
+ Set the rotation angle in degrees. By default this causes
+recalculation of the screen. You can enable the fast rotation mode,
+which lets you rotate the screen without recalculation; but it slows
+down other things, so don't forget to disable it later.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: initstate, Next: plane, Prev: uiview, Up: fractal
+
+A.8.6 Reset to defaults
+-----------------------
+
+ -- Function: initstate
+
+ This function resets most of XaoS's values to their defaults. It is
+useful when you get lost and want to start from the beginning. It
+should also be used as the first command of every animation file, to
+ensure that the file is always played with the same settings in effect.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: plane, Next: incoloring, Prev: initstate, Up: fractal
+
+A.8.7 Plane
+-----------
+
+ -- Function: plane integer
+
+ All fractals displayed by XaoS are functions with a complex
+parameter. They can be be displayed in the normal complex plane where
+the `x' coordinate is the real part of the number and the `y' is
+imaginary; but they can also be displayed differently:
+*mu*
+ Normal complex plane (default)
+
+*1/mu*
+ Inversion--infinity is at 0 and 0 is at infinity.
+
+*1/(mu+0.25)*
+ Similar to inversion, but moves the center outside the Mandelbrot
+ set, so it looks parabolic.
+
+*lambda plane, 1/lambda, 1/lambda-1*
+ Lambda plane and its inversion, and with a different center.
+
+*1/(mu-1.40115)*
+ A very interesting mode for the Mandelbrot set, this makes small
+ things large, for easier browsing of the set's details.
+ The tutorial about planes has some examples.
+
+ In the scripting language, the planes are numbered as follows:
+
+*0*
+ mu
+
+*1*
+ 1/mu
+
+*2*
+ 1/(mu+0.25)
+
+*3*
+ lambda
+
+*4*
+ 1/lambda
+
+*5*
+ 1/(lambda-1)
+
+*6*
+ 1/(mu-1.40115)
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: incoloring, Next: outcoloring, Prev: plane, Up: fractal
+
+A.8.8 Inside coloring mode
+--------------------------
+
+ -- Function: incoloring integer
+
+ Areas inside the set are usually filled in black, but this is only a
+convention; you could color them in differently to make the fractal
+look more interesting. The only method available to make areas inside
+the set visible is to display the value of the latest orbit as the
+value of each pixel.
+
+ The tutorial on incoloring has more information and examples.
+
+ XaoS has many different ways to show that value. The cryptic names
+of the modes are mathematical formulae, where _real_ means the real
+part of the latest orbit, and _imag_ means the imaginary part. _zmag_
+uses the magnitude of the value. The _Decomposition-like_ method uses
+the angle of the orbit. Also, truecolor incoloring modes are available,
+that display one value in each of the red, blue and green color planes
+(or, for some modes, in each of the hue, saturation and value planes).
+
+ In the scripting language, the incoloring mode is specified by one
+of the following integers:
+
+*0*
+ 0 (default)
+
+*1*
+ zmag
+
+*2*
+ Decomposition-like
+
+*3*
+ real/imag
+
+*4*
+ abs(abs(c)-abs(r))
+
+*5*
+ cos(mag)
+
+*6*
+ mag*cos(real^2)
+
+*7*
+ sin(real^2-imag^2)
+
+*8*
+ atan(real*imag*creal*cimag)
+
+*9*
+ squares
+
+*10*
+ Truecolor. To set exact parameters for truecolor coloring use the
+ `tcolor' command.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: outcoloring, Next: tcolor, Prev: incoloring, Up: fractal
+
+A.8.9 Outside coloring mode
+---------------------------
+
+ -- Function: outcoloring integer
+
+ Outcoloring modes are similar to incoloring modes, but indicate how
+to display the areas outside the set instead. As with incoloring modes,
+the value of the latest orbit can be used to determine the color of
+each pixel, but the default is to use the number of iterations needed
+for the value at that point to become recognisably divergent as the
+color.
+
+ The tutorial on outcoloring has more information and examples.
+
+ The cryptic names of the modes are mathematical formulae, where
+_iter_ means the number of iterations required for the value to become
+recognisably divergent, _real_ means the real part of the latest orbit,
+and _imag_ means the imaginary part. _binary decomposition_ uses a
+different color when the imaginary part of the orbit is lower than
+zero, and _smooth_ attempts to remove stripes and discontinuities.
+Also, truecolor outcoloring modes are available, that display one value
+in each of the red, blue and green color planes (or, for some modes, in
+each of the hue, saturation and value planes).
+
+ In the scripting language, the outcoloring mode is specified by one
+of the following integers:
+
+*0*
+ iter (default)
+
+*1*
+ iter+real
+
+*2*
+ iter+imag
+
+*3*
+ iter+real/imag
+
+*4*
+ iter+real+imag+real/imag
+
+*5*
+ binary decomposition
+
+*6*
+ biomorphs
+
+*7*
+ potential
+
+*8*
+ color decomposition
+
+*9*
+ smooth
+
+*10*
+ True-color outcoloring mode. To set exact parameters for truecolor
+ coloring use `outtcoloring'. *Note tcolor::.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: tcolor, Prev: outcoloring, Up: fractal
+
+A.8.10 Truecolor coloring mode
+------------------------------
+
+ -- Function: intcoloring integer
+
+ -- Function: outtcoloring integer
+
+ Truecolor coloring modes are similar to incolor and outcolor
+coloring modes; but instead of using a palette, they directly calculate
+the red, green and blue components of the color. This lets you display
+more parameters at once, and produces interesting and often attractive
+results. On 8bpp displays you need to enable the palette emulator
+filter first to see anything, amd the quality won't be so good, as far
+fewer colors are available per parameter.
+
+ The tutorial on truecolor coloring modes has more information and
+examples.
+
+ The cryptic names of the modes are always three mathematical
+formulae (one for each color component), where _real_ means the real
+part of the latest orbit, and _imag_ means the imaginary part.
+
+ To enable inside/outside truecolor coloring mode in the scripting
+language, set `incoloring'/`outcoloring' value to 10 (truecolor coloring
+mode) before (or after) calling `intcoloring' or `outtcoloring'.
+
+ In the scripting language, the coloring mode is specified by one of
+the following integers:
+
+*0*
+ black
+
+*1*
+ re*im sin(re^2) angle
+
+*2*
+ sin(re) sin(im) sin(square)
+
+*3*
+ hsv
+
+*4*
+ hsv2
+
+*5*
+ cos(re^c) cos(im^2) cos(square)
+
+*6*
+ abs(re^2) abs(im^2) abs(square)
+
+*7*
+ re*im re*re im*im
+
+*8*
+ abs(im*cim) abs(re*cre) abs(re*cim)
+
+*9*
+ abs(re*im-csqr) abs(re^2-csqr) abs(im^2-csqr)
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: calc, Next: mfilter, Prev: fractal, Up: menus
+
+A.9 Calculation
+===============
+
+This menu contains functions that control calculation parameters such as
+the maximum iteration count and periodicity checking.
+
+* Menu:
+
+* range:: Solid guessing
+* dynamic:: Dynamic resolution
+* periodicity:: Periodicity checking
+* maxiter:: Iterations
+* bailout:: Bailout
+* fastjulia:: Fast Julia mode
+* dynamic:: Dynamic resolution
+* rotate:: Rotation
+
+
+File: xaos.info, Node: range, Next: periodicity, Up: calc
+
+A.9.1 Solid guessing range
+--------------------------
+
+ -- Function: range integer
+
+ XaoS has a solid guessing optimization: if all corners of a
+rectangle have the same color, it assumes that the whole rectangle is a
+solid colored block, and doesn't calculate points inside the rectangle.
+This optimization saves lots of calculation, but sometimes introduces
+errors. This value alters the maximum size of the rectangle that can be
+guessed at one time. The default value is 3; use 0 to disable the
+optimization.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: periodicity, Next: maxiter, Prev: range, Up: calc
+
+A.9.2 Periodicity checking
+--------------------------
+
+ -- Function: periodicity bool
+
+ Periodicity checking is one way to speed up the calculation. Areas
+inside the set always need `maxiter' iterations to determine that the
+point is probably inside the set (while it is rare for areas outside to
+need anywhere near that much). Often the orbital trajectory falls into a
+periodic, repeating cycle; if that can be detected, the calculation can
+be stopped early, as there's no way that the orbit can ever leave the
+cycle again (hence it cannot diverge, hence the point must be inside
+the set).
+
+ Implementating this method efficiently is quite problematic. It
+slows down the cases where cycles are not found, because cycle-checking
+is quite hard work and has to take place for all points, even those
+that don't become cyclic. Because of the inexactness of floating-point
+calculations, the cycles are never exact, so you need to use an error
+value. Higher error values mean that cycles will be detected sooner,
+while lower error values increase the exactness of the calculation.
+Higher values can introduce serious errors, especially at the front of
+the Mandelbrot set. XaoS detects this automatically and corrects for it
+in most cases, but sometimes it might be wrong. Also, other
+optimizations in XaoS (such as boundary tracing) don't give this method
+much of a chance to run, since areas inside the set are usually not
+calculated at all.
+
+ That's why the advantages of this optimization are questionable. You
+should probably experiment with enabling and disabling it. Sometimes
+XaoS is faster with this enabled, sometimes when disabled. Also, this
+method works only when incoloring methods are disabled, and only for
+some fractal types (some fractal types, e.g. newton, don't have any
+concept of an area `inside the set' at all.)
+
+ The tutorial chapter "Escape time fractals" has more information on
+fractal calculation in XaoS, and there is a lengthy section in the
+hacker's manual (`xaosdev.texinfo') devoted to the subject.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: maxiter, Next: bailout, Prev: periodicity, Up: calc
+
+A.9.3 Iterations
+----------------
+
+ -- Function: maxiter integer
+
+ When the fractal set is calculated, a orbital trajectory is examined
+for each point. If the orbit diverges to infinity, the point is outside
+the set. Otherwise, the point is inside the set. For exact
+calculations, you need to know the entire orbital trajectory, which is
+infinitely long for areas inside the set, so fractals cannot be
+calculated exactly. By default, XaoS calculates at most 170 positions
+(iterations) and then gives up; if the point is still inside the
+bail-out value, it guesses that the point is inside the set.
+
+ When zoomed into a detailed area, especially one close to the set
+boundary, this value could become too low, and the fractal will become
+boring. You might try increasing this value if you want to get the
+image interesting again; but this necessarily slows down the
+calculation at the same time.
+
+ The tutorial chapter "Escape time fractals" has more information on
+fractal calculation in XaoS, and there is a lengthy section in the
+hacker's manual (`xaosdev.texinfo') devoted to the subject.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: fastjulia, Next: dynamic, Prev: bailout, Up: calc
+
+A.9.4 Fast Julia mode
+---------------------
+
+ -- Function: fastjulia bool
+
+ By default, changing the seed for the Julia set requires
+recalculation of the image (which is quite slow). It's a nice effect to
+change the seed smoothly and show the Julia set morphing as the seed
+changes. XaoS has a special algorithm which can calculate such
+morphings in realtime. It is very inexact, but it is good enough for a
+fast preview.
+
+ If you want to select a good seedpoint, enable fast Julia mode and
+find a nice place by dragging with the first mouse button depressed;
+then change to the Julia mode to see the exact image.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: dynamic, Next: rotate, Prev: fastjulia, Up: calc
+
+A.10 Dynamic resolution
+=======================
+
+ -- Function: fastmode keyword
+
+ XaoS performs many optimizations, but fairly often this is not
+enough. In order to keep a high framerate, XaoS automatically lowers
+the resolution of the image, increasing it when there is time for more
+calculation. This feature is enabled by default when animating, but you
+might also like to enable it for new images (which makes the image
+`come into focus' when it is recalculated from scratch for whatever
+reason), or disable it completely if you don't like it.
+
+ In the scripting languge, the keyword should be one of the following:
+*`'never'*
+ Disable dynamic resolution
+
+*`'animate'*
+ Use only for animations (default)
+
+*`'new'*
+ Use also for new images
+
+
+File: xaos.info, Node: rotate, Prev: dynamic, Up: calc
+
+A.11 Image rotation
+===================
+
+XaoS has support for rotation of the image to any angle. By default,
+changing the angle requires recalculation of the whole screen, but when
+_fast rotation mode_ is enabled, the angle can be changed smoothly. In
+this mode XaoS calculates a larger non-rotated image and rotates it when
+needed, so it increases memory requirements and slows XaoS down; hence,
+it should be disabled when rotation is not being used.
+
+ The user interface provides two rotation modes--_rotate by mouse_
+which allows the angle to be changed by dragging with the first mouse
+button depressed, and _continuous rotation mode_, where the image is
+rotated clockwise continuously, and the arrow keys can be used to change
+the rotiation speed.
+
+ -- Function: fastrotate bool
+
+ This function is used to enable and disable fast rotation mode.
+_Available as_: command line option, command
+
+A.11.1 Automatic rotation
+-------------------------
+
+ -- Function: autorotate bool
+
+ Use this function to enable continuous rotation. In the scripting
+language you can also use `morphangle' to get an outwardly similar but
+more controllable effect.
+
+ -- Function: rotationspeed float
+
+ Specify the speed of continuous rotation, in degrees per second.
+Negative values are allowed and rotate anticlockwise.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: mfilter, Next: ui, Prev: calc, Up: menus
+
+A.12 Filters
+============
+
+Filters are a post-calculation effect applied to the resulting image.
+They can do things like motion blurring, edge detection, emulation of
+palettes or truecolor on displays that can't handle them, and such
+things. There is a tutorial chapter about them.
+
+* Menu:
+
+* filter:: Filter command
+* edge:: Edge detection
+* edge2:: Edge detection2
+* starfield:: Starfield
+* stereogram:: Random dot stereogram
+* interlace:: Interlace filter
+* blur:: Motion blur
+* emboss:: Emboss
+* palettef:: Palette emulator
+* anti:: Antialiasing
+* truecolor:: Truecolor emulator
+
+
+File: xaos.info, Node: filter, Next: edge, Up: mfilter
+
+A.12.1 Filter command
+---------------------
+
+ -- Function: filter keyword bool
+
+ This command is used to enable or disable filters. *Note mfilter::.
+The _keyword_ specifies the filter to change, and should be one of the
+following:
+
+*`'edge'*
+ Edge detection
+
+*`'edge2'*
+ Edge detection2
+
+*`'starfield'*
+ Starfield
+
+*`'stereogram'*
+ Random dot stereogram
+
+*`'interlace'*
+ Interlace filter
+
+*`'blur'*
+ Motion blur
+
+*`'emboss'*
+ Emboss
+
+*`'palette'*
+ Palette emulator
+
+*`'anti'*
+ Antialiasing
+
+*`'truecolor'*
+ Truecolor
+
+ _Available as_: command
+
+
+File: xaos.info, Node: edge, Next: edge2, Prev: filter, Up: mfilter
+
+A.12.2 Edge detection
+---------------------
+
+This filter is a standard edge detection algorithm; solid areas are
+filled in black. Some fractals look very interesting with this filter
+(and some areas of some fractals just look like noise). This version of
+the filter produces relatively wide lines, so is useful at higher
+resolutions. The filter edge detection2 makes thinner lines, for the
+low resolution modes.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: edge2, Next: starfield, Prev: edge, Up: mfilter
+
+A.12.3 Edge detection2
+----------------------
+
+This filter is a standard edge detection algorithm; solid areas are
+filled in black. Some fractals look very interesting with this filter
+(and some areas of some fractals just look like noise). This version of
+the filter produces relatively tight lines, so is useful at lower
+resolutions. The filter edge detection makes thinner lines, for the
+high resolution modes.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: starfield, Next: stereogram, Prev: edge2, Up: mfilter
+
+A.12.4 Starfield
+----------------
+
+The starfield filter generates random stars whose density depends on the
+iteration count. Choose your favorite spiral fractal and enable this
+filter to get a Grand Design spiral galaxy :)
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: stereogram, Next: interlace, Prev: starfield, Up: mfilter
+
+A.12.5 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.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: interlace, Next: blur, Prev: stereogram, Up: mfilter
+
+A.12.6 Interlace filter
+-----------------------
+
+The interlace filter halves the horizontal resolution, and in each
+frame alternates between drawing only the even and only the odd lines.
+This speeds up the calculation, and in higher resolutions produces a
+motion-blur-like effect.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: blur, Next: emboss, Prev: interlace, Up: mfilter
+
+A.12.7 Motion blur
+------------------
+
+Motion blur mixes the current frame with previous ones to produce a
+motion-blur effect. It might be rather slow in 16bpp truecolor modes.
+The best results can probably be seen in 8bpp modes, so you might want
+to enable the palette filter first.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: emboss, Next: palettef, Prev: blur, Up: mfilter
+
+A.12.8 Emboss
+-------------
+
+This is a standard emboss filter, as seen in programs such as the GIMP
+or Photoshop. It produces especially nice results with the smooth
+outcoloring mode. *Note outcoloring::.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: palettef, Next: anti, Prev: emboss, Up: mfilter
+
+A.12.9 Palette emulator
+-----------------------
+
+XaoS can work in either palette or truecolor mode. Both modes have
+advantages and disadvantages. Palette mode allows effects such as
+palette rotation, while truecolor mode allows smoother incoloring and
+outcoloring modes and the truecolor coloring modes. If your display is
+truecolor, you can enable this filter to get palette emulation (albeit
+not as cheaply as in a real paletted mode).
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: anti, Next: truecolor, Prev: palettef, Up: mfilter
+
+A.12.10 Antialiasing
+--------------------
+
+Antialiasing is a technique to increase image quality by eliminating
+jagged edges. XaoS calculates four values for each pixel (on the
+subpixel boundaries) and uses the average of them for the pixel value.
+
+ This filter slows XaoS down a _lot_ and greatly increases memory
+requirements. It is useful mainly when you want to save images and want
+to make them look as nice as possible. Antialiasing also helps a lot
+when you want to encode JPEG or MPEG files; they are much shorter if
+antialiased (MPEG and JPEG hate jagged edges).
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: truecolor, Prev: anti, Up: mfilter
+
+A.12.11 Truecolor emulator
+--------------------------
+
+XaoS can work in either palette or truecolor mode. Both modes have
+advantages and disadvantages. Palette mode allows effects such as
+palette rotation, while truecolor mode allows smoother incoloring and
+outcoloring modes and the truecolor coloring modes. If your display is
+8bpp, you can enable this filter to get truecolor emulation (but,
+obviously, not with as many colors as a real truecolor display).
+
+ More information about filters
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: ui, Next: misc, Prev: mfilter, Up: menus
+
+A.13 UI
+=======
+
+This menu contains functions to control the user interface layer of
+XaoS: zooming speed, the autopilot, realtime status information, and so
+on.
+
+* Menu:
+
+* speed:: Zooming speed
+* letterspersec:: Letters per second
+* autopilot:: Autopilot
+* recalculate:: Recalculate
+* interrupt:: Interrupt
+* nogui:: Disable XaoS's builtin GUI
+* status:: Status
+* ministatus:: Ministatus
+
+
+File: xaos.info, Node: speed, Next: letterspersec, Up: ui
+
+A.13.1 Zooming speed
+--------------------
+
+ -- Function: speed float
+
+ Change zooming speed, where 1 is the default, 2 means twice as fast,
+and so on.
+
+ _Available as_: menu item, command line option, command
+
+ In the scripting language you can use the following functions for
+better control:
+
+ -- Function: maxstep float
+
+ Selects the zooming/unzooming speed. The parameter specifies how
+much of the range will be removed each twentieth of a second; 0 means
+nothing, 1 means everything (the parameter obviously has to be less
+than 1). Higher values mean faster zooming.
+
+ _Available as_: command
+
+ -- Function: speedup float
+ When zooming/unzooming, every twentieth of a second the `speedup'
+value is added to the current step until `maxstep' is reached. So this
+value selects the rate at which zooming stops and starts. Both these
+functions are more for internal use of XaoS then for manually written
+scripts, but they could come in useful nonetheless.
+
+ _Available as_: command
+
+
+File: xaos.info, Node: letterspersec, Next: autopilot, Prev: speed, Up: ui
+
+A.13.2 Letters per second
+-------------------------
+
+ -- Function: letterspersec integer
+
+ Speed of subtitles for the `textsleep' function. The user can set
+this value to suit; it can also be changed with the left and right
+arrow keys during animation replay.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: autopilot, Next: recalculate, Prev: letterspersec, Up: ui
+
+A.13.3 Autopilot
+----------------
+
+ -- Function: autopilot bool
+
+ To make XaoS yet more impressive, we made a special autopilot mode
+that automatically drives into interesting boundaries of the set; you
+should 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 backtracks if the
+zoomed picture is not interesting anymore, and can detect when it's
+zoomed into really a boring part of the fractal or reached the limit of
+floating point arithmetic on the platform, and restart zooming from the
+top.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: recalculate, Next: interrupt, Prev: autopilot, Up: ui
+
+A.13.4 Recalculate
+------------------
+
+ -- Function: recalculate
+
+ Recalculate current fractal. This should be used when the fractal on
+the screen is strange because of error propagation caused by solid
+guessing. *Note range::.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: interrupt, Next: nogui, Prev: recalculate, Up: ui
+
+A.13.5 Interrupt
+----------------
+
+ -- Function: interrupt
+
+ Interrupt current calculation.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: nogui, Next: status, Prev: interrupt, Up: ui
+
+A.13.6 Disable XaoS's builtin GUI
+---------------------------------
+
+ -- Function: nogui bool
+
+ Disable XaoS menus and dialogs. This function should be used by
+external GUI programs; these manipulate XaoS via a pipe, so the
+internal GUI should be disabled at the same time. See the hacker's
+manual (`xaosdev.texinfo') for more details.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: status, Next: ministatus, Prev: nogui, Up: ui
+
+A.13.7 Status
+-------------
+
+ -- Function: status bool
+
+ Enable/disable status information. This displays some useful
+information about the current fractal, such as viewpoint etc. (In
+low-resolution modes it also almost completely obscures the current
+fractal...)
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: ministatus, Prev: status, Up: ui
+
+A.13.8 Ministatus
+-----------------
+
+ -- Function: ministatus bool
+
+ Enable/disable status line. This contains basic information such as
+how much you are zoomed and the framerate.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: misc, Next: helpmenu, Prev: ui, Up: menus
+
+A.14 Misc
+=========
+
+Miscellaneous functions.
+
+* Menu:
+
+* command:: Command
+* renderanim:: Render animation
+* clearscreen:: Clear screen
+* display:: Display fractal
+* text:: Display text
+* color:: Color
+* xtextpos:: Horizontal text position
+* ytextpos:: Vertical text position
+* textposition:: Text position
+* message:: Message
+
+
+File: xaos.info, Node: command, Next: renderanim, Up: misc
+
+A.14.1 Command
+--------------
+
+You can invoke all XaoS functions using a simple command language
+reminiscent of Scheme. This option lets you run a single command. If
+you want to run more than one, you might want to use an XaoS animation
+file instead; they are written in the same language.
+
+ _Available as_: menu item
+
+
+File: xaos.info, Node: renderanim, Next: clearscreen, Prev: command, Up: misc
+
+A.14.2 Render animation
+-----------------------
+
+Render an animation to image files. See How to encode MPEG files for
+more information.
+
+ _Available as_: menu item,
+
+
+File: xaos.info, Node: clearscreen, Next: display, Prev: renderanim, Up: misc
+
+A.14.3 Clear screen
+-------------------
+
+ -- Function: clearscreen
+
+ Clear the screen. To display the fractal again, use `display'. *Note
+display::. This function is mainly useful in tutorials and similar
+animations.
+
+ _Available as_: menu item, command
+
+
+File: xaos.info, Node: display, Next: text, Prev: clearscreen, Up: misc
+
+A.14.4 Display fractal
+----------------------
+
+ -- Function: display
+
+ Display fractal. This functions reverses the effect of the
+`clearscreen', line drawing and text output functions.
+
+ _Available as_: menu item, command
+
+
+File: xaos.info, Node: text, Next: color, Prev: display, Up: misc
+
+A.14.5 Display text
+-------------------
+
+ -- Function: text string
+
+ Display the given text on the screen. This function is mainly useful
+in tutorials. Text should be cleared by printing lots of spaces, or
+using the `clearscreen'</a> or <a display>`display' functions. You
+might also want to use the `textposition' function to select the part
+of the screen to display the text on.
+
+ To wait for the user to read the text, you can use the `textsleep'
+function.
+
+ Example:
+
+ (clearscreen)
+ (textposition 'center 'middle)
+ (text "Welcome into my animation")
+ (textsleep)
+ (display)
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: color, Next: textposition, Prev: text, Up: misc
+
+A.14.6 Color
+------------
+
+ -- Function: color keyword
+
+ Change text and line color. _keyword_ should be one of `'white',
+`'black' and `'red'.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: textposition, Next: message, Prev: color, Up: misc
+
+A.14.7 Text position
+--------------------
+
+ -- Function: textposition keyword keyword
+
+ Select text position. The first keyword specifies the horizontal
+position, the second the vertical position. The horizontal position
+should be one of `'left', `'center', and `'right'. The vertical should
+be one of `'top', `'middle', and `'bottom'.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: message, Prev: textposition, Up: misc
+
+A.14.8 Message
+--------------
+
+ -- Function: message string
+
+ This function is almost identical to the `text' function, except
+that it uses message catalogs in the `catalog' directory to translate
+messages into other languages. It should be used only in the
+multi-lingual XaoS tutorials.
+
+ _Available as_: command line option, command
+
+
+File: xaos.info, Node: helpmenu, Next: xtextpos, Prev: misc, Up: menus
+
+A.15 Help
+=========
+
+This menu contains help and tutorials.
+
+
+File: xaos.info, Node: xtextpos, Next: ytextpos, Prev: helpmenu, Up: menus
+
+A.16 Horizontal text position
+=============================
+
+Select the horizontal position used to display text. *Note text::. It
+can be placed at the left, in the center or at the right.
+
+
+File: xaos.info, Node: ytextpos, Next: mformula, Prev: xtextpos, Up: menus
+
+A.17 Vertical text position
+===========================
+
+Select the vertical position used to display text. *Note text::. It can
+be placed at the top, in the middle or at the bottom of the screen.
+
+
+File: xaos.info, Node: mformula, Next: palettemenu, Prev: ytextpos, Up: menus
+
+A.18 formulae
+=============
+
+Each escape time fractal has its own formula. XaoS supports the
+following formulae:
+
+* Menu:
+
+* mandel:: Mandelbrot
+* mandel3:: Mandelbrot^3
+* octal:: Octal
+* newton:: Newton
+* barnsley:: Barnsley1
+* phoenix:: Phoenix
+* magnet:: Magnet
+
+
+File: xaos.info, Node: mandel, Next: mandel3, Up: mformula
+
+A.18.1 Mandelbrot
+-----------------
+
+The Mandelbrot set is the most famous escape time fractal ever. It has
+the simple formula z=z^2+c. See the tutorial chapter.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: mandel3, Next: octal, Prev: mandel, Up: mformula
+
+A.18.2 Mandelbrot^3--Mandelbrot^6 and Mandelbrot^9
+--------------------------------------------------
+
+The Mandelbrot^3 fractal is a simple modification of the standard
+Mandelbrot set formula, using z=z^3+c instead of z=z^2+c.
+
+ Other derivations of the Mandelbrot set (Mandelbrot^4 and so on) use
+even higher powers. See the tutorial chapter.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: octal, Next: newton, Prev: mandel3, Up: mformula
+
+A.18.3 Octal
+------------
+
+This is a less well-known fractal that Thomas discovered in Fractint.
+It has an interesting shape when displayed in the alternative planes.
+*Note plane::. See the tutorial chapter.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: newton, Next: barnsley, Prev: octal, Up: mformula
+
+A.18.4 Newton
+-------------
+
+This is Newton's approximation method for finding the roots of a
+polynomial. It uses the polynomial x^3=1 and counts the number of
+iterations needed to reach the approximate value of the root. See the
+tutorial chapter.
+
+ This fractal doesn't have Julia sets, but XaoS is able to generate
+Julia-like sets which are also very interesting (they are sometimes
+called "Nova formulae").
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: barnsley, Next: phoenix, Prev: newton, Up: mformula
+
+A.18.5 Barnsley1
+----------------
+
+This is a formula by Michael Barnsley. It produces very nice
+crystalline Julia sets. See the tutorial chapter.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: phoenix, Next: magnet, Prev: barnsley, Up: mformula
+
+A.18.6 Phoenix
+--------------
+
+This formula produces very nice Julia sets. See the tutorial chapter.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: magnet, Prev: phoenix, Up: mformula
+
+A.18.7 Magnet
+-------------
+
+This is a formula that comes from theoretical physics. It is derived
+from the study of theoretical lattices in the context of magnetic
+renormalization transformations. See the tutorial chapter.
+
+ _Available as_: menu item, command line option
+
+
+File: xaos.info, Node: palettemenu, Prev: mformula, Up: menus
+
+A.19 Palette
+============
+
+This menu contains functions to change the palette the fractal is
+displayed with.
+
+* Menu:
+
+* defpalette:: Default palette
+* randompalette:: Random palette
+* palette:: Custom palette
+* cycling:: Color cycling
+* shiftpalette:: Shift palette
+
+
+File: xaos.info, Node: defpalette, Next: randompalette, Up: palettemenu
+
+A.19.1 Default palette
+----------------------
+
+ -- Function: defaultpalette number
+
+ Create a default palette. In the scripting language, `number'
+specifies how much the palette is shifted by.
+
+ Note that changing the palette in truecolor modes forces
+recalculation of the whole screen. To avoid this, you can enable the
+palette emulation filter first.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: randompalette, Next: palette, Prev: defpalette, Up: palettemenu
+
+A.19.2 Random palette
+---------------------
+
+ -- Function: randompalette
+
+ Create a random palette. XaoS will automatically pick one of its
+palette-generation algorithms and create one.
+
+ Note that changing the palette in truecolor modes forces
+recalculation of the whole screen. To avoid this, you can enable the
+palette emulation filter first.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: palette, Next: cycling, Prev: randompalette, Up: palettemenu
+
+A.19.3 Custom palette
+---------------------
+
+ -- Function: palette integer integer integer
+
+ A custom palette lets you re-create some of the random palettes. The
+first value specifies the algorithm, which should currently be one of
+the following:
+*0*
+ Default palette
+
+*1*
+ Black to color gradient
+
+*2*
+ Black to color to white gradient
+
+*3*
+ Cubistic-like algorithm.
+ The seed specifies a random seed for the palette; different seeds
+generate different palettes. The last value is the amount by which the
+palette is shifted.
+
+ Note that changing the palette in the truecolor modes forces
+recalculation of the whole screen. To avoid this, you can enable the
+palette emulation filter first.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: cycling, Next: shiftpalette, Prev: palette, Up: palettemenu
+
+A.19.4 Color cycling
+--------------------
+
+ -- Function: cycling bool
+
+ Color cycling is an old and simple effect to animate fractals. The
+Mandelbrot set looks particularly nice when color-cycled. On truecolor
+displays, color cycling fails to initialize (since those displays don't
+have a palette). You can enable palette emulation filter to make it
+possible.
+
+ _Available as_: menu item, command line option, command
+
+ In the user interface, colors can also be cycled in the opposite
+direction with the "_Reversed color cycling_" function.
+
+ To control the cycling speed, you coan use arrow keys or the "_Color
+cycling speed_" function.
+
+ _Available as_: menu item
+
+ -- Function: cyclingspeed integer
+
+ The parameter specifies the number of skips per second. It can be
+negative to cycle in the opposite direction.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: shiftpalette, Prev: cycling, Up: palettemenu
+
+A.19.5 Shift palette
+--------------------
+
+ -- Function: shiftpalette integer
+
+ Shift palette by the specified number of cells. This can be used to
+tune the palette's position on the fractal. You can also use the _Shift
+one forward_ and _Shift one backward_ functions for fine-tuning. Note
+that shifted and rotated palettes could look different on different
+displays (because they may have different palette sizes).
+
+ Shifting the palette on truecolor displays causes a recalculation of
+the screen. To avoid this, you could use palette emulation filter.
+*Note palettef::.
+
+ _Available as_: menu item, command line option, command
+
+
+File: xaos.info, Node: about, Next: support, Prev: menus, Up: Top
+
+Függelék: B About XaoS
+************************
+
+Függelék: C Credits
+*********************
+
+(alphabetically)
+*Lucio Henrique de Araujo (lucio.matema@gmail.com)*
+ Brazilian/Portuguese translation
+
+*Samuel Bizien (samuel@bizien.info)*
+ Beryl fractal
+
+*Eric Courteau (ecourteau@cplus.fr)*
+ francais.cat (translation of tutorials)
+
+*Jean-Pierre Demailly (Jean-Pierre.Demailly@ujf-grenoble.fr)*
+ Updates for French translation
+
+*Radek Doulik (rodo@atrey.karlin.mff.cuni.cz)*
+ TK interface, windowid patches
+
+*Martin Dozsa (madsoft@centrum.cz)*
+ cs.po (Czech translation of menus)
+
+*Arpad Fekete (Fekete.Arpad.2@stud.u-szeged.hu)*
+ Some new fractals, and the 'More formulae' menu
+
+*Zelia Maria Horta Garcia (zeliagarcia@seed.pr.gov.br)*
+ Brazilian/Portuguese translation
+
+*Tim Goodwin (tgoodwin@cygnus.co.uk)*
+ english.cat corrections
+
+*Ben Hines*
+ autoconf suggestions, Mac OS X port
+
+*Jan Hubicka (jh@ucw.cz)*
+ Zooming routines, ugly interface, palettes, drivers, autopilot,
+ filters, documentation, tutorials etc.
+
+*Jens Kilian (jjk@acm.org)*
+ BeOS driver, deutsch.cat
+
+*Thomas A. K. Kjaer (takjaer@imv.aau.dk)*
+ OS/2 ports (320x200 graphics and AA-lib)
+
+*Zoltan Kovacs (kovzol@math.u-szeged.hu)*
+ Internationalization, Hungarian translations, finalizing version
+ 3.1, bug fixes, web design, current maintainer
+
+*Zsigmond Kovacs (kovzsi@gmail.com)*
+ Fractal examples
+
+*J.B. Langston III (jb-langston@austin.rr.com)*
+ Native Mac OS X port (from version 3.2.2); web redesign;
+ co-maintainer
+
+*Andreas Madritsch (amadritsch@datacomm.ch)*
+ New fractal types, bailout, many fixes
+
+*Mateusz Malczak (xaos@malczak.info)*
+ User formula evaluation library
+
+*Giorgio Marazzi (gmarazzi@vtr.net)*
+ Improvements and fixes for espanhol.cat
+
+*Thomas Marsh (thomas.marsh2@gmail.com)*
+ First zoomer, formulae, planes, X11 driver, inversions, many ideas
+
+*Dominic Mazzoni (dmazzoni@cs.cmu.edu)*
+ Macintosh port (version 2.0)
+
+*David Meleedy*
+ Grammatical and spelling fixed version of `xaos.6'
+
+*Paul Nasca (zynaddsubfx@yahoo.com)*
+ Ministatus improvement
+
+*Nix (nix@esperi.demon.co.uk)*
+ Grammatical and spelling fixed version of `xaos.hlp' and other
+ files
+
+*Terje Pedersen (terjepe@login.eunet.no)*
+ Amiga port
+
+*Cesar Perez (oroz@users.sourceforge.net)*
+ Spanish translations
+
+*Fabrice Premel (premelfa@etu.utc.fr)*
+ Periodicity checking
+
+*Jan Olderdissen (jan@olderdissen.com)*
+ Win32 port
+
+*Ilinca Sitaru (ilinca.sitaru@gmail.com)*
+ Romanian translation
+
+*Daniel Skarda*
+ Fractal examples
+
+*Andrew Stone (Stone Design - www.stone.com)*
+ Videator Support, Cocoa improvements, performance mode, bug fixes
+
+*Marton Torok (marton.torok@gmail.com)*
+ Small fixes for pipes
+
+*Pavel Tzekov (paveltz@csoft.bg)*
+ Win32 support
+
+*Charles Vidal*
+ Tcl/Tk interface
+
+*Tapio K. Vocaldo (taps@rmx.com)*
+ Macintosh port
+
+*Tormod Volden*
+ Fixes for X11 driver to improve compatability with Xorg,
+ XScreenSaver, Beryl and Compiz
+
+*Philippe Wautelet (p.wautelet@fractalzone.be)*
+ Bug fixes for version 3.1.1, French translation, gcc 4.0 fixes
+
+*Sergio Zanchetta*
+ Italian translation
+
+C.0.1 Included Software
+-----------------------
+
+XaoS uses the following libraries. These libraries may be included with
+some binary distributions of XaoS.
+
+ _gettext 0.17_ Website: `http://www.gnu.org/software/gettext/'
+Copyright (C) 1995-1997, 2000-2007 Free Software Foundation, Inc.
+License GPLv3+: GNU GPL version 3 or later
+(http://gnu.org/licenses/gpl.html) This is free software: you are free
+to change and redistribute it. There is NO WARRANTY, to the extent
+permitted by law.
+
+ _GNU Scientific Library 1.11_ Website:
+`http://www.gnu.org/software/gsl/' Copyright (C) 1996, 1997, 1998,
+1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 The GSL Team.
+License GPLv3+: GNU GPL version 3 or later
+(http://gnu.org/licenses/gpl.html) This is free software: you are free
+to change and redistribute it. There is NO WARRANTY, to the extent
+permitted by law.
+
+ _libpng 1.2.25_ Website: `http://www.libpng.org/pub/png/libpng.html'
+Copyright (c) 1998-2008 Glenn Randers-Pehrson Copyright (c) 1996-1997
+Andreas Dilger Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
+
+
+File: xaos.info, Node: support, Next: index, Prev: about, Up: Top
+
+Függelék: D Getting Support
+*****************************
+
+XaoS is a community-supported free software project. There are many ways
+to get help, all of which are explained below.
+
+Függelék: E Home Page
+***********************
+
+The XaoS homepage is `http://xaos.sf.net'. Check here for the latest
+news and information about XaoS and to download the latest versions.
+
+E.0.1 Discussion Forums
+-----------------------
+
+XaoS has two discussion forums hosted on SourceForge. You can read them
+freely, but in order to post, you must to register for a free
+SourceForge account.
+
+*Help*
+ Provides a place for you to ask for help using XaoS. Other XaoS
+ users and/or the XaoS developers will answer your questions.
+
+ `http://sourceforge.net/forum/forum.php?forum_id=17768'
+
+*Open Discussion*
+ Provides a place to discuss anything related to XaoS or fractals.
+ You can share tips, your own fractal creations, or any other
+ fractal-related ideas with other XaoS users.
+
+ `http://sourceforge.net/forum/forum.php?forum_id=17767'
+
+ We welcome you to join these forums and become involved in the XaoS
+community.
+
+E.0.2 Mailing Lists
+-------------------
+
+XaoS currently has three mailing lists hosted on SourceForge.
+Unfortunately, there is currently very little traffic on any of them.
+Hopefully in the future, we can get more XaoS users and developers
+involved in the mailing lists. The lists are as follows:
+
+*xaos-announce@lists.sourceforge.net*
+ Low volume list that is used only to announce new releases.
+
+ Subscribe:
+ `http://lists.sourceforge.net/mailman/listinfo/xaos-announce'
+ Archive:
+ `http://sourceforge.net/mailarchive/forum.php?forum_name=xaos-announce'
+
+*xaos-devel@lists.sourceforge.net*
+ Developer mailing list, where the developers coordinate and
+ discuss XaoS development.
+
+ Subscribe:
+ `http://lists.sourceforge.net/mailman/listinfo/xaos-devel'
+ Archive:
+ `http://sourceforge.net/mailarchive/forum.php?forum_name=xaos-devel'
+
+*xaos-discuss@lists.sourceforge.net*
+ General discussion list is for XaoS users to share tips and ideas
+ about XaoS.
+
+ Subscribe:
+ `http://lists.sourceforge.net/mailman/listinfo/xaos-discuss'
+ Archive:
+ `http://sourceforge.net/mailarchive/forum.php?forum_name=xaos-discuss'
+
+ Please feel free to join any or all of these mailing lists and share
+your ideas with the developers and other XaoS users.
+
+E.0.3 Bug Reports
+-----------------
+
+If you think you have found a bug in XaoS, please report it. The
+developers will do their best to resolve the bug in a timely manner.
+
+ Bug Tracker:
+`http://sourceforge.net/tracker/?atid=105771&group_id=5771'
+
+ Please don't submit duplicate bugs. Browse the existing ones first
+to make sure nobody has already reported it. You may add additional
+information about a bug by entering a comment on an existing bug.
+
+ If you are not sure if something is a bug, please open a support
+request. The developers will try to answer your question and can
+convert your support request to a bug if necessary.
+
+ Support Requests:
+`http://sourceforge.net/tracker/?atid=205771&group_id=5771'
+
+E.0.4 Feature Requests
+----------------------
+
+If you have an idea for a great new feature you'd like to see added to
+XaoS, please let us know about it. You can submit a feature request
+via SourceForge, and the XaoS developers will do their best to
+implement your request in a future version.
+
+ Feature Requests:
+`http://sourceforge.net/tracker/?atid=355771&group_id=5771'
+
+ Please don't submit duplicate feature requests. Browse the existing
+ones first to make sure nobody has already requested the feature your
+want. You may add your vote for a feature by adding a comment to the
+existing request.
+
+
+File: xaos.info, Node: index, Prev: support, Up: Top
+
+Index of functions
+******************
+
+
+* Menu:
+
+* angle: uiview. (line 43)
+* animateview: animateview. (line 7)
+* autopilot: autopilot. (line 7)
+* autorotate: rotate. (line 28)
+* bailout: bailout. (line 26)
+* clearline: linemenu. (line 73)
+* clearlines: linemenu. (line 79)
+* clearscreen: clearscreen. (line 7)
+* color: color. (line 7)
+* cycling: cycling. (line 7)
+* cyclingspeed: cycling. (line 25)
+* defaultpalette: defpalette. (line 7)
+* display: display. (line 7)
+* fastjulia: fastjulia. (line 7)
+* fastmode: dynamic. (line 7)
+* fastrotate: rotate. (line 20)
+* filter: filter. (line 7)
+* formula: formula. (line 7)
+* incoloring: incoloring. (line 7)
+* initstate: initstate. (line 7)
+* intcoloring: tcolor. (line 7)
+* interrupt: interrupt. (line 7)
+* julia: uimandelbrot. (line 31)
+* juliaseed: uimandelbrot. (line 38)
+* letterspersec: letterspersec. (line 7)
+* line: linemenu. (line 40)
+* linekey: linemenu. (line 67)
+* load: load. (line 7)
+* loadexample: loadexample. (line 7)
+* maxiter: maxiter. (line 7)
+* maxstep: speed. (line 17)
+* message: message. (line 7)
+* ministatus: ministatus. (line 7)
+* morphangle: morphangle. (line 7)
+* morphjulia: morphjulia. (line 7)
+* morphlastline: linemenu. (line 58)
+* morphline: linemenu. (line 48)
+* morphview <1>: morphview. (line 7)
+* morphview: smoothmorph. (line 7)
+* moveview: moveview. (line 7)
+* nogui: nogui. (line 7)
+* outcoloring: outcoloring. (line 7)
+* outtcoloring: tcolor. (line 9)
+* palette: palette. (line 7)
+* periodicity: periodicity. (line 7)
+* perturbation: uiperturbation. (line 26)
+* plane: plane. (line 7)
+* quit: quit. (line 7)
+* randompalette: randompalette. (line 7)
+* range: range. (line 7)
+* recalculate: recalculate. (line 7)
+* record: record. (line 7)
+* rotationspeed: rotate. (line 34)
+* savecfg: savecfg. (line 7)
+* saveimg: saveimg. (line 7)
+* savepos: savepos. (line 7)
+* shiftpalette: shiftpalette. (line 7)
+* speed: speed. (line 7)
+* speedup: speed. (line 26)
+* status: status. (line 7)
+* stop: zoom. (line 29)
+* text: text. (line 7)
+* textposition: textposition. (line 7)
+* textsleep: textsleep. (line 7)
+* unzoom: zoom. (line 23)
+* usleep: usleep. (line 7)
+* view: uiview. (line 31)
+* wait: wait. (line 7)
+* zoom: zoom. (line 17)
+* zoomcenter: zoom. (line 11)
+
+
+
+Tag Table:
+Node: Top440
+Node: Overview1491
+Node: Why?1688
+Node: What?3850
+Node: tutorial4423
+Node: controls14259
+Node: video16315
+Node: format20282
+Node: writehelp25754
+Node: xshl26241
+Node: drivers27386
+Node: aa28084
+Node: BeOS30601
+Node: DGA33457
+Node: dos34077
+Node: dX-fullscreen36510
+Node: dX-window37637
+Node: ggi37722
+Node: plan938273
+Node: SVGAlib39374
+Node: win3240754
+Node: X1142660
+Node: menus43657
+Node: root44527
+Node: animroot44588
+Node: stopreplay44871
+Node: plc45020
+Node: load45377
+Node: linemenu45710
+Node: animf48485
+Node: animateview49195
+Node: smoothmorph49730
+Node: morphview50314
+Node: morphjulia51377
+Node: moveview52005
+Node: morphangle52236
+Node: zoom52905
+Node: time53743
+Node: usleep54217
+Node: textsleep54618
+Node: wait55175
+Node: file55760
+Node: loadpos56031
+Node: savepos56293
+Node: record56739
+Node: play57242
+Node: saveimg57454
+Node: loadexample58090
+Node: savecfg58446
+Node: quit58833
+Node: edit59010
+Node: undo59200
+Node: redo59473
+Node: copy59648
+Node: paste59940
+Node: fractal60224
+Node: formula60787
+Node: uimandelbrot61519
+Node: uiperturbation63041
+Node: bailout64230
+Node: uiview65327
+Node: initstate67336
+Node: plane67829
+Node: incoloring68996
+Node: outcoloring70522
+Node: tcolor72247
+Node: calc73867
+Node: range74331
+Node: periodicity74958
+Node: maxiter77134
+Node: fastjulia78377
+Node: dynamic79136
+Node: rotate79975
+Node: mfilter81407
+Node: filter82063
+Node: edge82712
+Node: edge283251
+Node: starfield83795
+Node: stereogram84154
+Node: interlace88540
+Node: blur88956
+Node: emboss89371
+Node: palettef89706
+Node: anti90274
+Node: truecolor90981
+Node: ui91592
+Node: speed92053
+Node: letterspersec93116
+Node: autopilot93511
+Node: recalculate94348
+Node: interrupt94723
+Node: nogui94958
+Node: status95432
+Node: ministatus95835
+Node: misc96140
+Node: command96541
+Node: renderanim96927
+Node: clearscreen97180
+Node: display97525
+Node: text97831
+Node: color98571
+Node: textposition98855
+Node: message99325
+Node: helpmenu99732
+Node: xtextpos99871
+Node: ytextpos100144
+Node: mformula100424
+Node: mandel100775
+Node: mandel3101054
+Node: octal101531
+Node: newton101870
+Node: barnsley102414
+Node: phoenix102694
+Node: magnet102930
+Node: palettemenu103272
+Node: defpalette103608
+Node: randompalette104104
+Node: palette104609
+Node: cycling105473
+Node: shiftpalette106452
+Node: about107164
+Node: support111546
+Node: index115382
+
+End Tag Table