Ruiten en boxen                              terug naar de inleiding

De schets maakt gebruik van de classes  "Ruit",    "Box"   en de superclass  "Vormen".

Bekijk de  boxen en de roterende ruiten,  de schets staat ook op  Openprocessing.

 

 

Vormen[] vorm = new Vormen[13];   
void setup() {   
  size(960, 540);   
  float x = width/2;   
  float y = height/2;   
  float n = height/5;     
  float h = height/5; 
  float hn = sqrt(3*n*n/4);    
   
  vorm[0] = new Ruit(n, 7, x-2*hn, y-n, 60, color(245, 139, 25, 100));   
  vorm[1] = new Ruit(n, 1, x-hn, y-n/2,  0, color(255, 255, 0, 100));   
  vorm[2] = new Ruit(n, 7, x,    y-n,   90, color(25, 228, 245, 100));     
  vorm[3] = new Ruit(n, 1, x+hn, y-n/2,  0, color(0, 255, 0, 100));   
  vorm[4] = new Ruit(n, 3, x+2*hn, y-n,-60, color(245, 139, 25, 100));   
  vorm[5] = new Ruit(n, 7, x-2*hn, y+n,-60, color(245, 139, 25, 100));    
  vorm[6] = new Ruit(n, 5, x-hn, y+n/2,  0, color(0, 255, 0, 100));   
  vorm[7] = new Ruit(n, 3, x,    y+n,   90, color(255, 0, 200, 100));   
  vorm[8] = new Ruit(n, 5, x+hn, y+n/2,  0, color(255, 255, 0, 100));     
  vorm[9] = new Ruit(n, 3, x+2*hn, y+n, 60, color(245, 139, 25, 100));    
   
  vorm[10] = new Box(n, h, 7, x-2*hn,y, 0, color(255, 0, 0, 50), color(0, 255, 0, 50), color(0, 0, 255, 100)); 
  vorm[11] = new Box(n, h, 7, x,     y, 0, color(255, 0, 0, 50), color(0, 255, 0, 50), color(0, 0, 255, 100)); 
  vorm[12] = new Box(n, h, 7, x+2*hn,y, 0, color(255, 0, 0, 50), color(0, 255, 0, 50), color(0, 0, 255, 100)); 
}   
 
void draw() {   
  background(#E6FBFF);  
 // background(0); 
  //assenstelsel   
  stroke(255, 0, 0);   
  line (width/2, 0, width/2, height);   
  line(0, height/2, width, height/2);   
  stroke(0);   
  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[4].dpRotLi(vorm[4]); 
  vorm[5].dpRotLi(vorm[5]); 
  vorm[6].dpRotRe(vorm[6]); 
  vorm[8].dpRotLi(vorm[8]); 
  vorm[9].dpRotRe(vorm[9]); 
}   
 
void keyPressed() {       
  if (key == 's') {      
    noLoop(); 
  }     
 
  if (key == 'r') {         
    loop(); 
  } 
}