An interactive fractal visualization tool that demonstrates the relationship between the Mandelbrot set and Julia sets. Try it live here!
This tool features side-by-side windows showing how the Mandelbrot set parameterizes Julia sets. Watch as Julia sets continuously deform as you explore the parameter space, and see individual points iterate, either escaping to infinity or settling into cycles.
- Mandelbrot Set
- Cubic Multibrot
- Quartic Multibrot
- Hyperbolic Mandelbrot
- Burning Ship
Navigation:
- Click on the Mandelbrot set (left) to set the Julia set parameter
c - Click on the Julia set (right) to set the starting point
z - Zoom in/out with
+/-buttons or scroll gestures - Reset views with individual Reset buttons
Parameter Control:
- Lock/Unlock cursor mode - when unlocked, moving your mouse over the Mandelbrot set continuously updates the Julia set
- Manual parameter entry for precise
candzvalues - Adjustable escape radius iterations (10-1000)
Iterarions:
- Single iteration step with "Iterate" button
- Automatic iteration with Play/Pause controls
- Adjustable iteration speed (10-1000ms intervals)
- Red
- Tropical
- Viridis
- Flower
- Purple
- Halloween
| Key | Action |
|---|---|
z/x |
Zoom in/out (Mandelbrot/parameter space) |
q/w |
Zoom in/out (Julia/phase space) |
i |
Single iteration step |
p |
Play/pause continuous iteration |
l |
Toggle cursor lock |
r |
Full reset |
The Mandelbrot set is generated by iterating complex functions of the form f(z) = z^n + c and testing for escape from a bounded region. The set consists of all complex parameters c for which the orbit of z = 0 remains bounded. Each point in the Mandelbrot set corresponds to a unique Julia set with that parameter value.
- Mandelbrot:
f(z) = z² + c - Cubic Multibrot:
f(z) = z³ + c - Quartic Multibrot:
f(z) = z⁴ + c - Hyperbolic Mandebrot:
f(z) = z² + c(with Hyperbolic/Split-Complex Numbers) - Burning Ship:
f(z) = (|Re(z)| + i|Im(z)|)² + c(Just like the Mandelbrot, but you take the absolute values of the real and imaginary parts for each iteration)
- Exploring: Unlock your cursor and pan around the mandelbrot set to see the Julia sets continuously deform!
- Zooming: Use the keyboard shortcuts or control panel buttons to adjust the window!
- Iterations: Watch points in the Julia set either escape or approach a cycle by iterating on them repeatedly or playing automatic iterations!
- Performance: Adjust iteration count or the escape criterion to speed up rendering while exploring or increase detail when zoomed in!
- Resolution: 400×400 pixels per canvas
- Real-time rendering using HTML5 Canvas and JavaScript
- Responsive controls with smooth mouse interaction
- Mobile-friendly with gesture support for zoom
index.html- Main interface and layoutscript.js- Fractal mathematics and interaction logicstyle.css- Visual styling and layoutREADME.md- This documentation
- Clone this repository
- Open
index.htmlin a web browser - Start exploring fractals!
No build process or dependencies required - it's pure HTML, CSS, and JavaScript