Fact-checked by Grok 2 weeks ago

Fractal flame

Fractal flames are a class of two-dimensional images generated by an (IFS) algorithm that produces intricate, organic patterns resembling flames through the application of multiple weighted, non-linear transformations to points in the plane. First implemented by Scott Draves in 1991 and publicly released in 1992, the algorithm extends traditional IFS methods by incorporating variations such as sinusoidal and spherical distortions, logarithmic density display for enhanced contrast, and structural coloring that assigns hues based on the originating transformation, resulting in vibrant, chaotic attractors plotted via a process. The fractal flame algorithm originated from early explorations in IFS at Brown University in 1987, with Draves implementing the first complete version in 1991 during his time at NTT-Data in Tokyo, and releasing it as open-source software under the GPL license in 1992, making it one of the earliest examples of open-source digital art tools. This software, known as flam3, allows users to define parameters for up to dozens of transformations, each with affine coefficients, weights, and post-transform effects like symmetry or blurring, enabling the creation of highly detailed images and animations through histogram accumulation and density estimation. Over time, the algorithm has been ported to numerous programming languages and integrated into creative tools like Apophysis, fostering a community of artists who "evolve" flames via genetic algorithms. Fractal flames gained significant recognition through their application in the Electric Sheep project, a launched by Draves in 1999, where users collectively evolve and render flame animations across networked computers, amassing millions of "sheep" (individual flames) and distributing them as dynamic visuals. The project won the VIDA 4.0 Prize in 2001 for its innovative blend of computational art and , highlighting the aesthetic and evolutionary potential of the algorithm. Subsequent developments, including GPU-accelerated rendering and integrations for parameter optimization, continue to expand the technique's use in , scientific visualization, and .

Overview

Definition

Fractal flames are a type of (IFS) characterized by smooth, organic shapes and intricate details achieved through the nonlinear blending of multiple transformations. Unlike traditional linear IFS fractals, such as the , which produce discrete, fern-like structures via affine mappings, fractal flames incorporate nonlinear variations—such as sinusoidal or spherical distortions—applied to these transformations, resulting in fluid, flame-like wisps that evoke natural forms like fire or . This approach allows for zoomability, where finer details emerge at any due to the self-similar nature of the underlying IFS. A defining visual trait of fractal flames is their structural coloring, which assigns hues based on the geometric origin of each point (i.e., which generated it) rather than the iteration count, creating vibrant, layered palettes that highlight the fractal's . This contrasts with standard IFS rendering, where coloring often relies on iteration depth, leading to more uniform or banded appearances. The emphasis on aesthetic density mapping further distinguishes fractal flames, enabling high-contrast images with effects that simulate dynamic flow, prioritizing artistic output over purely mathematical representation. At a high level, fractal flames are generated by iteratively applying a set of randomly selected transformations to initial points in the plane, accumulating pixel density across billions of iterations to form the image. This process, rooted in the , builds a that is then rendered using log-density techniques to enhance contrast and reveal subtle structures. Invented by Scott Draves in 1992, fractal flames represent an evolution in , blending computational chaos with visual elegance.

History

The origins of fractal flames trace back to 1987, when Scott Draves explored systems (IFS) at , inspired by Bill Poirier's "Recursive Pictures." Fractal flames were invented by Scott Draves during a 1991 summer internship at NTT-Data in , where he developed the core algorithm as an extension of iterated function systems (IFS) to produce visually striking, artistic images through non-linear transformations and density mapping. This innovation built on earlier IFS concepts introduced in the 1980s, but Draves' approach emphasized aesthetic rendering with features like log-density display and structural coloring for vibrant, flame-like patterns. The algorithm was first implemented in software written that year, marking a shift toward computationally generated art that prioritized beauty over strict geometric fractals. In 1992, Draves released the fractal flame software as open-source under the GPL license, making it one of the earliest examples of freely available code and enabling community contributions. This release included the foundational implementation, later formalized as the flam3 library, which provided tools for rendering still images and animations. Early adoptions in the late 1990s included ports to professional software, such as , allowing artists to integrate fractal flames into workflows. The algorithm's evolution accelerated in the early 2000s through collaborative enhancements, including the 1999 debut of Electric Sheep, Draves' distributed project that leveraged networked computers for evolving and rendering fractal flame animations, fostering a for generation. In 2004, Mark Townsend launched Apophysis, a user-friendly Windows-based editor that translated Draves' code into Pascal and added an interactive graphical interface for designing flames, significantly lowering the barrier to entry for non-programmers. By 2006, features like final transforms were incorporated via community efforts, including contributions from Peter Sdobnov to Apophysis. Development continued into the and beyond, with tools like JWildfire—a Java-based fractal flame editor—emerging around 2013 and remaining actively developed as of 2025, supporting advanced variations and GPU acceleration. Recent innovations include approaches for learning fractal flame parameters from images, such as differentiable rendering methods published in 2024, expanding applications in and scientific visualization. The flam3 library continues to underpin implementations in tools like and Photoshop plugins, sustaining fractal flames' role in .

