paral header

animatie met twaalf  parallellogrammen, hoogte n, lengte n, 2n en 3n        terug naar de inleiding

 

De schets maakt gebruik van objectmethodes van de superclass "Vormen", en objecten van de subclass   "Paral",  voor het ruitjespapier de class "Ruitjes"

Voor vormen 4 t/m 7 is de hogere snelheid dpRotLiS() en dpRotReS() gekozen.

bekijk de draaiende animatie         toets "1" inschakelen ruitjespapier en toets "2" uitschakelen ruitjespapier                 bekijk de ontwerpschets in mijn schetsboek
 
 

//animatie met 12 parallellogrammen hoogte n lengte n, 2n en 3n 
Vormen [] vorm;   
 
boolean aan = false;  
Ruitjes ruitjespap;   
 
void setup() {   
 // fullScreen();   
  size(780, 560);   
  float x = width/2;   
  float y = height/2;   
  float n = height/9;  
  float h = n;   
  float l = n;   
  vorm = new Vormen[12];  
  ruitjespap = new Ruitjes(n,x,y); 
  vorm[0] = new Paral(h, l, 1, 5, x, y, 0, color(255, 255, 0, 100));   
  vorm[1] = new Paral(h, l, 0, 3, x, y, 0, color(0, 255, 0, 100));   
  vorm[2] = new Paral(h, l, 0, 7, x, y, 0, color(255, 0, 0, 100));   
  vorm[3] = new Paral(h, l, 1, 1, x, y, 0, color(100, 0, 255, 100));  
   
  vorm[4] = new Paral(h, 2*l, 1, 7, x-n, y-n, 0, color(255, 255, 0, 75));   
  vorm[5] = new Paral(h, 2*l, 0, 1, x+n, y-n, 0, color(0, 255, 0, 75));   
  vorm[6] = new Paral(h, 2*l, 0, 5, x-n, y+n, 0, color(255, 0, 0, 75));   
  vorm[7] = new Paral(h, 2*l, 1, 3, x+n, y+n, 0, color(100, 0, 255, 75));   
   
  vorm[8] = new Paral(h, 3*l, 1, 7, x-n, y-n, 0, color(255, 255, 0, 100));   
  vorm[9] = new Paral(h, 3*l, 0, 1, x+n, y-n, 0, color(0, 255, 0, 100));   
  vorm[10] = new Paral(h,3*l, 0,5,  x-n, y+n, 0, color(255, 0, 0, 100));   
  vorm[11] = new Paral(h,3*l, 1,3,  x+n, y+n, 0, color(100, 0, 255, 100));   
}   
   
void draw() {   
  background(#E6FBFF);   
   
  for (int i = 0; i < 12; i++)   
  {   
    vorm[i].display();   
  }     
  vorm[0].dpRotRe(vorm[0]);   
  vorm[1].dpRotLi(vorm[1]);   
  vorm[3].dpRotRe(vorm[3]);   
  vorm[2].dpRotLi(vorm[2]);     
  vorm[5].dpRotLiS(vorm[5]);   
  vorm[4].dpRotReS(vorm[4]);   
  vorm[6].dpRotLiS(vorm[6]);   
  vorm[7].dpRotReS(vorm[7]);   
  vorm[8].dpRotLi(vorm[8]);   
  vorm[11].dpRotLi(vorm[11]);   
  vorm[9].dpRotRe(vorm[9]);   
  vorm[10].dpRotRe(vorm[10]);   
    
  if (key == '1' || aan ) {           
     ruitjespap.display();  
     for (int i = 0; i < 12; i++)  
  {  
     vorm[i].dpAan();  
 }  
     aan = true;  
 }  
    
  if (key == '2' && aan ) {           
     aan = false;  
  }  
}  
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();   
  }       
  if (key == 'r') {         
    loop();   
  }   
}