From 3d1a985600da7af24da6303e89191855ee9aaf93 Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Tue, 21 Aug 2012 20:51:48 +0100 Subject: [PATCH] Moved processing to background worker. Added some shading. --- mandelbrot.html | 50 +++++++++++++++++++++++-------------------------- mandelbrot.js | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 27 deletions(-) create mode 100644 mandelbrot.js diff --git a/mandelbrot.html b/mandelbrot.html index 4ffdd73..4102975 100644 --- a/mandelbrot.html +++ b/mandelbrot.html @@ -2,11 +2,16 @@ Mandelbrot - - + diff --git a/mandelbrot.js b/mandelbrot.js new file mode 100644 index 0000000..e26f15e --- /dev/null +++ b/mandelbrot.js @@ -0,0 +1,34 @@ +drawMandelbrot = function(e) { + + max_i = 100; + + for (m = 0; m <= 1279; m++) { + for (n = 0; n <= 1279; n++) { + x0 = (n - 639) / 320; + y0 = (m - 639) / 320; + + i = 0; + x = 0; + y = 0; + + while (x * x + y * y < 2 * 2 && i < max_i) { + xtemp = x * x - y * y + x0 + y = 2 * x * y + y0 + + x = xtemp + + i++ + } + + if (i == max_i) { + i = 0 + } + + e.postMessage({x: n, y: m, i: i}); + } + } +}; + +self.addEventListener('message', function(e) { + drawMandelbrot(self); +});