JC Dabbler Help File

The formula goes like this: 

"z" is the main variable that is changed and used by the formula to generate the image 

z is set to the z initializer value set by the user in the z initilization options.  

If the switch mode is ON, the switch mode will be calculated and will tweak and replace the z initializer mode value, based on the siwtch mode selected.

If any tweaks are selected, they are calculated here. If the "Tweak once or many" box is NOT selected, the tweaks will only be calculated and included into z once, at the init phase.  Otherwise, if the "Tweak once or many" box IS selected, the tweaks are calculated and included in to z every time the formula "loops"

After the tweaks are calculated, the formula equation flavors are calculated, and integrated into z one at a time, starting with the main equation, and working from 1st equation flavor through to 10th equation flavor, integrated into z as the user has the set the operation for each equation flavor

From there, the formula tests for the bailout condition.  The bailout is, basically, an expression, like if z < #pixel, then bailout.  There is a left side (z) and a right side (#pixel) to the bailout test expression, as well as an operator (<).  The user can set exacting customized bailout conditions to suit their needs.  If z, after all the calculations above, meets the bailout condition (in the above case, if z is less than the current pixel), the formula stops calculating the equation, changes the value of #pixel, and starts the entire formula again from the top.  Otherwise, it will calculate the equation (and tweaks, if set to tweak every iteration) again until z reaches the bailout condition.  



DETAILS OF EACH PARAMETER SET


Initializer Parameters:

Changes how Z is initialized at the beginning of each iteration, after the formula has bailed out from the last pixel value.  The user selects a "Z initalizer", which will initilalize z to that particular equation.  Underneath the z initializer, all parameters & functions RELEVANT to the particular z inilailizer equation appear, IF NEEDED (if they are not needed, they are hidden so as not to confuse the user)

The default is #pixel




Z Tweak Parameters:

The first checkbox is "Tweak once or every iteration?" By checking this box, you can have the tweaks be incorporated into z every time the formula re-calculates the equation prior to bailing out.  If it is not checked, the tweaks will only be incorporated into z once, when the formula is being inialized, and will not be recalculated until the formula bails out of the current iteration


Each checkbox below that is a tweak that you can incorporate into z.  When you check the box, all parameters & functions RELEVANT to the particular tweak show up underneath the box, IF NEEDED (if they are not needed, they are hidden so as not to confuse the user).  Changing the values will change the tweak.

At the bottom of each tweak is the tweak modifier.  This allows you to choose how this particular tweak is to be integrated into the formula (added, subtracted, multiplied, divided, etc.).

By default, no Z tweaks are selected.




Z Equation Parameters

This is the real "meat" of the formula.  The main equation flavor (at top) is always calculated, no matter whether or not any other quation flavors are selected.  If any other equation flavors are used, they are integrated one at a time (1st flavor, 2nd flavor, 3rd flavor, etc.)

For the Main Equation flavor (and any other equation flavor you check the box to use), the equation flavor selects the equation you wish to use as the flavor.  Underneath the equation flavor, all parameters & functions RELEVANT to the particular equation flavor appear, IF NEEDED (if they are not needed, they are hidden so as not to confuse the user).

At the bottom of each equation flavor is the flavor operation.  This allows you to choose how this particular equation flavor is to be integrated into the formula (added, subtracted, multiplied, divided, etc.).

If you were to go down the line and write each equation flavor and operation in a line, you'd come up with a single formula equation that changes the value of z

the default is set this way:

Main z Equation flavor: z
Main z Equation flavor operation: z = Equation
1st Equation flavor: z
1st Equation flavor operation: z * Equation
2nd Equation flavor: #pixel
2nd Equation flavor operation: z + Equation

writing these parameters in a line, you'd get the following:

z = z * z + #pixel

whaddya know? it's the mandelbrot set!

you can also achieve the same results by doing the following:

