de pijlen roteren in draaipunt 0de pijlen roteren in draaipunt 0

 

de pijlen roteren in draaipunt 1de pijlen roteren in draaipunt 1

 

de pijlen roteren in draaipunt 2de pijlen roteren in draaipunt 2

 

de vliegers roteren in draaipunt 3de vliegers roteren in draaipunt 3

 

de pijlen roteren in draaipunt 4

de pijlen roteren in draaipunt 4

 

de pijlen roteren in draaipunt 5de pijlen roteren in draaipunt 5

"Vlieger" class in p5.js.                         terug naar de inleiding                             ga naar de animatie "Tien pijlen vormen een vijfhoek" in fullscreen

Met de toetsen "1" t/m "9" verander je de draaipunten "0" t/m "8" van de vliegers
Met de "s" toets stopt en met de "r" toets start de rotatie, met de "d" toets kan je een afbeelding van de animatie downloaden
 
 
 tien pijlen vormen een vijfhoek,  de schets maakt gebruik van de p5.js classes  "Vlieger" en  "Vormen"
 
 


//p5.js schets met 10 vliegers die een vijfhoek voren 
let vlieger0, vlieger1, vlieger2, vlieger3, vlieger4; 
let vlieger5, vlieger6, vlieger7, vlieger8, vlieger9; 
let dpVl = 1; 
 
function setup() { 
createCanvas(windowWidth, windowHeight); 
  const x = width/2; const y = height/2; const n = height/7; 
  const rl = sqrt(50+10*sqrt(5))*n/10; 
  const rk = sqrt(25+10*sqrt(5))*n/10; 
  const h  = (rl+rk); 
  const nphi = ((1+sqrt(5))/2)*n; 
  const phi  = ((1+sqrt(5))/2); 
  const k    = rl/2*(3-phi); 
  const bl   = rl/(2*phi); 
 
  vlieger0 = new Vlieger(nphi, h+k, -k, dpVl, x,        y-rl,   0, color(237,230,86,50)); 
  vlieger1 = new Vlieger(nphi, h+k, -k, dpVl, x,        y-rl,   0, color(237,230,86,50)); 
  vlieger2 = new Vlieger(nphi, h+k, -k, dpVl, x+nphi/2, y-bl,  72, color(63,186,229,50)); 
  vlieger3 = new Vlieger(nphi, h+k, -k, dpVl, x+nphi/2, y-bl,  72, color(63,186,229,50)); 
  vlieger4 = new Vlieger(nphi, h+k, -k, dpVl, x+n/2,    y+rk, 144, color(76,229,63,50)); 
  vlieger5 = new Vlieger(nphi, h+k, -k, dpVl, x+n/2,    y+rk, 144, color(76,229,63,50)); 
  vlieger6 = new Vlieger(nphi, h+k, -k, dpVl, x-n/2,    y+rk,-144, color(76,229,63,50)); 
  vlieger7 = new Vlieger(nphi, h+k, -k, dpVl, x-n/2,    y+rk,-144, color(76,229,63,50)); 
  vlieger8 = new Vlieger(nphi, h+k, -k, dpVl, x-nphi/2, y-bl, -72, color(63,186,229,50)); 
  vlieger9 = new Vlieger(nphi, h+k, -k, dpVl, x-nphi/2, y-bl, -72, color(63,186,229,50)); 
} 
 
function draw() { 
  background(230,251,255); 
//  background(0); 
  vlieger0.display(); vlieger1.display(); vlieger2.display(); vlieger3.display(); 
  vlieger4.display(); vlieger5.display(); vlieger6.display(); vlieger7.display(); 
  vlieger8.display(); vlieger9.display(); 
 
  vlieger0.dpRotRe(vlieger0); vlieger1.dpRotLi(vlieger1); 
  vlieger2.dpRotLi(vlieger2); vlieger3.dpRotRe(vlieger3); 
  vlieger4.dpRotLi(vlieger4); vlieger5.dpRotRe(vlieger5); 
  vlieger6.dpRotLi(vlieger6); vlieger7.dpRotRe(vlieger7); 
  vlieger8.dpRotLi(vlieger8); vlieger9.dpRotRe(vlieger9); 
} 
 
function keyPressed() { 
  if (key == 's') { 
    noLoop(); 
  } 
  if (key == 'r') { 
    loop(); 
  } 
  if (key == 'd'){ 
    save('vijfhoek_vlieger.png'); 
  } 
  if (key == '1') { 
     dpVl = 0; 
     loop(); 
     setup(); 
  } 
  if (key == '2') { 
    dpVl = 1; 
    loop(); 
    setup(); 
  } 
  if (key == '3') { 
    dpVl = 2; 
    loop(); 
    setup(); 
  } 
  if (key == '4') { 
    dpVl = 3; 
    loop(); 
    setup(); 
  } 
  if (key == '5') { 
    dpVl = 4; 
    loop(); 
    setup(); 
  } 
  if (key == '6') { 
    dpVl = 5; 
    loop(); 
    setup(); 
  } 
  if (key == '7') { 
    dpVl = 6; 
    loop(); 
    setup(); 
  } 
  if (key == '8') { 
    dpVl = 7; 
    loop(); 
    setup(); 
  } 
  if (key == '9') { 
    dpVl = 8; 
    loop(); 
    setup(); 
  } 
}