xxxxxxxxxx
31
var n = 8, d = 7;
const scale = 150;
var mx;
var total = 0.01;
var offset = 0;
function setup(){
createCanvas(400, 400, P2D);
colorMode(HSB, 255);
strokeWeight(3);
background('#000033');
}
function draw(){
translate(width/2, height/2);
var prevX = 1 + offset, prevY = 0;
mx = ceil((n+d)/2);
if(n == d) mx = 1;
for(var i = 0.01; i <= TWO_PI * mx; i += 0.01){
var radius = cos(i* n/d) + offset;
var x = cos(i) * radius;
var y = sin(i) * radius;
stroke(map(i, 0, TWO_PI*mx, 0, 255), 200, 200);
line(prevX * scale, prevY * scale, x * scale, y * scale);
prevX = x;
prevY = y;
}
//if(total <= TWO_PI * mx) total += 0.1;
offset += 0.005;
}