Change the 1st equation flavor from z to p1
**note that p1 will pop up underneath the 1st equation flavor, and above the 1st equation flavor
Change the 1st equation flavor operation from "z * Equation"  to  "z ^ equation"
Change the real value of p1 (the one that just popped up) from 0 to 2

now you should have this:

Main z Equation flavor: z
Main z Equation flavor operation: z = Equation
1st Equation flavor: p1
(1st equation) p1 (real): 2
(1st equation) p1 (imag): 0
1st Equation flavor operation: z * Equation
2nd Equation flavor: #pixel
2nd Equation flavor operation: z + Equation

writing these parameters in a line , you'd get the following:

z = z ^ p1 + #pixel

or (and substituting the numerical value of what you chose as p1):

z = z ^ 2 + #pixel

OMG!  It's the mandelbrot set again!


Let's try something else.  Let's add another equation flavor into the formula

click on the box "show 3rd equation?"
**a 3rd equation flavor and operator will pop up underneath the box
change the 3rd equation flavor to "fn1(z)"
**an fn1 parameter will pop up underneath the 3rd equation flavor and above the operator parameter
change the fn1 from sin() to sinh()
chnage the operator parameter from "unused" to "Equation / Z"


Your "mandelbrot" looks very different now!

Let's "dabble" some more.  Lets change the main equation flavor to something else.
change the main equation flvor from "z" to "z*z+#pixel"

look at how your image has changed from your original mandelbrot image.  

Zoom in if you'd like.  Add a tweak to it.  It's all about "dabbling"- changing things and watching how the image changes.  If you want to start over, simply reset the parameters, and you will return to your basic mandelbrot set.


As a note, for all of you looking for a julia- 


the formula equation for a basic julia is z = z * z + p1, where z is inialized to #pixel


from the default parameter values, it is very easy to make a julia.  this is what you do:

change the 2nd equation flavor from "#pixel" to "p1"
set an appropriate value for p1 (from -1.5 to +1.5 for real and imag values of p1)

viola!  You now have a julia!  Have fun "dabbling" with it!










Bailout Parameters:

This is an advanced baiout system that lets you choose what is tested to see if the formula stops the iteration of the formula for the current pixel, and moves on to the next pixel value.

bailouts are designed as a single expression, like this:

z <= p1

or

fn1(z) + #pixel != p1 * (z ^ p2)


there are three main parts of the bailout condition:

the left side
the right side
the operator

<LEFT SIDE> <OPERATOR> <RIGHT SIDE>

The left side and right side are simply equations based off z, much like the formula flavors above.

The operator is what tests the relationship between the left and right sides.  If the test passes, the formula "bails out" of the equation being calculated for the current pixel, and moves on to the next one.  If the test fails, z is sent back "through the ringer" and recalculated through the z tweaks (if they have been set to tweak z every iteration) and formula equation flavors, after which it will tested once again for bailout

The left and right side formula flavors are standard equations, much like those above in the formula flavors.  Underneath each side's flavor, all parameters & functions RELEVANT to the particular bailout side's equation flavor appear, IF NEEDED (if they are not needed, they are hidden so as not to confuse the user).

For each side, there is also a Z bailout modifier.  Becuase of the way the bailout expression is read, the values of the left and right side must be float values.  Unfortunately, the left and right side flavors are each complex values (which is really just 2 float values- the real value and the imag value).  The Z Bailout modifier mixes and matches the real and imag float values of each particular side to produce a single float value for the expression.  There are two functions which, IF NEEDED, will pop up for the user to modify as necessary- internal and external.  What's the difference?  The interal function is applied to each float value (real and imag) BEFORE being calculated together (added, subtracted, multiplied, etc.).  The external function is applied to the value AFTER the real and imag values have been calculated together.


Finally, we have the Bailout test operator.  This value determines the relationship between the right and left sides that will be tested to see if the formula "bails out" of the calculation of the current pixel an moves on to the next one.  The choices are as follows:

