let img1, img2;
let nPolygons = 5
let polygons
function preload() {
img1 = loadImage("/assets/diagonal.jpg");
img2 = loadImage("/assets/star.png");
}
function setup() {
createCanvas(600, 600);
nPolygons = int(random(4,40))
strokeWeight(0.25)
angleMode(DEGREES);
stroke(255)
imageMode(CENTER);
polygons = []
for (let i = 0;i<nPolygons;i++){
tmp = int(random(4,25))
polygons[i] = createVector(tmp,int(random(2,tmp-2)),(random(2,width/3)));
}
noFill()
}
function draw() {
translate(width / 2, height / 2);
t1 = frameCount / 25;
rotate(t1 );
image(img1, 0, 0, 800, 800);
for(let i = 0;i<polygons.length;i++){
push()
stroke(100+polygons[i].x*5,150+polygons[i].x*10,200+polygons[i].x*12)
rotate(t1*polygons[i].y/3)
polygonDraw(i)
pop()
}
}
function polygonDraw(n){
p = []
angle = 360/polygons[n].x
beginShape()
for(let i = 0;i<=polygons[n].x;i++){
p[i] = createVector(polygons[n].z*cos(angle*i),polygons[n].z*sin(angle*i));
vertex(p[i].x,p[i].y);
}
s = floor(polygons[n].x/polygons[n].y)
for(let i = 0;i<polygons[n].x-polygons[n].y;i++){
line(p[i].x,p[i].y,p[i+polygons[n].y].x,p[i+polygons[n].y].y)
}
endShape()
}
function mousePressed(){
setup()
draw()
}