spiralFib
_Created for the [July 2021 CodePen Challenge](https://codepen.io/challenges/2021/July)_
let f=[];
let N=0;E=0;S=0;W=0;
let s=100;
function setup(){
createCanvas(windowWidth,windowHeight);
fibonacci();
noStroke();
angleMode(DEGREES);
}
function draw(){
background(255);
t=frameCount/5;
translate(width/2,height/2);
if(s>0.05){
s=s*0.99;
}else{
s=s*6.7;
}
scale(s,s);
squares();
}
function squares(){
fill(0)
rect(0,0,f[1],f[1]);
fill(0,255,255)
arc(0,f[1],f[1]*2,f[1]*2,270,0)
E=1;
fill(0)
rect(0,E,f[2],f[2]);
fill(0,255,255)
arc(0,f[1],f[1]*2,f[1]*2,0,90)
S=2;
for(let i=3;i<30;i++){
fill(0)
if(i%4===0){
N=N-f[i];
rect(W,N,f[i],f[i]);
fill(0,205,255)
arc(W+f[i],N+f[i],f[i]*2,f[i]*2,180,270);
}
if(i%4===1){
rect(E,N,f[i],f[i]);
fill(0,225,255)
arc(E,N+f[i],f[i]*2,f[i]*2,270,0)
E=E+f[i];
}
if(i%4===2){
rect(W,S,f[i],f[i]);
fill(0,245,255)
arc(W,S,f[i]*2,f[i]*2,0,90)
S=S+f[i];
}
if(i%4===3){
W=W-f[i];
rect(W,N,f[i],f[i]);
fill(0,255,255);
arc(W+f[i],N,f[i]*2,f[i]*2,90,180);
}
}
N=0;E=0;S=0;W=0;
}
function fibonacci(){
f[0] = 0;
f[1] = 1;
for (let i = 2; i<100;i++){
f[i] =f[i-1]+f[i-2];
}
}