User:Bisnieto/sandbox

JWildfire is one of the most widely used open-source and multi-platform Fractal-generating softwares, but it is also an image processing-software. It is written in Java (programming language) with a heavy focus on the creation and rendering of Fractal Flames, which were initially invented by Scott Draves.

History
A fractal has been commonly  referred to as a never-ending pattern. Fractals are a new and increasingly important form of Geometry which form infinitely complex patterns that are self-similar across different scales; they can be zoomed in and the same family of shapes can be found endlessly. Fractals can also be created by repeatedly calculating a simple equation over and over. Because the equations must be calculated thousands or millions of times, computers must be used to explore them. Not coincidentally, the Mandelbrot Set was discovered in 1980, shortly after the invention of the personal computer.

While playing with and exploring triangles, Waclaw Sierpinski (1882-1969) who was a Polish mathematician, discovered that by removing the central triangle within a triangle, he could create what is indeed another form of fractal, known today as the Sierpinski triangle, albeit, it's defined now as an attractive fixed set and there are many other Sierpinski-style fractals. His work predated Mandelbrot's discovery of fractals. In 1918, Gaston Julia (1893-1978) who was a French mathematician, published a book on the iteration of rational functions. Before computers, he had to draw the sets of functions by hand. These types of fractals are now called the Julia set. However the father of modern fractals is Benoit Mandelbrot (1924- 2010) who was a mathematics professor at Yale University. He went further in their discovery. by using a computer to explore Julia's iterated functions, and found a simpler equation that included all the Julia sets. That simpler equation, is now called the Mandelbrot set.

More recently, the Fractal flame, a member of the iterated function system class of fractals was invented. It was created by Scott Draves in 1992. Draves' open-source code was later ported into Adobe After Effects graphics software and translated into the Apophysis fractal flame editor. More recently it was also ported into JWildfire by Andreas Maschke. The inception of fractal flames has thus allowed Fractal artists everywhere to be able to create, manipulate and modify a class of fractals never possible before, from the comfort of their own personal computers.

There is since, an ever growing community of fractal artists present at online sites and social media -both non-commercial and commercial- such as Fractal Forums, deviantArt , Redbubble , FineArt America , Flickr , Facebook , Google+ and many more.

With the needs of the aforementioned Fractal Community in mind, the Free and Open Source JWildfire project was started in 2011 and it has now reached its 2.00 release. Fractal Artists now have at their disposal a feature-rich and user-friendly piece of free software that lets them take their creativity to new realms while also empowering them to make money with their art, without incurring in the purchase of expensive software suites. In addition to its powerful Fractal Flames creation, edition and rendering abilities -extended to 3D Mesh solid objects creation-, Fractal Flames animation and synchronization to any mp3 track, JWildfire can also be used -and was originally conceived- as a more general image processing software. It is also the natural successor of a commercial image processing software, created by the same author, called Wildfire7\PPC for the Amiga platform, a family of computers that provided multimedia capabilities which still is considered to have been ahead of its time. The Amiga series was introduced in 1985 and produced into the mid 1990's.

By developing it in Java (programming language), Jwildfire has been able to circumvent limitations of previous fractal programs, which make it a true cross-platform, highly intuitive program that anyone with a computer, even a tablet or a mobile phone can use to explore their creativity, regardless of their level of proficiency.

Image processing core

 * MDI-interface for handling several images, including HDR-images
 * image composition (layers, also for HDR images)
 * common 2D-effects for image processing
 * some special 3D-effects for image processing (such as wave3D, water, twirl3d, …)
 * 3D-effect-superimposition, e. g. wave3D interference
 * image generators (perlin noise, cloud generator, plasma, classic fractals, …)
 * motion-curves
 * scripting and batch-processing

Flame fractal editor

 * focuses on 3D-flames
 * advanced [3D]-camera-controls
 * depth-of-field with easy-to-use bokeh-effects
 * Stereo 3D-rendering
 * about 350 integrated variations
 * integrated Java compiler to create own variation on-the-fly
 * support for background transparency (alpha-channel)
 * antialiasing
 * special shading-options as addition the flame-algorithm:
 * Pseudo3D-shading to simulate external light-sources
 * Blur-shading to create liquid-like-effects
 * Distance-Shading to create very interesting coloring-effects
 * gradient-management
 * gradient-library
 * several gradient-generators
 * gradient-editor
 * gradient-changing-options
 * motion curves for the most of the flame-parameters
 * two animation-modules
 * support for sound-synchronized motion
 * post-symmetry as addition to the flame-algorithm
 * motion-blur for flame-animations
 * Merging multiple flames into one, but on iterator- not on image-basis ("Layerz")
 * channel-mixing (preprocessing raw color-values before mapping into final RGB-values)

3D-object-generation and -rendering
JWildfire contains the sunflow-renderer to render 3D-scenes. The module to create such scenes is currently under construction.

Additions to the original Flame-algorithm

 * supports the "3D-Hack" created by Peter Sdobnov
 * additional "Shaders" (algorithms who alternate the color or position before finally applying the samples to the raster)
 * Stereo-3D-rendering (several modes)
 * Post-Symmetry (point- or axis-symmetry)
 * Color-Curves (applying color-changes to the raw color-data)
 * Motion-curves and motion-blur

Generating meshes from flame-fractals
The software also allows to generate meshes from flames. It uses a special renderer to produce slices and creates a 3D-mesh using an implementation of the Marching_cubes-algorithm