Schets met 8 rechthoeken rond pijl                              terug naar de inleiding

Bekijk de roterende rechthoeken

De schets maakt gebruik van de classes  RechthoekVlieger  en  de superclass  Vormen

float b = sqrt(5*n*n);  is de lange schuine zijde van de pijl.
float a = sqrt(2*n*n) ; is de korte schuine zijde van de pijl.
 
 

Vormen vorm[];  
 
void setup()  {   
size(960,540);    
float x = width/2;    
float y = height/2;    
float n = height/8;  
float b = sqrt(5*n*n);   
float a = sqrt(2*n*n); 
vorm = new Vormen[9]; 
vorm[0] = new Vlieger(2*n,-n,2*n, 0, x, y, 0, color(0,255,0, 100));    
vorm[1] = new Rechthoek(a,b,   7, x-n, y, 0, color(255,255,0,100));    
vorm[2] = new Rechthoek(a,b,   1, x+n, y, 0, color(255,0,0,100));    
vorm[3] = new Rechthoek(a,b,   5, x-n, y, 0, color(0,0,255,100));    
vorm[4] = new Rechthoek(a,b,   3, x+n, y, 0, color(122,200,100,100)); 
vorm[5] = new Rechthoek(n,2*n, 7, x,   y, 0, color(0,255,0,100));    
vorm[6] = new Rechthoek(n,2*n, 1, x,   y, 0, color(255,255,00,100));    
vorm[7] = new Rechthoek(n,n*2, 5, x,   y, 0, color(255,0,0,100));    
vorm[8] = new Rechthoek(n,n*2, 3, x,   y, 0, color(0,255,255,100));    
}    
void draw()  {    
  background(#E6FBFF);    
  //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 <=8; i = i+1) 
  { 
  vorm[i].display();    
}     
  vorm[1].dpRotLi(vorm[1]);   
  vorm[2].dpRotRe(vorm[2]);   
  vorm[3].dpRotRe(vorm[3]);   
  vorm[4].dpRotLi(vorm[4]); 
  vorm[5].dpRotRe(vorm[5]);   
  vorm[6].dpRotLi(vorm[6]);   
  vorm[7].dpRotLi(vorm[7]);   
  vorm[8].dpRotRe(vorm[8]);   
} 
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }         
  if (key == 'r') {         
    loop();  
  }  
}