App-GUI-Juliagraph
view release on metacpan or search on metacpan
NAME
App::GUI::Juliagraph - drawing Mandelbrot-, Julia fractals and more
SYNOPSIS
1. read this POD
2. start the program in the shell: > "juliagraph"
3. move knobs and observe how preview sketch reacts til you got an
interesting image
4. push "Draw" (below drawing board) or Ctrl+D or *Draw* in *Image*
menu, or middle click of the drawing board, to produce full
resolution image
5. choose "Save" in Image menu (or Ctrl+S) to store image in a PNG /
JPEG / SVG file
6. choose "Write" in settings menu (Ctrl+W) to save settings into an
INI file for tweaking them later
After first use of the program, a config file *~/.config/juliagraph*
will be created in you home directory. It contains mainly stored colors,
color sets and dirs where to load and store setting files. You may also
change it by editor or delet it to reset configs to default.
DESCRIPTION
Mandelbrot (first two pictures) and Julia fractals (four after that) are
just mathematical diagrams, showing you how iterating the equation
"z_n+1 = z_n ** 2 + C" behaves on the complex plane. Our running
variable gets an initial value and gets squared each time, plus an
constant is added, also each time. Mandelbrot mean this constant are the
pixel coordinates, Julia means the coordinates are the starting value.
And the pixel color just contains the information how many iterations
(times) it took until z got greater than our bailout value.
This program has additional capabilities/options:
* iteration formula with up to four monomials
* choosable exponent and factor for each of them
* choosable stop value and stop metric
* free selection of colors
* many option to map th colors onto iteration result values
GUI
The general layout is very simple: the settings (which define the
fractal) are on the right and the drawing board is left. The settings
are devided into several thematic tabs. Every change of the settings
triggers a redraw of the fractal, but only in a blurry preview mode, so
it can be fast enough. To get a high resolution rendering, press
"Ctrl"+"D" or push the draw button down left center or click at the
drawing board with a middle mouse click. (The image menu has also a draw
item.) With a full rendering the progress bar beside the draw button
becomes colorful. It is white in preview mode.
Please mind the tool tips - short help texts which appear if the mouse
stands still over a button. Also helpful are messages in the status bar
at the bottom that appear while browsing the menu. Please take also
special note at the *mouse* section since you can browse the fractals by
mouse.
Constraints
The controls on the first tab panel are the settings that define most of
the rules by which the equation is computed. The page is divided from
top to bottom into 5 sections that will be discussed in that order.
The first section allows you to set the fractal type: *Mandelbrot*,
*Julia*, of something in between (option *Any*). If you choose
*Mandelbrot*, the sections 3 and 4 get blurred and set to zero, since
the play no role in computing this type of fractal. If chosen *Julia*
only section 4 is blurred and reset. On the right side of this sections
you can observe, how the checkboxes dance, when switching the fractal
type. There you can see that Mandelbrot means the pixel coordinates are
the constant added at each iteration. And *Julia* means that coordinates
turn to starting values, but you can choose the constant to get
different shapes. But these checkboxes can only reached, when type *Any*
is chosen. Only then you can select or deselect both options or even
choose a third one, that pixel coordinates can become a monomial factor.
The second section contains the information that select the visible part
the image. These are zoom factor (its higher when you zoom in) and the
coordinates that are at the center of the visible section. Chenge them
to scroll left, right, up or down. Each of these values are controlled
by a slider step widget. It allows you to change the value in two
different ways. Either you type in the numbers directly (click first at
the widget). Or you change the value by clicking the plus and minus
buttons. The slider beside them determines the size of the value change,
done by the buttons. The buttons on the most right just reset the values
in case you got lost.
The third section is about the mentioned constant number, added to "z"
at each iteration. A is the real part corresponding to the X-axis and B
the imaginary part corresponding to Y. In same manner, section four is
holding the starting value. To both of these values the coordinates can
be added. Just click the checkbox in the upper right corner. If chosen
( run in 1.890 second using v1.01-cache-2.11-cpan-39bf76dae61 )