Mathematical Basis

Iterated Function Systems

Iterated function systems (IFS) provide a mathematical framework for generating as the s of contractive mappings on a . An IFS consists of a of contractive functions \{f_1, \dots, f_n\} applied iteratively to points in the space, with the resulting A being the unique compact set satisfying A = \bigcup_{i=1}^n f_i(A) under appropriate conditions. This captures the self-similar structure of the , emerging from repeated applications of the functions starting from an arbitrary initial set. The core operator in IFS theory, known as the Hutchinson operator, formalizes this fixed-point property. For an IFS \{f_1, \dots, f_n\} with associated probabilities \{p_1, \dots, p_n\} where \sum p_i = 1 and p_i > 0, the operator \mathcal{L} acts on compact subsets B of the space as \mathcal{L}(B) = \bigcup_{i=1}^n f_i(B). The probabilities weight the invariant measure on the attractor rather than the set operator itself. The attractor A is the fixed point of \mathcal{L}, satisfying A = \mathcal{L}(A), and the Banach fixed-point theorem guarantees its existence and uniqueness in complete metric spaces when the functions are sufficiently contractive. Contractivity is essential for the convergence to a unique ; each function f_i must satisfy a condition with constant k_i < 1, ensuring the overall has a factor s = \max k_i < 1. In the context of flames, this is achieved through affine transformations, which are inherently contractive when the scaling factors have absolute values less than 1, allowing the IFS to produce bounded, self-similar structures, though flames incorporate nonlinear variations that may not be strictly contractive individually, the overall is designed to be contractive on average. To approximate the , points are generated via probability-weighted iteration, often called the chaos algorithm. Starting from a random initial point in the space, a f_i is selected with probability p_i and applied iteratively; the sequence of points converges to the attractor under the contractivity condition. This densely fills the support, providing an efficient method for visualization. Fractal flames adapt this IFS foundation by employing similar iterative processes with affine transformations but extend the approach through density accumulation and nonlinear color blending to create smooth, flame-like images rather than sparse point clouds.

Transformations and Blending

In fractal flames, the core transformations extend the affine mappings of standard iterated function systems by incorporating nonlinear variations and weighted blending to produce intricate, organic forms. Each transformation f_i begins with an affine component defined as f_i(x) = A_i x + b_i, where x = (x, y) is a point in the , A_i is a 2×2 with coefficients a_i, b_i, d_i, e_i controlling , , and , and b_i = (c_i, f_i) is the . This affine step ensures the contractivity required for in the underlying IFS . Nonlinear variations V_k are then applied to enhance visual complexity, typically after the affine mapping but with options for pre- or post-variations in advanced implementations. Examples include polar coordinates, which map to radial and angular components; spherical inversion, which inverts points relative to a ; and swirl, which distorts based on . These variations are blended within each transformation f_i using a formula f_i(p) = \sum_{k=1}^m v_{ik} V_k(A_i p + b_i), where v_{ik} are blending coefficients for variations selected from a library of 49, and the coefficients sum to 1 to preserve . An optional post-affine transformation P_i, another linear mapping with coefficients \alpha_i, \beta_i, \gamma_i, \delta_i, \epsilon_i, \zeta_i, can follow to refine the output. This blending of multiple variations per transformation simulates effects by creating smooth interpolations between distorted paths. Color mapping is integrated directly into the transformations, with each f_i assigned a color index c_i in [0,1]. During , the accumulated color evolves as c \leftarrow (c + c_i)/2 upon applying f_i, and a final adjustment c_f \leftarrow (c + c_{\text{final}})/2 incorporates post-transform color c_{\text{final}}. The resulting color for a is a weighted derived from the contributions of transformations to the local , mapped via a user-defined palette from [0,1] to RGB values. Weights w_i govern the probabilistic selection of transformations during point iteration, normalized such that \sum_i w_i = [1](/page/1) to ensure consistent sampling distribution. These weights can be set according to constraints, where a symmetry transform's weight equals the sum of related weights, to produce balanced effects.

