App-GUI-Juliagraph
view release on metacpan or search on metacpan
lib/App/GUI/Juliagraph.pm view on Meta::CPAN
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 I<mouse> section since you can browse the fractals by mouse.
=head2 Constraints
=for HTML <p>
<img src="https://raw.githubusercontent.com/lichtkind/App-GUI-Juliagraph/master/img/POD/Tab_Constraints.png" alt="" width="630" height="410">
</p>
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: I<Mandelbrot>,
I<Julia>, of something in between (option I<Any>). If you choose I<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 I<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 I<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 I<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 C<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 I<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 (I<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).
=head2 Monomials
=for HTML <p>
<img src="https://raw.githubusercontent.com/lichtkind/App-GUI-Juliagraph/master/img/POD/Tab_Polynomials.png" alt="" width="630" height="410">
</p>
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 I<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 C<Any> is active and the I<Monomial>
checkbox in the upper right corner is on. Both of these settings are on
the previous C<Constrains> page. This might seem cumbersome, but I wanted
to make it very clear that this is no longer a C<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
C<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. C<Mandelbrot> has a (n-1)-times rot symmetry and
C<Julia> a n-times rotational symmetry.
=head2 Color Mapping
=for HTML <p>
<img src="https://raw.githubusercontent.com/lichtkind/App-GUI-Juliagraph/master/img/POD/Tab_Mapping.png" alt="" width="630" height="410">
</p>
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 C<dynamic> and color C<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 C<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 I<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 I<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
( run in 2.002 seconds using v1.01-cache-2.11-cpan-df04353d9ac )