xxxxxxxxxx
69
let c = null;
var formResolution = 50;
var stepSize = 2;
var distortionFactor = 1;
var initRadius = 300;
var centerX;
var centerY;
var x = [];
var y = [];
let maxCount = 40;
function setup() {
c = createCanvas(1024, 512);
background('white');
centerX = width * 0.66;
centerY = height / 2;
var angle = radians(360 / formResolution);
for (var i = 0; i < formResolution; i++) {
x.push(cos(angle * i) * initRadius);
y.push(sin(angle * i) * initRadius);
}
for( var h = 0; h < 6 ; h++ ){
for (var i = 0; i < formResolution; i++) {
x[i] += random(-stepSize, stepSize);
y[i] += random(-stepSize, stepSize);
}
}
noFill();
stroke(0,80);
strokeWeight(1.5);
background(255);
}
function draw() {
centerX = centerX + random(-3,10);//random(-6,30);
centerY = centerY + random(-4,12);
// calculate new points
for (var i = 0; i < formResolution; i++) {
x[i] += random(-stepSize, stepSize);
y[i] += random(-stepSize, stepSize);
x[i] = x[i] * (1 - frameCount / maxCount);
y[i] = y[i] * (1 - frameCount / maxCount);
}
beginShape();
curveVertex(x[formResolution - 1] + centerX, y[formResolution - 1] + centerY);
for (var i = 0; i < formResolution; i++) {
curveVertex(x[i] + centerX, y[i] + centerY);
}
curveVertex(x[0] + centerX, y[0] + centerY);
curveVertex(x[1] + centerX, y[1] + centerY);
endShape();
if (frameCount > maxCount) {
noLoop();
}
}
function keyPressed() {
saveCanvas(c, 'title', 'png');
}