left == right (left side IS EQUAL TO right side)
left >= right (left side IS GREATER THAN OR EQUAL TO right side)
left <= right (left side IS LESS THAN OR EQUAL TO right side)
left > right (left side IS GREATER THAN right side)
left < right (left side IS LESS THAN right side)
left != right (left side IS NOT EQUAL TO right side)



The defaults are set as follows:

Left side: z
Left side bailout modifier: real + imag
Right Side: p1
(right side) p1 (real): 2
(right side) p1 (imag): 0
Right side bailout modifier: real + imag
Bailout Test Operation: left <= right





Switch Options (The PARAMETER EXPLORER)

First of all this is NOT, repeat, NOT, the switch function you are used to.  This switch function does NOT change from mandelbrot to julia, or from julia to mandelbrot, or from this formula to ANY other formula.  There is NO Julia version of the JC Dabbler, and you CANNOT switch between julia and mandelbrot versions with the Parameter Explorer feature

NO
NO
NO
NO
NO
NO

Get that out of your head RIGHT NOW.  If you really want a Julia fractal, you must "dial in" the julia forula specifically in the formula equation flavors, as described above.


Now let me tell you what the parameter explorer REALLY does.  What it DOES do is that it allows the user to "explore" any of the complex variables in this formula, and to answer the question "what happens if p1 is this value?.  Using the switch function of UF, the parameter explorer allows you to "see" what happens int he switch window if you change the value of one or more complex variables.

First of all, if you want to use the parameter explorer at all, you will want to check the box at the top, appropriately labeled "turn on parameter explorer".  Checking this box "pops up" all of the parameter explorer options, which I will go into more detail below:


Switch mode options- When you use the switch function in UF, you can use one of these modes to change the value of z after you do the switch, as a "pre-modifier" to z before it is tweaked and calculated in the formula equations, but AFTER it has been initalized.  The "Switch mode to" shows the mode you WILL switch to when you use the switch function.  If you change this parameter, it WILL NOT SHOW until you actually perform the switch.  it WILL, however, show up in the switch window as you are exploring parameters.  The "currently in mode" shows the current switch mode you are in at the moment.  If you change this parameter, it will have a dramatic effect on the formula.   If any parameters or functions are NEEDED for either of the switch modes, they will pop up below these mode option parameters.

Variables to explore:

Each box here corresponds to a variable in the formula that the user can explore.  The boxes will only show for those parameters that can be explored in thecurrent formula configuration.  By checking on the boxes of your choice, the user can select which variable(s) they want to explore.  Please note that when you check a box to explore, the image may suddenly change.  This usually only occurs after you have switched once, and occurs becuase the value that was previously entered in the parameter above is being overridden with the value in a separate variable ("current pixel") that holds that value of the current pixel from the previous switch.   If this value in the separate variable is not zero (0,0), then the value will automatically override the value contained in the actual parameter. 


When the user starts the switch mode and checks one or more parameter explorer boxes and clicks on the switch button in the "fractal mode tab", the switch window will appear, and the user will be able to see what happens if the parameter you checked is changed as the user moves the mouse around.  If they see something they like, and click to switch, the value in the parameter you chose to change will be overridden by the value in the pixel, which is held in a separate variable that I explain further below


The "Current Pixel"

As I mentioned above, the drawback to the parameter explorer is that it cannot directly change the value of the parameter the user is exploring, but can only overrides it. It overrides the value in the parameter with the value contained in this variable.

If the user wants to keep this value for the parameter you selected, they can simply copy and paste the value from this parameter to the parameter that they were exploring.




TRANSOFRMATION OPTIONS- "Bailout" becomes real and imag values of the pixel being transformed




COLORING OPTIONS- "Bailout" becomes 4 Zcolor options for each value of a color gradient, chosen by the user

gradient- only uses zcolor1

RGB and HSL- use Zcolor1, Zcolor2, and Zcolor3
RGBA & HSLA- use all 4 Zcolors

All Unneccessary Zcolors are HIDDEN