Generation Algorithm

Point Iteration and Histogram

The point iteration process in the fractal flame algorithm initializes with a random starting point (x, y) within the bi-unit square, where x, y \in [-1, 1], and a random c \in [0, 1]. This initial point ensures the chaos game begins in a bounded region conducive to toward the . The first 15 to 20 s are typically discarded as a warm-up to allow the point to stabilize on the , avoiding artifacts from the arbitrary starting position. The core iteration loop runs for a large number of samples, determined by a quality parameter that specifies samples per output pixel, often resulting in $10^6 to $10^8 total iterations for standard renders (e.g., 9.2 million samples for a 900×900 image). In each iteration, a transformation index i (from 0 to n-1, where n is the number of transformations) is selected randomly with probability p_i = w_i / \sum_j w_j, where w_i is the weight assigned to the i-th transformation F_i. The current point is then transformed by F_i to yield a new (x, y), and the color index is updated via blending: c = (c + c_i)/2, where c_i is the base color index of F_i. A final camera transformation F_\text{final} is applied to map the point to screen coordinates (x_f, y_f), with the color further blended as c_f = (c + c_\text{final})/2. Only points within image bounds are considered; those outside are clipped and discarded to maintain focus on the visible fractal structure. These transformed points accumulate in a density histogram, a 2D array sized to the desired (width × height), where each corresponds to a and stores the hit count () along with summed color vectors for , , and blue channels. For , the histogram is expanded to a finer (e.g., 3×3 sub-pixels per output ). Binning occurs by scaling the normalized (x_f, y_f) to indices—typically via \text{[bin](/page/Bin)}_x = \lfloor (x_f + 1) \cdot (\text{width}/2) \rfloor, \text{[bin](/page/Bin)}_y = \lfloor (1 - y_f) \cdot (\text{height}/2) \rfloor (accounting for y-axis flip)—and incrementing the density counter while adding the blended color c_f (mapped to RGB) to the respective sums in that . To enhance and reduce , an factor (e.g., 4× to 16×) is applied by generating additional samples per or using a supersampled histogram (e.g., 3×3 subpixels per output , increasing computational cost by 9×). Weight handling in the probability selection allows fine control over the fractal's appearance; for instance, equal weights promote balanced contributions from all transformations, while higher weights on specific F_i emphasize particular features or symmetries.

Image Rendering

Once the histogram has been accumulated from the point iterations, the image rendering process transforms this density data into a visual output by normalizing densities, applying perceptual adjustments, assigning colors, and handling anti-aliasing through supersampling. Density normalization begins by computing the density for each sub-pixel bin in the (possibly supersampled) histogram, defined as d = \alpha, where \alpha is the number of samples accumulated in the sub-bin. To achieve an infinite dynamic range and preserve details across varying densities, the density is scaled logarithmically: d_{\text{scaled}} = \frac{\log(d + 1)}{\log(d_{\text{max}} + 1)}, where d_{\text{max}} is the maximum density observed across all sub-bins. This log-density mapping, a key innovation in the fractal flame algorithm, ensures that subtle variations in sparse regions are visible without washing out dense areas, effectively compressing the power-law distribution of sample densities. For output pixels, the scaled densities from sub-bins are averaged after processing. Following , is applied to the scaled density to enhance perceptual uniformity and brightness on displays, particularly for the non-linear response of CRTs and modern screens. The corrected value is computed as \text{pixel\_value} = (d_{\text{scaled}})^{\gamma}, where \gamma is typically set between 0.3 and 0.5 to brighten the and emphasize fine structures, equivalent to applying an gamma of approximately 2.2 to 3.3. This step is performed after logarithmic scaling but before final output, maximizing precision, and can be modulated by a vibrancy to balance color . For supersampled s, gamma is applied per sub-bin before averaging. Color assignment integrates structural information from the transformations into the rendering. For each sub-bin, the average color components are calculated as \text{color} = \left( \frac{\sum r}{\alpha}, \frac{\sum g}{\alpha}, \frac{\sum b}{\alpha} \right), where \sum r, \sum g, \sum b are the accumulated color contributions from the palette indices of the transformations that landed in the sub-bin, and \alpha is the total samples in that sub-bin. These averages are then modulated by the scaled d_{\text{scaled}} to determine the final RGB values per sub-bin, blending the structural coloring with for a cohesive flame-like appearance. For the output , the post-processed sub-bin values (density-scaled colors after gamma) are averaged. To mitigate aliasing artifacts, supersampling is employed by maintaining separate histogram bins for sub-pixels within each output pixel, such as a 2x2 or 4x4 grid. The densities and colors from these sub-bins are processed individually (log scaling, gamma, modulation) and then averaged to form the output pixel, effectively applying anti-aliasing without requiring additional iterations. A dynamic filter may further refine this by applying a blur kernel whose width is inversely proportional to the local density, sharpening sparse regions while smoothing dense ones. The final rendered image is typically output in high-resolution formats like to preserve the 8- or 16-bit-per-channel depth, with an optional alpha channel for . For animations, can be simulated through temporal blending of consecutive frames, averaging densities across time to create smooth transitions between flame evolutions.

