Mandelbrot set

You are encouraged to solve this task according to the task description, using any language you may know.


Task

Generate and draw the Mandelbrot set.



Note that there are many algorithms to draw Mandelbrot set and there are many functions which generate it .




 
// Maximum levels for each pixel.
levels = 60
 
// Create a random color for each level.
colors = new array[[levels]]
for a = 0 to levels-1
   colors@a = new color[randomFloat[0,1], randomFloat[0,1], randomFloat[0,1]]
 
// Make this number smaller for higher resolution.
stepsize = .005
 
g = new graphics
g.antialiased[false]
 
for im = -1.2 to 1.2 step stepsize
{
   imag = i * im
   for real = -2 to 1 step stepsize
   {  
      C = real + imag
      z = 0
      count = -1
 
      do
      {
         z = z^2 + C
         count=count+1;
      } while abs[z] < 4 and count < levels
 
      g.color[colors@((count-1) mod levels)]
      g.fillRectSize[real, im, stepsize, stepsize]
   }
}
 
g.show[]
 