vliegers in draaipunt 1

Vliegers in draaipunt 1

 

 

vliegers in draaipunt 5

 vliegers in draaipunt 5

 

 

 

 

vliegers in draaipunt 5

vliegers in draaipunt 5

 

 

 

vliegers in draaipunt 1, vijfhoek uitgeschakeld
 
vliegers in draaipunt 1
vijfhoek uitgeschakeld
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vliegers in draaipunt 1   vliegers in draaipunt 1   vliegers in draaipunt 1                                                            

 

6 vliegers rond een vijfhoek.              

De vliegers zijn hier pijlen want het derde argument in de constructor is negatief   bekijk de vliegers rond de vijfhoek

Bekijk de vliegers rond de vijhoeken in overprojectie De code staat onder deze schets

De schets maakt gebruik van class   "Vlieger""Vhoek_n5"  en de superclass  "Vormen"

Enkele toetsfuncties

Met toets "2" draaien de vliegers in draaipunt 5 rond de vijfhoek. 
Met toets "1" draaien ze weer in draaipunt 1 en wordt de vijfhoek weer ingeschakeld.
Met toets "3" wordt de vijfhoek uitgeschakeld.
Met toets "s" stopt en met toets "r" start de rotatie.

 

 
 

 
Vormen [] vorm; 
int dpVl = 1; 
int dpVhoek = 0; 
void setup() {  
 //  fullScreen();  
  size(780, 560);  
  float x = width/2;  
  float y = height/2;  
  float n = height/6; 
  float rl = sqrt(50+10*sqrt(5))*n/10; 
  float rk = sqrt(25+10*sqrt(5))*n/10; 
  float h  = (rl+rk); 
  float nphi = ((1+sqrt(5))/2)*n; 
  float phi  = ((1+sqrt(5))/2);  
  float k    = rl/2*(3-phi);  
  float bl   = rl/(2*phi); 
  vorm    = new Vormen[7];  
  vorm[0] = new Vlieger(nphi, h+k, -k, dpVl, x,        y-rl,   0, color(237,230,86,75));  
  vorm[1] = new Vlieger(nphi, h+k, -k, dpVl, x,        y-rl,   0, color(237,86,91,75));  
  vorm[2] = new Vlieger(nphi, h+k, -k, dpVl, x+nphi/2, y-bl,  72, color(63,186,229,75));  
  vorm[3] = new Vlieger(nphi, h+k, -k, dpVl, x+n/2,    y+rk, 144, color(76,229,63,75));  
  vorm[4] = new Vlieger(nphi, h+k, -k, dpVl, x-n/2,    y+rk,-144, color(76,229,63,75));  
  vorm[5] = new Vlieger(nphi, h+k, -k, dpVl, x-nphi/2, y-bl, -72, color(63,186,229,75));  
  vorm[6] = new Vhoek_n5(n, dpVhoek, x, y, 0, color(100, 200, 0, 50)); 
}  
  
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 < 7; i++)  
  {  
    vorm[i].display();  
  }    
  vorm[0].dpRotRe(vorm[0]); 
  vorm[1].dpRotLi(vorm[1]);  
  vorm[2].dpRotLi(vorm[2]);    
  vorm[3].dpRotRe(vorm[3]);  
  vorm[4].dpRotLi(vorm[4]);    
  vorm[5].dpRotRe(vorm[5]);  
}  
  
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
    if (key == '1') {         
   dpVl = 1; 
   dpVhoek = 0; 
    setup();     
  }       
  if (key == '2') {         
   dpVl = 5; 
    setup();      
} 
 
  if (key == '3') {         
   dpVhoek = 7; 
    setup();      
} 
} 

 

 

De vliegers in overprojectie
 
Door in de draw functie de code door onderstaande code te vervangen worden de vliegers in overprojectie getoond.
background(#E6FBFF); naar het setup deel verplaatsen.
Zo worden de vliegers telkens na 30 frameCounts getekend, terwijl de rotaties gewoon doorgaan.
 
 

void draw() {    
int  op = 30;                          // De vliegers worden telkens na 30 frameCounts getekend. 
  if (frameCount == op) 
  { 
     for (int i = 0; i < 7; i++)    
      {    
         vorm[i].display();  
         frameCount = 0; 
      } 
  } 
vorm[0].dpRotRe(vorm[0]); 
 vorm[1].dpRotLi(vorm[1]);  
 vorm[2].dpRotLi(vorm[2]);  
 vorm[3].dpRotRe(vorm[3]);  
 vorm[4].dpRotLi(vorm[4]);  
 vorm[5].dpRotRe(vorm[5]); 
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }
 
    if (key == '1') {         
     dpVl = 1; 
     dpVhoek = 0; 
     setup();     
  }      
 
  if (key == '2') {         
    dpVl = 5; 
    setup();      
} 
 
  if (key == '3') {         
    dpVhoek = 7; 
    setup();      
} 
}