Density Estimation Techniques

Adaptive Filtering

In fractal flame rendering, Poisson noise arises in sparse histogram bins due to the stochastic nature of point sampling, leading to high variance in low-density regions where few iterations fall. This noise manifests as grainy artifacts that degrade image quality, particularly in areas with complex flame structures. The solution employs local techniques to smooth these regions adaptively, increasing the filter width in undersampled areas while keeping it narrow in densely sampled ones, thereby balancing with detail preservation. The FLAM3 implementation uses a filter width inversely proportional to the local sample density, adapting the kernel based on the number of samples in each region. This approach draws from principles used in general rendering, ensuring that the filter adapts progressively as more samples are accumulated during rendering. Building on the histogram densities from the rendering process, the method applies this adaptive kernel to refine the logarithmic density map. Gaussian filtering forms the core of this process, where the density histogram is convolved with a Gaussian kernel of width , computing a weighted of values from neighboring bins to produce a smoothed estimate. The Gaussian kernel is defined as K(x, y) = \frac{1}{2\pi \sigma^2} \exp\left(-\frac{x^2 + y^2}{2\sigma^2}\right), applied separably for efficiency. This effectively interpolates across sparse bins, reducing variance while preserving the overall energy of the field. For color handling, the same adaptive kernel is applied to the accumulated color sums (weighted by sample contributions) before normalization to the density, ensuring consistent smoothing across RGB channels without introducing color shifts. To preserve sharp boundaries in flame structures, such as tendrils or edges, a bilateral ing variant of the adaptive Gaussian can be employed, incorporating a based on or color similarity to avoid blurring across discontinuities. This modification weights neighboring contributions not only by spatial proximity but also by photometric similarity, maintaining structural integrity in high-contrast areas. Implementations exploring accelerated fractal rendering have demonstrated the efficacy of this variant in reducing artifacts while enhancing edge definition.

Noise Reduction Methods

In fractal flame rendering, noise arises primarily from the stochastic nature of the Monte Carlo-based point iteration , particularly in regions with low sample density, leading to visible artifacts like spackle or speckles. Beyond the primary adaptive filtering approach, several complementary techniques address this by applying global constraints, improving sampling efficiency, or refining the output through additional stages. Global thresholding provides a straightforward method to suppress noise by discarding or clamping low-density histogram bins that contribute to artifacts. In implementations such as FLAM3, this is achieved via a gamma_threshold parameter, which controls the darkening of low-intensity areas and removes spackle noise by setting a cutoff below which pixel values are treated as zero or interpolated from neighbors; typical values range from 0.01 (default) to higher thresholds for more aggressive artifact elimination. This technique ensures cleaner low-density regions without local density estimation, though it risks introducing banding if the threshold is too high. Monte Carlo variance reduction techniques mitigate noise by optimizing the distribution of iterated points during the chaos game simulation. , for instance, divides the parameter space into uniform and samples one point per , ensuring even coverage and reducing variance in sparse areas compared to pure random sampling; this can lower noise levels in low-density zones for the same number of iterations. Such methods are particularly effective in fractal flames, where the iterated function systems produce highly variable densities, and they complement adaptive filtering by addressing variance at the sampling stage rather than post-hoc. Post-processing steps further refine the rendered image after histogram accumulation and initial filtering. Common approaches include applying Gaussian or bilateral filters to suppress isolated speckles in the final output, which average or weight values from a small neighborhood while preserving edges; alternatively, filtering exploits geometric patterns to reduce irregular noise without significant blurring. These techniques are applied to the log-density scaled image and are useful for handling residual artifacts after core rendering. Multi-pass rendering enhances quality by accumulating multiple lower-resolution histograms before applying a final . This involves rendering several coarse passes at lower resolutions with variance to identify noisy regions, then combining them into a higher-resolution composite; for example, multiple passes using linear and logarithmic buffers approximate higher resolution renders with reduced variance, using techniques like deferred writeback to manage memory efficiently. Such strategies allow progressive refinement, integrating well with adaptive filtering for the final upscale. Despite their effectiveness, these methods involve trade-offs between image quality and computational cost. Global thresholding and post-processing can oversimplify details or introduce blurring in fine structures, while and multi-pass approaches demand more iterations for comparable noise levels, extending render times significantly; higher (e.g., 10-100 million points per frame) ultimately reduces reliance on intensive filtering but scales poorly for high resolutions.

