Nodes/DJZ-Nodes/Fractal Art Generator
ComfyUI Node

Fractal Art Generator

The lean Mandelbrot node — fractal art with zero fluff

By MushroomFleet·Created 2 years ago·Updated 5 months ago· 78
Fractal Art Generator
    • IMAGE
    width1024
    height1024
    max_iterations500
    presetClassic Mandelbrot
    zoom_level1.0
    x_center-0.7500
    y_center0.0000

    Before the color palettes and the power sliders, there was just the fractal. FractalGenerator is the original escape-time renderer in DJZ-Nodes - five fractal families, a zoom control, and nothing else. It outputs the classic white-on-grey Mandelbrot look you grew up on, which turns out to be exactly what some workflows want: a clean, high-contrast fractal you can use as a texture source, a mask, or a starting point for img2img, without fighting a color wheel.

    How it works

    Same core as V2: it vectorizes the complex plane with numpy, iterates z = z² + c per pixel until escape or max iterations, and colors by iteration count. The presets each change the equation or the starting point:

    • Classic Mandelbrot - the full set, centered with get_preset_coordinates setting the camera.
    • Julia Set - iterates z from the pixel with a fixed c = -0.4 + 0.6j. Different starting rule, completely different shapes.
    • Burning Ship - uses absolute values so the set has that jagged "ship" hull at the bottom.
    • Tricorn - conjugates the value each step, giving the threefold-symmetric spikes.
    • Newton - not an escape-time fractal at all; it colors pixels by which cube root of unity they converge to, producing those smooth colored basins. The source special-cases it with a root-finding loop.

    The zoom_level multiplies a per-preset base zoom, so zoom 1 already shows a full classic Mandelbrot - and drifting x_center / y_center (optional, default -0.75, 0.0) lets you explore. width / height go up to 4096.

    The inputs

    Six total: width, height, max_iterations (50-2000), preset, zoom_level, plus optional x_center/y_center. That's the whole thing - V2's color controls (color_preset, power, escape_radius, color_cycles, smooth_coloring) don't exist here. Output is one IMAGE tensor, grey-scale, ready to wire anywhere.

    Installing

    Standard DJZ-Nodes install - the pack by Drift Johnson (MushroomFleet):

    cd ComfyUI/custom_nodes
    git clone https://github.com/MushroomFleet/DJZ-Nodes
    cd DJZ-Nodes
    pip install -r requirements.txt
    

    Or search "DJZ-Nodes" in ComfyUI Manager. Needs numpy + PIL, both covered by the pack's requirements.

    V1 or V2?

    This is a genuine fork in the road. V2 adds eight color palettes and escape-radius/power controls - clearly "more." But V1's grey-scale output is honestly better for some jobs: a neutral fractal works as an LDR/HDR-style texture, a mask, or a base for a style transfer pass without color bias. And it renders leaner. My take: if you want art, use V2; if you want a source image to process, V1's clean grey output is the one. Newton is the sleeper pick on both - it's the least "fractal postcard" and the most painterly.

    One thing to know: both versions compute in numpy and the deep-zoom areas can take a noticeable few seconds at 4K with high max_iterations. That's the escape iterations, not a bug.

    CategoryDJZ-Nodes

    Inputs (7)

    NameTypeDefaultDescription
    widthINT102464–4096
    heightINT102464–4096
    max_iterationsINT50050–2000
    presetCOMBOClassic Mandelbrot6 options: Custom, Classic Mandelbrot, Julia Set, Burning Ship, Tricorn, Newton
    zoom_levelFLOAT1.00.1–100
    x_centeroptFLOAT-0.7500-2–2
    y_centeroptFLOAT0.0000-2–2

    Outputs (1)

    NameTypeDescription
    IMAGEIMAGE