App-GUI-Juliagraph
view release on metacpan or search on metacpan
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
the constant or starting value is then the sum of pixel coordinates with
the displayed value.
The fifth section holds all values that determine the end of the
computation on one spot. There are two conditions that can trigger that.
Either you run out of iterations (exceeded the maximal interation
*count*). Please note, that the actual number is the displayed number
squared. This gives you a wider range eof options and a little more
comfort while changing the value. When the computation runs out of
iterations, the current pixel will get the background color. The second
stop criterion is fulfilled when the value exceeds the bailout limit
(*Value*), which is also the displayed number squared. In the right
corner you got ten different ways how to compute the amount of z.
Mathematicians call them merics. They mostly influence the shape around
the main shape (the crwon - corona).
Monomials
The second tab contains 4 identical sections which also work the same
way. Each of them stand in for a monomial of the iteration equation, but
only if the checkbox *On* is marked. A second checkbox decides if this
monomial gets added or subtracted. The third allows you discard the
complex factor below the checkboxes. The fourth checkbox allows you to
use the current pixel coordinates as second factor in the monomial.
Please be aware this option can only be chosen if fractal type "Any" is
active and the *Monomial* checkbox in the upper right corner is on. Both
of these settings are on the previous "Constrains" page. This might seem
cumbersome, but I wanted to make it very clear that this is no longer a
"Julia" fractal as most people would understand it. The last and fifth
checkbox lets you calculate a complex logarithm of the power term z^n.
This is useful when combined with a very larg factor or another
monomial. This just mentioned power "n" ca be chosen right beside the
checkboxes. The higher this power is, the longer it takes to calculate
the picture, but it adds also a nice rotational symmetry. "Mandelbrot"
has a (n-1)-times rot symmetry and "Julia" a n-times rotational
symmetry.
Color Mapping
This page is about mapping the iteration number at bailout to a color.
To be able to do that better you can preview here the color rainbow
between the first and second section. Below the color rainbow is another
this monochrome strip. It displayes the currently active background
color. The rainbow is from left (low iteration number) to right (high).
The first section starts with a checkbox. When deselected, the fractal
gets a gray scale. When selected all color choices are in effect. The
rainbow goes from begin color number to end color number over every
color in between. So if you for instance selected 2 and 4, the rainbow
has a gradient from color 2 to color 3 and a second from 3 to 4. The
exact colors will be changes on the next page. The gradients might vary
dependant on chosen "dynamic" and color "space" in which they are
computed.
The second section is for people who want only a few color regions. Just
activate the custom checkbox and select the "Steps" count. If they are
at 20 only 20 differently colored reagions are drawn. The readonly
textbox below with the current iteration max is only for better
orientation. When it is at lets say 60 you know: this scale of one to 60
possible iteratons will be divided into 20 parts. If the distribution is
*linear* they all have the size of three. But you might want to skew the
color distribution. The mapping types are sorted by their skewness.
If the second section is deactivated you are able to activate the third.
It is for folks that think that the color gradient is not dense enough.
That might makes sense if the iteration already stops at maximum of 5
but you want to get a long smooth gradient. Then you want to *Activate*
subgradients, based on the Value at iteration stop. The greater that is
the further on the subgradient the resulting color will be. The five
options here parallel what we already described. Subgradients will have
the amount of steps as dialed in under "Steps". The gradient will be
computed from 1 (above bailout value) up to the "Size" value. Everything
above just lands in the last bucket. The subgradient can again be skewed
by a "Distribution" and "Dynamic" value (as described above). Also the
resulting color change dependant in which color "Space" it is computed
in. *RBG* gives usually more smooth results and *HSL* more contrast.
( run in 0.611 second using v1.01-cache-2.11-cpan-39bf76dae61 )