About
Camandel started as a roughly cribbed-together Python CGI script for rendering Mandelbrot fractals, that just returned the image data as a blob which it threw into a data URL. Many years and a degree hence, I've reworked it to use Caman (mostly because of the portmanteau, let's be real) to manipulate a canvas element directly, so it can run entirely on the client-side. In addition to a Mandelbrot visualizer, it now also has a second canvas that lets you explore the Julia sets for z2.
Controls
Along with the visible and expandable form inputs, you can interact with the main canvas rendering the Mandelbrot set, by:
- clicking, to render the Julia set for z2 + c, where c is the point you clicked on in the currently selected viewing window;
- double-clicking, to zoom in 2x on the selected point;
- right-click dragging, to zoom the viewing window in to the specific selected area.
NOTE that when drag-zooming the fractal WILL render to the specific newly-selected area, but the canvas will NOT be resized, to avoid moving the page content and possibly creating absurd aspect ratios. For the moment this means the region will get squished to fit the current canvas aspect ratio. If you'd prefer a well-scaled Mandelbrot at the same zoom level, the viewing window input does update to respect the canvas aspect ratio, so you can just hit the "Render Fractal" button again. I'm still waffling on how I want to approach fixing this, but I also kinda like the goofy behavior :)
The Math
Coming soon...! But if you're in a hurry and don't mind reading math you can also check out the Wikipedia article about the Julia set here, particularly the section "Quadratic polynomials".