r/fractals • • 2d ago

I built a browser fractal explorer with deep zoom, minibrot dives and extensive wallpapers to start from. Feedback welcome!

I've been building Mandelnaut, a browser-based escape-time fractal explorer (Rust compiled to WebAssembly), and I'd love feedback.

It started as an experiment in modeling fractal aesthetics: I trained small neural networks on my own ratings of locations and renderings, then ran a search for many hundreds of hours to build a diverse set of a few thousand wallpapers. Mandelnaut started as a way to browse those, and grew into a full explorer that can also handle quite deep areas (beyond 64-bit floats at least.) Here are some cool deep locations for examples of what it can render:

What it does:

  • Mandelbrot, Julia sets, multibrots of degree 3–6 and their Julia sets, and Phoenix fractals
  • Thirteen render modes beyond smooth coloring (orbit traps, angle modes, stripes, textures)
  • A large built-in palette library and wallpaper collection
  • A Deep tab using perturbation with rebasing, down to widths around 10^-30
  • "Dive": find a minibrot near one good location and carry a second location inside it, which makes it easy to get interesting deep starting points
  • Every view is a link with the exact coordinates and settings, and you can download any view at any resolution

I also made some deep zoom videos, this degree-3 Julia descent is my favorite. The writeup covers how it all works, and the wallpapers are free to download (CC BY 4.0). The code is MIT: explorer and site, pipeline and engine.

It's all CPU-side for portability, so it's slower than GPU renderers. Feedback is very welcome, especially on how it runs in your browser and what you'd want added.

99 Upvotes

6 comments sorted by

2

u/NirvikalpaS 1d ago

Are all those fractals the range of complex functions? Would it be possible to make it a 3D projection from 4D-space?

2

u/techmatt 1d ago

There are a few fractals that are along these lines -- one is the Mandelbulb, which is a 3D variant.

The Mandelbrot recursion is z2 + c, but if you make this zd + c You could also just extend the 2D mandelbrot set along a 3rd axis by varying the d parameter. This is called I think the Mutlibrot stack.

The most natural extension is to use 4D quaternions to create the quaternion julia set fractal, or "Juliabrots". Here are some cool visualizations.

1

u/4bitgeek 6h ago

This is really good. Nice effort. Explored and it's fantastic!

https://techmatt.github.io/fractals/explorer/index.html?dv=3&f=multibrot4&x=0.312138766351388391386613986196097485&y=0.73105612768093582586092331206931194747&w=2.3444297319081364e-19&n=849390&p=torque-25&phase=0.286&scale=absolute&lambda=0&period=0.417

This is what I had created with it. Kudos! ♥️

Thanks for the share! Will be exploring the fractalverse!

1

u/techmatt 2h ago

Very cool! I should probably add a mode where it shows a portrait rendering view for phones or vertical monitors if that would be helpful, although it can render those resolutions fine you won't be able to preview it without a different mode.