"M-set anatomy" remake

There are several reasons to remake old Java based pages JS is easy-to-use because to make rather complex scripts you need not compiler but just browser and text editor.
JS is more restricted than Java and therefore safer (e.g. JS can not write files to your hard drive).
See also An Interactive Introduction to Splines remake.

CPU vs. GPU

Modern GPUs generate fractal pictures very quickly. See e.g. WebGL based Julia sets animation, animation with the Distance Estimator algorithm or Makin's fractal animation. But we can use double floats only in experimental WebCL yet.

Unfortunately direct calculation of all pixels is not power efficient. The boundary tracing algorithm (see below) is 4-8 times more efficient for the standard Mandelbrot and Julia sets. It is rather complicated and suits more for CPU. 4 JS workers are used for direct calculations.

The Boundary Tracing algorithm

The Boundary Tracing algorithm [1,2] makes use of the fact that there are not areas of one color "inside" areas of a different color. This means, that if you trace the boundary of a region of a single color, then all the pixels inside that area will have that one color also. In the left image below only 13% of pixels are calculated and all the rest are simply flooded. But it is evident, that you can get wrong picture (to the right) for very large scale. Click this image to "repair" it.

[1] Michael R. Ganss "AlmondBread" (a copy and boundary.c)
[2] John Bailey The Boundary Tracing algorithm


Contents
updated 8 Sep 2013