roterende gouden driehoeken en rechthoeken   terug naar de inleiding    Bekijk de  roterende gouden driehoeken en rechthoeken

De schets maakt gebruik van objecten van de classes  "Rechthoek",    "Drieh_nh"   ,  "Vhoek_n5"  en de superclass  ¬®Vormen¬®.

Met toetsen 1t/m5 veranderen de draaipunten. Met de "s" toets stopt, en met de overige toetsen starten de rotaties

 
 
 Vormen[] vorm = new Vormen[9];
int dpDrieh1 = 5;
int dpDrieh2 = 1;
int dpR = 0;
void setup() {    
  size(780, 560);  
  float x = width/2;    
  float y = height/2;    
  float n = height/5;  
  float rl = sqrt(50+10*sqrt(5))*n/10;  //rl is de straal van de binnencirkel van de vijfhoek 
  float rk = sqrt(25+10*sqrt(5))*n/10; //rk is de straal van de buitencirkel van de vijfhoek 
  float h1  = (rl+rk);  //h1 = lijn van vlak naar hoek, is de hoogtelijn van de gouden driehoek 
  float phi= (1+sqrt(5))/2;      //phi wordt gebruikt in bl  
  float bl = rl/(2*phi);           //bl is de lijn van het middelpunt naar de nphi li 
  float nphi = n+n/phi;            //nphi is de lengte van de gouden rechthoek 
  vorm[0] = new Vhoek_n5(n, 0, x, y, 0, color(255, 255, 0, 100)); 
  vorm[1] = new Rechthoek(n, nphi, 7, x-nphi/2, y-bl, 0,  color(100, 255, 0, 100));    
  vorm[2] = new Rechthoek(n, nphi, 1, x+nphi/2, y-bl, 0,  color(252, 110, 114, 50));    
  vorm[3] = new Rechthoek(n, nphi, 5, x-n/2,    y+rk, 0,  color(252, 110, 114, 50));    
  vorm[4] = new Rechthoek(n, nphi, 3, x+n/2,    y+rk, 0,  color(122, 200, 100, 50)); 
  vorm[5] = new Drieh_nh(n,  h1, dpDrieh2, x-nphi/2, y-bl, -36,color(200, 200, 50, 50));  
  vorm[6] = new Drieh_nh(n,  h1, dpDrieh1, x+nphi/2, y-bl, 36, color(200, 200, 50, 50));  
  vorm[7] = new Drieh_nh(n,  h1, dpDrieh2, x-n/2,    y+rk, 180,color(200, 200, 50, 50));  
  vorm[8] = new Drieh_nh(n,  h1, dpDrieh1, x+n/2,    y+rk, 180,color(200, 200, 50, 50));  
}    
void draw() {    
   background(#E6FBFF); 
  for (int i =0; i < 9; i++)  
  {  
    vorm[i].display();  
  } 
  
   if (key == 's') {       
        
  }         
   else    
 {    
 
  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 == '1') { 
   dpDrieh1 = 5; dpDrieh2 = 1;
   setup();
  }      
   
  if (key == '2') {          
    dpDrieh1 = 4; dpDrieh2 = 2; 
    setup();     
  }
  
    if (key == '3') {          
    dpDrieh1 = 6; dpDrieh2 = 6; 
    setup();     
  } 
  
    if (key == '4') {          
    dpDrieh1 =2; dpDrieh2 = 4;  
    setup();     
  } 
  
   if (key == '5') {          
   dpDrieh1 = 1; dpDrieh2 = 5;  
    setup();     
  } 
}