FlameFractalTutorial02

From MediaWiki
Jump to: navigation, search

Objective of this tutorial

In this tutorial we want to show how to change the color of your fractal by controlling one of the following aspects:

  1. gradient
  2. color index
  3. color speed

To proceed, please load the example flame from the previous tutorial into your editor. In order to do this:

  1. Enter the Appendix of the previous tutorial, look for the text-box with some cryptic text starting with "<flame...". Select this text with your mouse, i.e. starting at "<flame..." until (and including) "</flame>" at the botton. Copy this text into the clipboard (on most platforms pressing <Ctrl+C>).
  2. Enter the main-flame-editor and press the From Clipboard-button. If all went right, you should see a monochrome blue fractal.

How coloring works

Each flame-fractal has a so-called gradient assigned to itself. A gradient is a collection of colors which is used inside your fractal. Most fractals have gradients with contain more or less smooth transitions between certain dominant colors.

During the calculation of the fractal, colors are chosen from this gradient by a certain algorithm. You may both control, how the colors are chosen (at a certain level), and which colors are chosen (by providing a certain gradient).

Gradients

To see and modify the gradient of your current flame, enter the Gradient-tab at the bottom area of the flame-editor
Flametut02 gradients.jpg

If you enter this tab and play around with some of the controls (you may create a new gradient, or choose another one from the library, for example), you will see, that the color of the fractsal changes, but it is always monochrome.
Flametut02 change gradient.jpg

So, even if we have the largest collection of the coolests gradients ever, we need some more control to actually to be able to use colors inside them!

Color index

We do not want to go into deep detail here, but want to provide at least some basic understanding, because it really counts here.