Implementations and Applications

Software Tools

The Flam3 library, developed by Scott Draves as an open-source C implementation in 1992, provides the foundational tools for rendering fractal flames, including support for XML-based .flam3 files that define flame parameters for generating images and animations. This library serves as the core engine for many subsequent tools, enabling programmatic access to the algorithm's key functions like point iteration and density estimation without requiring a graphical interface. Apophysis, a free open-source application released in the 2000s primarily for Windows, offers an interactive graphical editor for designing and rendering fractal flames, with built-in features for multiple flames and genetic mutations to evolve parameters iteratively. Developed in , it emphasizes ease of use for artists, allowing real-time previews and adjustments to transformations and color palettes. JWildfire, a Java-based open-source successor to Apophysis created by Andreas Maschke in the , extends fractal flame creation to cross-platform environments with advanced scripting, over 300 transformation variations, and GPU-accelerated rendering options for high-performance output. Its modular design supports 3D effects and image post-processing, making it suitable for both beginners and advanced users seeking complex compositions. Recent updates as of 2024 include version 8.50 with enhanced scripting and integrations for parameter optimization. Chaotica, a commercial application for macOS and developed in the , specializes in high-fidelity fractal flame rendering through ray-tracing , producing noise-free, photorealistic results optimized for professional artwork and export. It includes intuitive editing tools, animation capabilities, and compatibility with .flam3 files, bridging accessibility for novices with precision for experts. Fractal flames integrate into broader creative workflows via plugins, such as the built-in Flame filter in for generating random cosmic patterns directly within the image editor. In 3D software like , add-ons such as IgniteFX Flame Generator enable procedural flame effects using geometry nodes and shaders for enhanced visualization. Online generators provide web-based access to fractal flame creation, exemplified by browser tools like the Flame fractal generator at qali.net, which implements core rendering for instant previews and downloads, and GitHub-hosted editors like Fractal-Inferno for parameter tweaking without local installation. Additional GPU-accelerated options, such as Fractron 9000 for Windows, support real-time rendering using and as of the .

Notable Uses

Fractal flames gained significant recognition through the Electric Sheep project, a distributed launched by Scott Draves in , which utilizes to animate and evolve these fractals into collaborative artwork known as "sheep." Participants' computers render frames of morphing animations, while user votes influence a to breed aesthetically pleasing variants from existing ones, creating a dynamic, community-curated collection of evolving art. By leveraging global idle processing power, the project has produced millions of individual sheep animations across hundreds of generations, fostering an ongoing collective creative process. In the realm of digital and , fractal flames have been prominently featured in exhibitions since the early 2000s, including Scott Draves' Dreams in series, which showcased high-resolution animations at events to demonstrate their potential in abstract visual expression. These works highlight the algorithm's ability to generate intricate, organic patterns reminiscent of natural phenomena, influencing the broader movement. Artists have employed fractal flames in online galleries and creative software ecosystems, such as those built around tools like Apophysis, to experiment with parameter variations and share evolved designs. Commercially, fractal flames serve as stock imagery for , backgrounds, and , available through specialized libraries that emphasize their vibrant, self-similar structures for applications in and . They have also appeared on album covers for electronic music releases, where their psychedelic, fluid forms enhance thematic elements of immersion and abstraction in genres like ambient and . Furthermore, pre-rendered and real-time fractal flame loops are integrated into VJ software for live performances, enabling synchronized visuals that respond to audio cues and captivate audiences at events and installations.

