Fractals

with Blender
and Python

Fractals

with Blender
and Python

Fractals, especially the Mandelbrot set, have always fascinated me. While reading books and papers about chaos theory, I encountered a detailed explanation of how the Mandelbrot set is calculated. Since I had never learned about complex numbers in school, I didn’t understand much of it. But this didn’t stop me. I put the chaos theory books aside, opened my old mathematics textbooks, and taught myself the missing concepts. Naturally, this led me to the chapter on complex numbers and back to the Mandelbrot set. This time I understood enough to feel confident to try calculating and rendering it on a computer. Since I didn’t own a PC at the time, I used my Nintendo Switch and Fuze4, a beginner-friendly coding environment with syntax inspired by BASIC.

When I finally rendered my first Mandelbrot set, it felt like magic, and my fascination for generative art and algorithms was born.

Fractals, especially the Mandelbrot set, have always fascinated me. While reading books and papers about chaos theory, I encountered a detailed explanation of how the Mandelbrot set is calculated. Since I had never learned about complex numbers in school, I didn’t understand much of it. But this didn’t stop me. I put the chaos theory books aside, opened my old mathematics textbooks, and taught myself the missing concepts. Naturally, this led me to the chapter on complex numbers and back to the Mandelbrot set. This time I understood enough to feel confident to try calculating and rendering it on a computer. Since I didn’t own a PC at the time, I used my Nintendo Switch and Fuze4, a beginner-friendly coding environment with syntax inspired by BASIC.

When I finally rendered my first Mandelbrot set, it felt like magic, and my fascination for generative art and algorithms was born.

I began experimenting by mapping the number of iterations not to colors, but to the Y-axis of the screen, producing my first orthographic 3D Mandelbrot set. Due to performance limitations of the portable console and restricted engine, I eventually built a high-performance computer to continue my experiments.

I translated my renderer into Python, but quickly realized that Python’s interpreted nature made it too slow for the heavy calculations involved. I then moved on to Blender, where I used volumetrics and shader nodes to render not only Mandelbrots but also Mandelbulbs, the 3D counterpart. By experimenting with small changes in formulas and parameters, I discovered countless unique shapes, patterns and textures I had never seen before. While Blender’s raytraced volumetrics were slow, the results were strikingly detailed.

For even more efficiency, I tried specialized software such as Mandelbulber and Mandelbulb3D, which use distance-estimation raymarching to render 3D fractals much faster. However, I never managed to integrate my own modified formulas into these tools, so my most unique shapes remained Blender experiments.

Today I use Mandelbulbs as inspiration for other designs, as wallpapers, or as animated elements in my live visuals. I also developed a personal habit: whenever I encounter a new generative software, I try to recreate a Mandelbrot set in it. So far i rendered Mandelbrot sets with Grasshopper in Rhino3D, Unreal Engine’s Niagara systems, or using HLSL scripts for material shaders.

Projects

Create a free website with Framer, the website builder loved by startups, designers and agencies.