My mandelbrot

I have tried implementing a zoomable mandelbrot set for a while. Today I created a satisfactory implementation. There is no native support for complex numbers in JavaScript, so we keep both real and imaginary parts of the complex number separate. The mandelbrot recurrence relation is:

z_{n+1} = z_{n} + c

The value of z_ 0 is c. We iterate over these values. The mandelbrot set is the set of all complex numbers for which this recurrence relation converges. We will write a function for this relation and then we are basically done. The rest of the code will simply draw the set and handle zoom events.

function f(a0, b0) {
      [a, b] = [a0, b0]
      for (i = 0; i < N && a*a+b*b<4; i++)
	  [a, b] = [a*a - b*b + a0, 2*a*b + b0]
      return i === N

This is our function. The implementation can be seen live at Use the spacebar to zoom and the arrow keys to move.

Leave a comment

Your e-mail address will not be published. Required fields are marked *