function setup(){
createCanvas(windowWidth,windowHeight);
angleMode(DEGREES)
}
function draw(){
background(0)
r=width/15
t=frameCount
translate(width/2,height/2)
rotate(t/4)
push()
translate(0,height/1.5)
s2()
s3()
push()
translate(r*1.86,-r/2)
s3()
pop()
push()
translate(r*2*1.86,-r)
s3()
pop()
pop()
}
function polygon(x, y, radius, npoints) {
let angle = 360 / npoints;
beginShape();
for (let a = 0; a < 360; a += angle) {
let sx = x + cos(a) * radius;
let sy = y + sin(a) * radius;
vertex(sx, sy);
}
endShape(CLOSE);
}
function snubby(){
fill(0,150*cos(t),200*cos(t))
push()
rotate(t)
translate(r*sin(t),r*cos(t))
rect(0,0,r,r)
pop()
fill(200,100,0)
triangle(0,0,r,0,r/2,-r*sqrt(3)/2);
triangle(r,0,r,r,r+r*sqrt(3)/2,r/2);
triangle(0,r,r,r,r/2,r+r*sqrt(3)/2);
}
function s2(){
snubby()
push()
rotate(150)
snubby()
pop()
push()
translate(r/2,r+r*sqrt(3)/2)
rotate(150)
snubby()
pop()
push()
translate(r+r*sqrt(3)/2,r*sqrt(3)/3.5)
rotate(60)
snubby()
pop()
push()
translate(r*sqrt(3)/3.5,-r*sqrt(3)/2)
rotate(-30)
snubby()
pop()
}
function s3(){
for(let i=1;i<11;i++){
push()
translate(-r*i/2,-r*i*1.87)
s2()
pop()
}
}