xxxxxxxxxx
45
let radius = 120;
let startAngle = (180 / 13) * (5/2) - 90;
let openAngle = 180 / 13;
function setup() {
createCanvas(500, 500);
background(200);
}
function draw() {
background(200,130,130);
let centerX = width / 2;
let centerY = height / 2;
translate(centerX, centerY);
// Draw 9 fan leaves
let triangleNumber = map(mouseX, 50, 450, 1, 9);
for (let i = 0; i < triangleNumber; i++) {
let angleOffset = i * radians(openAngle);
push();
rotate(angleOffset + radians(startAngle));
fill(150, 90, 30, 90);
drawFanLeaf(openAngle, radius);
pop();
}
}
// Define the function "drawFanLeaf"
function drawFanLeaf(openAngle, radius) {
let Bx = -radius * tan(radians(openAngle / 2)); //left
let By = -radius;
let Cx = radius * tan(radians(openAngle / 2)); //right
let Cy = -radius;
//Fan leaf model
//translate(centerX, centerY);
//rotate(radians(startAngle));
beginShape();
vertex(0, 0);
vertex(Bx, By);
vertex(Cx, Cy);
endShape(CLOSE);
}