Each transform has two gradient-related properties assigned (you find them at the Color-tab under the Transformations-tab:

  1. Color: start-position inside the gradient
  2. Speed: diffusion-speed for this position through the gradient (by traversing to other transforms)

It may sound simple and complicated at the same time, and both is true.
Flametut02 color index1.jpg

It is recommended to play with both settings a lot to get a feeling how they work.

Let's do this with example flame. When you add a new transform it will select the zero position on the color slider as it's default, so both of your transforms at the moment have the position of zero, or the same color which created a monochrome image. Activate the first transform and change the Color-property (slider). The fractal should now turn from monochrome into some shape using two different colors from the gradient. This is because our two different transforms now use different start-positions inside the gradient (the first we have changed to something other than 0, the the second transform still uses the original value of 0, so they are different).

Change the Speed-property (slider) to change how those different colors are "blended" into each other. In our case we have two different values: the blending from the first transform to the seconds transform (which is the speed-parameter of the first transform) and vice versa.

Flametut02 color index2.jpg

Don't become overwhelmed

Please note, that it is very hard to understand/control how all this works together in more complicated flames. So, if you feel, that this is overwhelming you (from a theoretical point of view) at this step, just do not try to actually understand it, it is not a shame to not understand it, and in fact, most people don't.

But, you should know, which controls you can use to affect the coloring, and for now those two values Color and Speed together with the Gradient are the most important ones to start with.

Conclusion

We learned that the choice of a gradient is important, but is not sufficient to color your fractal. We also learned that the actual coloring algorithm is quiet complicated (for a beginner, and sometimes even for fractal artist), and we have a lot of controls. The controls to start are Color and Speed at a transform-basis, i.e., the more transforms, the more possibilities.

Anecdote

I have sometimes seen competitions to create "the coolest fractal by using only one transform", using the most coolest special variations/plugins (later more on this) and such. We now have learned that this is not really cool, because a flame-fractal with only one transform will be monochrome.

Previous tutorial | Next tutorial

Appendix

Params of the final sample flame

<flame smooth_gradient="0" version="JWildfire 2.34 (22.02.2015)" size="643 362" center="0.0 0.0" scale="35.18060589240908" rotate="0.0" filter="0.0" filter_kernel="GAUSSIAN" quality="100.0" background="0.0 0.0 0.0" bg_transparency="0" brightness="4.0" saturation="1.0" gamma="4.0" gamma_threshold="0.01" vibrancy="1.0" contrast="1.0" white_level="220.0" temporal_samples="1.0" cam_zoom="1.0" cam_pitch="0.0" cam_yaw="0.0" cam_persp="0.0" cam_xfocus="0.0" cam_yfocus="0.0" cam_zfocus="0.0" cam_pos_x="0.0" cam_pos_y="0.0" cam_pos_z="0.0" cam_zpos="0.0" cam_dof="0.0" cam_dof_area="0.5" cam_dof_exponent="2.0" cam_dof_shape="BUBBLE" cam_dof_scale="1.0" cam_dof_rotate="0.0" cam_dof_fade="1.0" shading_shading="FLAT" antialias_amount="0.75" antialias_radius="0.36" post_symmetry_type="NONE" post_symmetry_order="3" post_symmetry_centre_x="0.0" post_symmetry_centre_y="0.0" post_symmetry_distance="1.25" post_symmetry_rotation="6.0" frame="1" frame_count="300" mixer_mode="OFF" >
  <xform weight="0.5" color="0.58" mod_gamma="0.0" mod_gamma_speed="0.0" mod_contrast="0.0" mod_contrast_speed="0.0" mod_saturation="0.0" mod_saturation_speed="0.0" symmetry="-0.23" linear3D="1.0" coefs="-0.5508406321094882 0.04653927057861497 -0.04653927057861497 -0.5508406321094882 0.07699810071351487 -0.012833016785585932" chaos="1.0 1.0" />
  <xform weight="0.5" color="0.56" mod_gamma="0.0" mod_gamma_speed="0.0" mod_contrast="0.0" mod_contrast_speed="0.0" mod_saturation="0.0" mod_saturation_speed="0.0" symmetry="0.0" linear3D="1.0" coefs="-0.8910607914984686 -0.17870305633118666 0.17870305633118666 -0.8910607914984686 -3.3365843642523494 -1.0523073764180506" chaos="1.0 1.0" />
  <palette count="256" format="RGB" >
4B3A2F3A2B2B2B221C1C1C161111111111111111110B110B0B0B0B0B0B0B0B0B0B0B0B0B
0B0B0B0B110B1111111C11112B16113C1C164D2D1C5E36207744228D5A2DAD6532BF6A32
CB7543BA754EAF70438D603E804F3E71493372422B7A4D2B974916A0491C8A491675411A
673C2553311A4D31143C1C112D110B1A110B1111111111111111111C161127161636221C
3C2216512216512211572711682D0B8332009C3D009943058843057D320B6B33116B3311
6832116633115A3E225336205C401E604427603E2D684938774F387E513A88603E88603E
885A38755336664933643C31603C2B603E275A3E275A3E2756402956402F513A34473631
493E385C4B45774F5A82666691A2ADAFC0C5D2D8E3F3F3F3FCF6FCF6F6F1FAFAEFF6F6F1
F2C59DC97958A970608D665A86544F6B444455333E4531313627272D221C221C16221611
3616113A14203E23234933274F3827513A2F5C402F6044335C4B3A6B553E6F533C71553E
7A424D865353794C5D77495467464168493864423156402F493E2D49332738271C1C1C1C
111611111111111111161C161C272D1C354E403A344B3333643C3677444F794C4C913E4F
825549935422B338389E4916AB490BC9050BB63100993D0B994E0BA74E0596380B863205
7C160B6D1111602216532D165327114922163E1C16361C112923121C1611161111111111
0B110B0B110B0B110B1111111111111111111111111111110B0B0B0B0B0B050505050505
000500000B00000B00000B00000B00050B05050B050B1105110B0B1A0B0B22110B34110B
381C163C22223E25254B312B4236314236313C36313E332D422D27452B2B3A202F2D2227
221C1C2222162D271C342F2347362B4F333860444F774F5A95736DA4A9AFB9BFC4DEE4E9
F1F1F1FED6BAF0CE8BCB804EBA704EAD5A438D54337C4F38714F3E56514B56567686869C
A78BA2C58C87AD7F749B85688D664F9C5A43A96A32A4651C974910742D115822114D1C0B
421111240505160B00111400110B05110B000B0B0B0B0B0B0B0B0B0B0B0B050B05051105
051105050B050B0B0B110B0B</palette>
</flame>