References

  1. [1]
    [PDF] The Fractal Flame Algorithm - FLAM3
    The Fractal Flame algorithm is an IFS that creates images by plotting a chaotic attractor, using non-linear functions, log-density display, and structural ...
  2. [2]
    Flames are algorithmically - Scott Draves - Software Artist
    Flames are algorithmically generated images and animations based on software written by Scott Draves in 1992. The software, believed to be the first open-source ...
  3. [3]
    [PDF] The Electric Sheep Screen-Saver: A Case Study in Aesthetic Evolution
    Electric Sheep is a distributed screen-saver for animating and evolving fractal flames, ... Scott Draves: The Electric Sheep web site at http://electricsheep.org.
  4. [4]
    FLAM3
    Flames are algorithmically generated images and animations. The software was originally written in 1992 and released as open source, aka free software.Missing: library 2000
  5. [5]
  6. [6]
    Electric Sheep - Scott Draves - Software Artist
    First created in 1999 by Scott Draves, the Electric Sheep is a form of artificial life, which is to say it is software that recreates the biological phenomena ...
  7. [7]
    Iterated function systems and the global construction of fractals
    Iterated function systems (if ss) are introduced as a unified way of generating a broad class of fractals. These fractals are often attractors for if ss.
  8. [8]
    [PDF] High Performance Iterated Function Systems
    Fractal Flames is an algorithm to create fractal images based on Iterated Function Systems. (IFS) with a finite set of functions. The algorithm uses the Chaos ...
  9. [9]
    (PDF) Adaptive Filtering for Progressive Monte Carlo Image Rendering
    Image filtering is often applied as a post-process to Monte Carlo generated pictures, in order to reduce noise. In this paper we present an algorithm based ...Missing: WSCG | Show results with:WSCG
  10. [10]
    [PDF] Accelerated rendering of fractal flames - UCF ECE
    Dec 7, 2011 · fractal flame applies multiple transformations. ese transformations ... With motion blur enabled, this does more than simply break the ...
  11. [11]
    Google Code Archive - Google Code
    flam3 - GammaThreshold.wiki. You can set a parameter gamma_threshold to control how much darkening and spackle removal to apply. The default is 0.01 but you ...
  12. [12]
    scottdraves/flam3: the original fractal flame renderer and ... - GitHub
    This is free software to render fractal flames as described on http://flam3.com. Flam3-animate makes animations, and flam3-render makes still images.<|control11|><|separator|>
  13. [13]
    Apophysis download | SourceForge.net
    Rating 4.8 (46) · Free · WindowsApophysis is a windows application made in delphi for creating, editing and rendering fractal flames. Fractal flame is an extension on the IFS fractal.
  14. [14]
    JWildfire
    JWildfire is a free, user-friendly image-processing software, known for its flame-fractal-generator. It is Java-based, open-source, and runs on major platforms.
  15. [15]
    The Official JWildfire Blog – Flame Fractals and more
    Dec 25, 2023 · JWildfire 8.00 is now available at Steam and the offical JWildfire site (the App Store version will come later). The rendering of solid flame ...Missing: software | Show results with:software
  16. [16]
    Chaotica Fractals
    Chaotica is a next-generation fractal art application, designed for both novices and professional artists.Download · Manual · Image gallery · Chaotica 2 ReleaseMissing: flame | Show results with:flame
  17. [17]
    14.2. Flame - GIMP Documentation
    With the Flame filter, you can create stunning, randomly generated fractal patterns. You can't control the fractals as you can with the IFS Fractal filter.Missing: Blender | Show results with:Blender
  18. [18]
  19. [19]
    Flame fractal generator - qali.net
    Flame fractal generator based on code from Playing With Chaos (Keith Peters) and The Fractal Flame Algorithm (Scott Draves, Eric Reckase)
  20. [20]
    tariqksoliman/Fractal-Inferno: An Online Fractal Flame Generator.
    An online fractal flame editor as detailed in the flam3 paper. Live Demo! What's Missing: Some variance functions; Density Estimation; Options to change ...
  21. [21]
    Fractal Flame | Stock Image - Science Source
    Fractal Flame stock photo. Fractal flames are a member of the iterated function system class of fractals created by Scott Draves in 1992.
  22. [22]
    100 Best Electronic Music Album Covers | Insomniac
    Aug 18, 2015 · 100 Best Electronic Music Album Covers. This gorgeous fractal couldn't more perfectly herald the ...
  23. [23]
    Fractals VJ Loops, visuals, videos, backgrounds
    Fractals Full HD and 4K VJ Loops for Visual Artists, Stage Visuals and Video Mixing. Fractals Video Vj Loops is compatible with all VJ Software such as Resolume ...