- 1 Objective of this tutorial
- 2 Random-Flame-Generators
- 3 Generating random flames in the Main Editor
- 4 Random-Symmetry-generators
- 5 Random-Gradient-Generators
- 6 Special Random-Flame-Generators
- 7 Browsing random flames in the Interactive Renderer
- 8 Settings related to Random-Flame-Generators in the Preferences
- 9 Conclusion
- 10 Appendix
Objective of this tutorial
In this tutorial I want to introduce a whole family of random-generators which help you to generate an endless number of flames as starting point. You will see, that are not only Random-Flame-Generators, but also Random-Symmetry-Generators and Random-Color-Generators. I also want to speak about the intention about all of this, and show some not so obvious features.
Intention behind Random-Flame-Generators
Random-Flame-Generators are a nice way to
- get started at all. E.g. if you have no clue what do to and what can be done, random-flames are one possible entry to the beautiful world of flame-fractals
- just play around and relax (especially when you use the Interactive Renderer, you can see how the image is create and immediately switch to the next random flame)
- get inspired
- explore new formula-combinations
So, primarily, random-flames are thought to be educational or just fun, but they are not be intended to be artworks which you can claim as your work.
Please do not use raw randomly generated flames - tweak them instead
There are numerous fractal artist out who create fantastic fractal art. Even if the Random-Flame-Generators of JWildfire can also create visually appealing images (which someone maybe also could treat as some kind of art), it is absolutely not intended to create actual fractal art.
So, it is also not intended to render (unmodified) randomly generated flames and claim them as your work, or even worse, put your copyright sign on it.
If you want to claim as your work, you have to work on them, i. e. you have to tweak them. But, you will find out, that tweaking is can be most the fun of it, because you learn something during this process, always.
Generating random flames in the Main Editor
Each time you start the flame-fractal-editor you will see two or three randomly generated fractals depending on the version of the software you are using. I. e., the Random-Flame-Generator is fired up each time you start the application. But, you can invoke it all the time, but beware, invoking the Random-Flame-Generator in the main-editor erases all flames you were currently working on by default. (this can be changed in the Preferences, see below).
To generate a new list of random flames (the number of flames it generates can be adjusted in the Preferences, see below), just press the Random batch-button. If you see nothing visually appealing, just hit the button again, and again... etc.
Choosing a certain Random-generator
In flame-fractals, as well as in any other fractals, there are endless possibilities. This means also that there are endless possibilities to create no (visual) fractal image at all. Or endless possibilities of creating visually non-appealing images (e. g. showing only some noise). To simplify the search for "interesting shapes", in JWildfire there are numerous specialized random-generators which create random flames of a certain "style". I.e. they have the "knowledge" to create some base shape and create variations of this.
At the top of the editor window to the right of the random batch button you will see a random generator drop down menu that says All which contains all of the specialized generators. This is the default one, it internally choses each time it is invoked, a generator from the list and generates a new fractal. If you have a certain flame and want to know which generator was uses, just have a look at the title. It usually has the name of the (sub)generator as prefix
But, if you are interested in a special style, you can also restrict the generation to this style. Just select the style of your choice in the Random Generator-listbox and press the Random batch-button again.
You can combine randomly generated flames with random generated symmetry. So, there are not only Random-Flames-Generators, there are also additional algorithms, which may alter the post-symmetry of the generated random-flames.
There are the following choices:
- None: (No post-symmetry, just plain random flame)
- XAxis: generate a symmetry along the x-axis with randomly generated parameters
- YAxis: generate a symmetry along the y-axis with randomly generated parameters
- Point: generate a point-symmetry with randomly generated parameters
- All: randomly generate any symmetry with randomly generated parameters
- All (sparse): same as All, but with less probabilty, when chosen, only sometimes your flames have random post-symmetry
Choosing a certain Random-Symmetry-Generator
To generate gradients ("colors") for your fractals there are several choices, including again... random-generators, the Random-Gradient-Generators. There are currently the following choices:
- Strong hue: creates smooth gradients with strong staturated colors
- Stripes: creates gradients with many different colors at small area (looks like stripes)
- Monochrome: creates smooth monochrome (not gray) gradients
- Smooth: creates smooth gradients with smooth colors
- Two colors: creates gradients which contain of the transition of two colors
- All: choses randomly one actual generator as delegate
The default is the All-Random-Gradient-Generators
Choosing a certain Random-Gradient-Generator
You may also combine a certain Random-Gradient-Generator with your set of a Random-Flame-Generator and a Random-Symmetry-Generator,
in order to do this, you may select it from the right listbox after the Symmetry/Gradient-label:
The Color Map-generator is a Meta-Random-Flame-Generator. I.e., it uses other Random-Flame-Generators to create a base-shape and combines this with an image map. The intention is to generate a mixture of an image and an image-map. Per default, the generator uses only randomly generated images, but you may specify a drawer, where it choses your images in a randomly manner.
To specify the path see the property tinaRandGenColorMapImagePath in the Preferences.
Because this generator is very "special", may take a significant amount of memory, and it may take some time to get any interesting result, it is not included in the All-generator, i. e. you must chose it explicitely to use it. Here is an example (pure random flame, using my own library of wallpapers as input-source):
The Duality-Random-Flame-Generator is inteneded to explore new intersting combinations of formulas/variations and my be customized using the Preferences.
It basically creates a flame with transforms, a first transform with a low weight (and some variations), and a seconds transform with a very high weight (and some other variations).
This may lead to some very interesting combinations, here is an example (just linear and handkerchief, the params are provided in the Appendix):
You may change the following parameters in the Preferences:
- tinaRandGenDualityPreferedVariation: comma-separated list of the variation-names you prefer to play with
- tinaRandGenDualityPreferedVariationProbability1: probability to use one of the specified prefered variations in transform 1
- tinaRandGenDualityPreferedVariationProbability2: probability to use one of the specified prefered variations in transform 2
Browsing random flames in the Interactive Renderer
You may also generate random flames in the Interactive Renderer. But here it is more intended as "game" or a way to relax, than to actually create something.
You just watch the computer do things and enjoy. Just head out for the Next-button in order to get started.
A random fractal will be generated and rendered. If you like it, enjoy how it gets more clear, you may finally save the params or send them to the Main Editor.
If you don't like it, just press the Next-button again. And so on.
You may also choose a prefered style here:
Here is a summary of all settings related to Random-Flame-Generators, you may change in the Preferences.
- tinaRandomBatchSize: Number of randomly generated flames at each invocation of the Random batch-button
- tinaRandomBatchRefreshType: How to add to randomly generated flames to the editor. There are the following choices:
- CLEAR: clear all flames and replace by the new generated batch (This is the default)
- INSERT: insert the newly generated flames at the top of the flames-strip, i.e. keep all of the current flames
- APPEND: append the new flames at the bottom of the flames-strip, i.e. keep all of the current flames
- tinaRandomBatchBGColorRed, tinaRandomBatchBGColorGreen, tinaRandomBatchBGColorBlue: specify a background color for your random flames, defaults to black
- tinaRandGenDualityPreferedVariation: list of prefered variation names, used by the Duality-Randon-Flame-Generator
- tinaRandGenDualityPreferedVariationProbability1: probability to use one of the specified prefered variations in transform 1, used by the Duality-Randon-Flame-Generator
- tinaRandGenDualityPreferedVariationProbability2: probability to use one of the specified prefered variations in transform 2, used by the Duality-Randon-Flame-Generator
- tinaRandGenColorMapImagePath: path to images, used by the Color Map-Randon-Flame-Generator
We have learned that there a several Random-Flame-Generators (also refered as "styles") in JWildfire, and that they can be combined with Random-Symmetry-Generators and Random-Gradient-Generators. Some of those generators are somewhat special, and can be customized in the Preferences. You can not only generate random flames in the Main Editor, but also in the Interactive Renderer to enjoy them in a more playful way. There is a also somewhat of a codex to use random flames, never claim them to be your work without actually having tweaked (i. e. worked on) them.
Params of the Duality-Example-Flame
<flame name="Duality - 1170500856" smooth_gradient="0" version="JWildfire 2.40 (14.03.2015)" size="424 239" center="0.0 0.0" scale="82.26979558488263" rotate="0.0" filter="0.0" filter_kernel="GAUSSIAN" quality="25.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="37.934455950675904" color="0.74488914" 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" linear="1.0" coefs="1.0 0.0 0.0 1.0 0.9055832835889546 -0.44456674373246763" chaos="1.0 1.0" /> <xform weight="318.03442409671516" color="0.90312262" 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.95" handkerchief="1.0" coefs="0.8536367387910008 -0.023644939722906183 0.023644939722906183 0.8536367387910008 0.5110657346940026 -0.5510758968043676" chaos="1.0 1.0" /> <palette count="256" format="RGB" > 214304314805414E05515306615907715E07816408926908A26F09B2740AC27A0AD27F0B D78418DB8827DE8D36E29144E59553E99A62EC9E71F0A380F3A78EF7AB9DFAB0ACEBA6AB D696A5C1879FAC789997689382598C6D4986583A80432B7A2E1B74190C6D110668100562 0F055C0E05560E04510D044B0C04450C033F0B033A0A033409022E0A022D0B02320D0337 0E033D0F034211034712044C14045115045617055B1805601D0860290F58351750401E48 4C263F582D3764352F6F3C277B441F874C1793530E9D5B0DA16323A66B38AA744EAF7C64 B3847AB88C90BC95A6C19DBBC5A5D1CAADE7CDB4F9BEA6E3AF97CC9F89B6907BA0816D89 725F7363505C544246453430362619271803381D094B22115D2819702E20833428953A2F A84037BB453FCD4B46E0514EF35756E95951DA5B4ACA5C42BB5E3BAB5F349C612D8D6225 7D641E6E65175E670F4F690847630C425A153E511E394827353F303036392C2D4227254A 231C531E135C1A0A651A06701E077B21078725089228089E2C09A9300AB5330AC0370BCC 3A0BD73E0CE33E0DE03A0FCB3612B63114A22D168D291978251B63211D4F1C203A182225 142410152B02223A032F49043C58054968055677066386077096087DA5098AB40A97C30A A2D00BA4D20BA6D40BA8D70BAAD90BABDB0BADDD0CAFDF0CB1E10CB2E30CB4E50CB5E60C A8D2139ABD198DA9207F952772802D646C3456573A4943413B2F472E1A4E20065427054F 30064838084141093A4A0A33530B2C5B0D25640E1E6D0F177510107E120986220F8D371A 944C249B602FA27539A98944B09E4EB7B359BEC763C5DC6ECDF178CEEC75CCDA6BCAC861 C8B557C6A34CC49142C27F38C06C2EBE5A23BC4819BA360FB52B14AE2826A72539A0224C 991F5F911C718A19848316977C13A97510BC6D0DCF660BD35E0AC35509B24D08A1450790 3D077F35066E2D055D24044C1C033B14032A0F021D13041B1806191C0816200A14250B11 290D0F2D0F0C32110A3613083A14054018064E281C5C38336B484979585F87697696798C A489A3B299B9C0A9CFCFB9E6</palette> </flame>