xxxxxxxxxx
62
const maxIter = 100;
const minval = -1.5;
const maxval = 1.5;
var ca = 0;
var cb = 0;
var counter = 0;
function setup(){
createCanvas(400, 400, P2D);
pixelDensity(1);
}
function draw(){
background(255);
cb = 0.7885 * sin(counter);
ca = 0.7885 * cos(counter);
loadPixels();
for (var x = 0; x < width; x++){
for(var y = 0; y < height; y++){
var a = map(x, 0, width, minval, maxval);
var b = map(y, 0, height, minval, maxval);
var n = 0;
for (;n < maxIter; n++){
var nextA = a * a - b * b;
var nextB = 2 * a * b;
if (abs(a + b) > 4){
break;
}
a = nextA + ca;
b = nextB + cb;
}
var bright;
bright = map(n, 0, maxIter, 0, 1);
bright = map(sqrt(bright), 0, 1, 0, 255);
if(maxIter == n){
bright = 0;
}
var pos = (x + y * width) * 4;
pixels[pos + 0] = min(bright - 70, 255);
pixels[pos + 1] = min(bright - 40, 255);
pixels[pos + 2] = min(bright - 20, 255);
pixels[pos + 3] = 255
}
}
updatePixels();
//ca = 1- 1.618;
counter += 0.01;
}