Mandelbrot Fractal
HTML
<canvas id="fractal" width="800" height="800"></canvas>
JavaScript
var x, y, i, xt, cx, cy, zx, zy, color;
var canvas = document.getElementById("fractal"), context = canvas.getContext('2d');
for(x = 0; x < 200; x++) {
for(y = 0; y < 200; y++) {
i = 0;
cx = -2 + x / 50;
cy = -2 + y / 50;
zx = 0;
zy = 0;
do {
xt = zx * zy;
zx = zx * zx - zy * zy + cx;
zy = 2 * xt + cy;
i++;
}
while(i < 255 && (zx * zx + zy * zy) < 4);
color = i.toString(16);
context.beginPath();
context.rect(x * 4, y* 4, 4, 4);
context.fillStyle = "#" + color + color + color;
context.fill();
}
}