fractalkitty looking for math? fractalkitty.com

codepen challenges

spiralFib

#animation#math#number-theory#spiral#codepen-challenge

_Created for the [July 2021 CodePen Challenge](https://codepen.io/challenges/2021/July)_

squaresfibonacci

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];
  }
}