xxxxxxxxxx
37
let slider;
function setup() {
createCanvas(windowWidth, windowHeight - 30);
slider = createSlider(0, 10, 0.5, 0.01);
}
function sgn(a) {
if (a > 0) {
return 1;
} else if (a < 0) {
return -1;
} else {
return 0;
}
}
function draw() {
background(0);
translate(width / 2, height / 2);
stroke(255);
noFill();
let a = 100,
b = a,
n = slider.value();
beginShape();
for (let angle = 0; angle < TWO_PI; angle += 0.1) {
let na = 2 / n;
let x = pow(abs(cos(angle)), na) * a * sgn(cos(angle));
let y = pow(abs(sin(angle)), na) * b * sgn(sin(angle));
vertex(x, y);
}
endShape(CLOSE);
}