Schets met acht  zeshoeken in achthoek                 terug naar de inleiding

Bekijk de   acht zeshoeken in de achthoek

In deze schets is bij de keuze van de draaipunten rekening gehouden met het symetrisch kunnen veranderen van de draaipunten tijdens de animatie.

De schets maakt gebruik van objecten van de zeshoek class  "Vhoek_n2a4" ,  en object van de achthoek class   "Vhoek_na4"  en  de superclass  Vormen

Met toetsen 1 t/m 7 verander je de draaipunten, met de "s" toets stopt en met de "r" toets start de animatie

 

Vormen [] vorm; 
int dp = 0; 
void setup() { 
 
  size(780, 560); 
// fullScreen(); 
  float x = width/2; 
  float y = height/2; 
  float n = height/8; 
   
  vorm = new Vormen[9]; 
  vorm[0] = new Vhoek_na4(n*2, 0, x, y, 0, color(200, 255, 0, 50)); 
  vorm[1] = new Vhoek_n2a4(n, 1+dp, x-n/2, y-1.5*n, 0, color(255, 255, 0, 50)); 
  vorm[2] = new Vhoek_n2a4(n, 6-dp, x+n/2, y-1.5*n,  0, color(255, 0, 0, 50));   
  vorm[3] = new Vhoek_n2a4(n, 1+dp, x+1.5*n, y-n/2, 90, color(255, 255, 0, 50)); 
  vorm[4] = new Vhoek_n2a4(n, 6-dp, x+1.5*n, y+n/2, 90, color(255, 0, 0, 50));   
  vorm[5] = new Vhoek_n2a4(n, 1+dp, x+n/2, y+1.5*n, 180, color(26,237, 225, 50)); 
  vorm[6] = new Vhoek_n2a4(n, 6-dp, x-n/2, y+1.5*n,  180, color(100, 200, 50, 50));   
  vorm[7] = new Vhoek_n2a4(n, 1+dp, x-1.5*n, y+n/2, -90, color(26,237, 225, 50)); 
  vorm[8] = new Vhoek_n2a4(n, 6-dp, x-1.5*n, y-n/2,-90, color(100, 200, 0, 50)); 
} 
 
void draw() { 
   background(#E6FBFF); 
   for (int i = 0; i < 9; i++)   
  {   
    vorm[i].display();   
  }       
    vorm[0].dpRotLi(vorm[0]);   
    vorm[1].dpRotRe(vorm[1]);     
    vorm[2].dpRotLi(vorm[2]);   
    vorm[3].dpRotRe(vorm[3]);     
    vorm[4].dpRotLi(vorm[4]);   
    vorm[5].dpRotRe(vorm[5]);   
    vorm[6].dpRotLi(vorm[6]);   
    vorm[7].dpRotRe(vorm[7]);  
    vorm[8].dpRotLi(vorm[8]);  
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();   
  }     
   
  if (key == 'r') {         
    loop();   
  }   
   
  if (key == '1') {  
     dp = 0;  
     loop();  
     setup();  
  }  
  if (key == '2') {  
    dp = 1;  
    loop();  
    setup();  
  }  
  if (key == '3') { 
    dp = 2;  
    loop();  
    setup();  
  }  
  if (key == '4') {  
    dp = 3;  
    loop();  
    setup();  
  }  
  if (key == '5') {  
    dp = 4;  
    loop();  
    setup();  
  }  
  if (key == '6') {  
    dp = 5;  
    loop();  
    setup();  
  }  
  if (key == '7') {  
    dp = 6;  
    loop();  
    setup();  
  }  
}