xxxxxxxxxx
42
let points = [];
let num = 50;
let rad = 3;
function setup() {
createCanvas(400, 400);
strokeWeight(3);
for(let i = 0; i < num; i ++) {
let r = (i + 1) * rad;
points.push(createVector(
r,
0
));
}
}
function draw() {
background(220);
noFill();
for(let i = 0; i < num; i ++) {
let p = points[i];
p.y += ((num - i) + 1) * 0.005;
let r = p.x;
let a = p.y;
ellipse(width/2 + cos(a) * r, height/2 + sin(a) * r, 5, 5);
if(i == 0) {
continue;
}
let prev = points[i - 1];
let pr = prev.x;
let pa = prev.y;
line(width/2 + cos(a) * r, height/2 + sin(a) * r, width/2 + cos(pa) * pr, height/2 + sin(pa) * pr);
}
}