Manual of Glito

[Esperanta traduko]  [Version française]

Copyright (C) 1996, 2002-2004 Emmanuel Debanne (emmanuel a debanne . net)
This software is provided under the terms of the GNU General Public License. Glito is based in part on the work of the FLTK project (www.fltk.org).

Glito is a tool to explore a type of fractals : the IFS (Iterated Function System). It can be done manually or randomly. While building your IFS, you can visalize the result in real-time. You can animate your IFS (zoom, transition or rotation). You can save your work as an image or an animation in gray level.


Parameters

When launched, Glito tries to read the file named "param.xml". If it does not exist, default parameters are used.

The parameters can be modified with File->Edit_Parameters, read from a file with File->Open_Parameters and saved with File->Save_Parameters.

This is the list of the parameters which can be changed with File->Parameters:

Schema Size
Ratio of the size of the schema to the size of the main window.
Preview Size
Ratio of the image for preview to the size of the main window.
Rotation shift
The keys "arrow up" and "arrow down" rotate the selected function. The angle of rotation is given by this value in radian.
Size of saved images
Width and height of saved images.
Frames per cycle
Number of frames during a cycle of an animation. Multiplied by 2 for a transition or a rotation.
Motion detection
Interval of time before detecting mouse events.
Density
Color of a pixel depends on the number of times it was reached. Contrary to "Minimal gray", this number is not limited by 255. Drawbacks are that an image needs more time to refresh and that the required quantity of memory is multiplied by 5.
Minimal gray
Minimal value of a pixel. The first time that a pixel is reached by the computation, it is set to this value. The next times that it is reached, it is increased by one.
Points for framing
Number of points to calculate the bounding box of the IFS. The higher this number is, the longer you will have to wait to see a new IFS, but the more you will be sure that it is contained in the frame.
For animation
Points for framing is multiplied by this coefficient for preview and animation modes.
Interval per frame
The time to wait before refreshing can be defined as a time in milli-seconds or as a number of points to calculate. Caution: the time measured is the process time and not the real time.
Points per frame
Number of points to compute before refreshing.
Calibrate
Calibration can calculate the number of points required for each frame of an animation (pointsPerFrame) according to the number of frames per seconde (a real seconde not a second of the programm).
After a calibration, we get: pointsForFraming = 5*pointsPerFrame.
Black/White
Modify the background color of the images.
Transparency
A PNG image or a MNG animation can be saved with transparency. All the colors(alpha) or only the color of the background (one color) can be transparent.

Menu: File

Save the parameters

All the preceding parameters can be saved in the file named "param.xml". To save the parameters, click on File->Save_Parameters.

Schema view/Large view

These menu items allow to pass from the schema view (schema of the IFS and small image of preview) to a large view of the image. The key 'b' can be used for the same purpose.

Save PNG/BMP/PGM

The fractals can be saved in a PNG, PGM or BMP file (bitmap or gray level).

Menu: Help

Help->Documentation: to visualize this file.

Help->Demo: to launch a demo.
A rotation, a zoom and a transition to a new skeleton are done in the cyclic process. Linear and sinusoidal IFS are used successively.

Help->About : version and copyright of this program.

Preview Mode

The skeleton can be modified with the mouse and the keyboard. The result is shown in real-time.

A function is written:
Xn+1 = x1 Xn + x2 Yn + xc
Yn+1 = y1 Xn + y2 Yn + yc

This function is represented by a parallelogram of center (xc, yc) and whose two contiguous sides are the vectors V1 = (x1, y1) et V2 = (x2, y2).

A skeleton is a number n of these functions (which form the IFS) plus a function used as a zoom.

The selected function is shown up thanks to red color vectors. The zoom function is coloured white to be distinguished from the other functions
Press the keys 'v' (or "left arrow") and 'n' (or "right arrow") to change the selected function.

Two modes of reaction to mouse motions exist. The first (rot/dil not ticked in the menu bar) allows the translation of the parallelogram or the midification of the summits of the vectors V1 or V2. With the second mode (rot/dil ticked), a rotation, a dilation or both simultaneously can be applied to the parallelogram.

To change the mouse mode, use the space bar or tick on "rot/dil" in the menu bar.

Normal Mode

Click on the left button while dragging the mouse to mofify the xc and yc values of a function. The center of the parallelogram follows the mouse.

Click on the right button while dragging the mouse to modify x1 and y1 values (vector V1) or x2 and y2 values (vector V2). V1 or V2 is chosen according to the distance of the mouse from the extremities of these vectors. The shape of the center of the parallelogram indicates the order of the V1 and V2 vectors (+ or - according to the value of the sinus of the angle (V1,V2)).

To modify only one vector at a time, press the two buttons of your mouse or the middle button.

Rotation/dilation Mode

Click on the left button of the mouse to rotate the parallelogram. Click on the right button to modify its size. The summit formed by V1 and V2 follows the mouse. These transformations are simultaneous if you click on both buttons or on the middle button.

Here is a summary of the possible mouse interactions. The modified resulting values are indicated between square brackets:

ModeLeft ButtonRiht Button Middle Bouton
(or left + right buttons)
normal translation [xc,yc]V1 [x1,y1] or V2 [x2,y2] V1 and center [x1,y1,xc,yc]
or V2 and centre [x2,y2,xc,yc]
rot/dilrotation [x1,y1,x2,y2]dilation [x1,y1,x2,y2] rotation and dilation

The keys "arrow up" and "arrow down" rotate the selected function. The angle of rotation is given by the value of "rotation shift".

Menu: Function

A function can be cut, copied or pasted thanks to the menu "Function" or the shortcuts CTRL+X,C,V.

To reshape a parallelogram to a square, click on Function->Reshape or press the key 's'.

To change the system type, click on Function->Linear, Function->Sinusoidal or Function->Julia. The schema scale is automatically changed.

Menu: Skeleton

Click on Skeleton->New to create a new fractal with the wanted number of function. You can find some well-known fractals by entering a square number of functions (4 or 9) and by removing some of them with Function->Cut (CTRL-X).

To modify randomly the IFS, click on Skeleton->Random ('h' key). You can use it in preview mode and in large mode as well.

The skeletons can be saved and opened in a kind of XML format with Skeleton->Save and Skeleton->Open. Skeletons can be exported to a Fractint format too with Skeleton->Export_to_Fractint. Be careful: both formats use the same extension ".ifs".

Skeleton->Dimension gives the Hausdorff dimension of a Skeleton.

Four memories can be used to store a skeleton. Use Skeleton->in_MemoryX or the keys '5', '6', '7' or '8' to save in memory a skeleton. To recover a skeleton : Skeleton->out_MemoryX or the keys '1', '2', '3' and '4'.

Menu: Animation

Zoom

To zoom inside the selected function.

Transition

To do a transition between the skeleton in memory 1 and the skeleton in memory 2.

Rotation

The selected function is turned of an angle PI/(frames per cycle) for each new frame.

Shortcuts

Here is a list of the keyboard shortcuts of Glito (different from CTRL-xxx):

'ESC'Interrupt for a while a calculation.
Press again 'ESC' to go on.
'b'Set the preview mode or the large view mode.
'space'Change the reaction mode to mouse clicks.
'v' and 'n'Change the selected function.
'F1'Show this documentation
'z'Launch a "zoom" animation.
't'Launch a "transition" animation.
'r'Launch a "rotation" animation.
's'Transform a parallelogram to a square.
1, 2, 3 ou 4Set the skeleton to the one in memory 1, 2, 3 or 4
5, 6, 7 ou 8Save the skeleton in memory 1, 2, 3 or 4

Copyright

Glito is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Glito is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Glito (named COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA