animatie met 4 hoekbalken en 8 boxen                         terug naar de inleiding
 
de schets maakt gebruik van de objectmethodes van de superclass:  "Vormen" en objecten van de subclasses:  "Hoek3d_na4n" ,  "Box_n4naLi"  en  "Box_n4naRe"
 
bekijk de draaiende     hoekbalken en boxen     Met toetsen 1 t/m 4 verandert de positie van de draaipunten.     toets "s" stopt en iedere andere toets start de animatie
 
 

Vormen [] vorm;
float xpos; float ypos;
float x;    float y;    float n;
 
void setup() {
  size(1920, 1080);
//  fullScreen();
   x = width/2;
   y = height/2;
   n = height/20;
  int ch1 = color(#C1A100,100);
  int ch2 = color(#F7CE64,100);
  int ch3 = color(#D69B04,100);
  int ch4 = color(#C69A08,100);
  int ch5 = color(#D69B04,100);
  int ch6 = color(#4E8104,100);
  int ch7 = color(#79C608,100);
  int ch8 = color(#79C608,100);
 
  vorm = new Vormen[12];
  vorm[0] = new Hoek3d_na4n(n, 4, x-(2*n+xpos), y-(2*n+ypos),  135, ch1, ch2, ch3, ch4, ch5);
  vorm[1] = new Hoek3d_na4n(n, 4, x+(2*n+xpos), y-(2*n+ypos), -135, ch1, ch2, ch3, ch4, ch5);
  vorm[2] = new Box_n4naRe( n, 1, x-(2*n+xpos), y-(2*n+ypos),    0, ch6, ch7, ch8);
  vorm[3] = new Box_n4naLi( n, 4, x+(2*n+xpos), y-(2*n+ypos),    0, ch6, ch7, ch8);
  vorm[4] = new Box_n4naLi( n, 4, x-(2*n+xpos), y-(2*n+ypos),  -90, ch6, ch7, ch8);
  vorm[5] = new Box_n4naRe( n, 1, x+(2*n+xpos), y-(2*n+ypos),   90, ch6, ch7, ch8);
  vorm[6] = new Box_n4naRe( n, 1, x-(2*n+xpos), y+(2*n+ypos),  -90, ch6, ch7, ch8);
  vorm[7] = new Box_n4naLi( n, 4, x+(2*n+xpos), y+(2*n+ypos),   90, ch6, ch7, ch8);
  vorm[8] = new Hoek3d_na4n(n, 4, x-(2*n+xpos), y+(2*n+ypos),   45, ch1, ch2, ch3, ch4, ch5);
  vorm[9] = new Hoek3d_na4n(n, 4, x+(2*n+xpos), y+(2*n+ypos),  -45, ch1, ch2, ch3, ch4, ch5);
  vorm[10] = new Box_n4naRe(n, 1, x+(2*n+xpos), y+(2*n+ypos), -180, ch6, ch7, ch8);
  vorm[11] = new Box_n4naLi(n, 4, x-(2*n+xpos), y+(2*n+ypos),  180, ch6, ch7, ch8);
}
 
 void draw() {
   background(#E6FBFF);
 for (int i = 0; i < 12; i++)
 {
   vorm[i].display();
 }
 
   if (key == 's') {
 
  }
   else
  {
     vorm[0].dpRotLi(vorm[0]);
     vorm[1].dpRotRe(vorm[1]);
     vorm[2].dpRotRe(vorm[2]);
     vorm[3].dpRotLi(vorm[3]);
     vorm[4].dpRotRe(vorm[4]);
     vorm[5].dpRotLi(vorm[5]);
     vorm[6].dpRotLi(vorm[6]);
     vorm[7].dpRotRe(vorm[7]);
     vorm[8].dpRotRe(vorm[8]);
     vorm[9].dpRotLi(vorm[9]);
     vorm[10].dpRotRe(vorm[10]);
     vorm[11].dpRotLi(vorm[11]);
  }
}
 
void keyPressed() {
 
  if (key == '1') {
     xpos = 0; ypos = 0;
     setup();
  }
 
  if (key == '2') {
     xpos = 2*n; ypos = n/2;
     setup();
  }
 
  if (key == '3') {
     xpos = n; ypos = n;
     setup();
  }
 
  if (key == '4') {
     xpos = 2*n; ypos = 2*n;
     setup();
  }
}