roterende gouden driehoeken rond een vijfhoek         terug naar de inleiding

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

Bekijk de  10 roterende gouden driehoeken rond een vijfhoek

Met toetsen 2 t/m 5 veranderen de draaipunten, toets 1 hersteld de oorspronkelijke instellingen

 

Vormen vorm0;    
Vormen vorm1_1; Vormen vorm1_2; 
 
Vormen vorm2_1; Vormen vorm2_2;  
 
Vormen vorm3_1; Vormen vorm3_2;   
 
Vormen vorm4_1; Vormen vorm4_2; 
 
Vormen vorm5_1; Vormen vorm5_2; 
 
int dp = 3;
 
void setup() {     
  size(780, 560);   
 // fullScreen(); 
  float x = width/2;     
  float y = height/2;     
  float n = height/4;   
  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 nphi= ((1+sqrt(5))/2)*n; //nphi is de lijn van hoek naar hoek van de vijfhoek  
  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 h2 = sqrt(n*n-nphi*nphi/4); 
  vorm0 = new Vhoek_n5(n, 0, x, y, 0, color(255, 255, 0, 100)); 
  vorm1_1 = new Drieh_nh(nphi, h2, dp, x-n/2,    y+rk, -144, color(200, 0, 50, 100)); 
  vorm1_2 = new Drieh_nh(nphi, h2, dp, x-n/2,    y+rk, -144, color(200, 0, 50, 100)); 
   
  vorm2_1 = new Drieh_nh(nphi, h2, dp, x-nphi/2, y-bl, -72,  color(20, 200, 50, 100));  
  vorm2_2 = new Drieh_nh(nphi, h2, dp, x-nphi/2, y-bl, -72,  color(20, 200, 50, 100));  
   
  vorm3_1 = new Drieh_nh(nphi, h2, dp, x,        y-rl,   0,  color(20, 20, 200, 100));  
  vorm3_2 = new Drieh_nh(nphi, h2, dp, x,        y-rl,   0,  color(20, 20, 200, 100));  
   
  vorm4_1 = new Drieh_nh(nphi, h2, dp, x+nphi/2, y-bl, 72,   color(20, 200, 50, 100)); 
  vorm4_2 = new Drieh_nh(nphi, h2, dp, x+nphi/2, y-bl, 72,   color(20, 200, 50, 100));  
   
  vorm5_1 = new Drieh_nh(nphi, h2, dp, x+n/2,    y+rk, 144,  color(200, 0, 50, 100));  
  vorm5_2 = new Drieh_nh(nphi, h2, dp, x+n/2,    y+rk, 144,  color(200, 0, 50, 100));   
}     
void draw() {     
  background(#E6FBFF);    
  vorm0.display();     
  vorm1_1.display(); vorm1_2.display();    
  vorm2_1.display(); vorm2_2.display();   
  vorm3_1.display(); vorm3_2.display();   
  vorm4_1.display(); vorm4_2.display();   
  vorm5_1.display(); vorm5_2.display();  
  
  if (key == 's') {        
         
  }             
   else     
 {     
     
  vorm1_1.dpRotLi(vorm1_1);  vorm1_2.dpRotRe(vorm1_2);  
   
  vorm2_1.dpRotRe(vorm2_1);  vorm2_2.dpRotLi(vorm2_2); 
   
  vorm3_1.dpRotRe(vorm3_1);  vorm3_2.dpRotLi(vorm3_2); 
   
  vorm4_1.dpRotLi(vorm4_1);  vorm4_2.dpRotRe(vorm4_2); 
   
  vorm5_1.dpRotRe(vorm5_1);  vorm5_2.dpRotLi(vorm5_2); 
  }    
}  
 
void keyPressed() {       
  if (key == '1') {      
    dp= 3; 
    setup(); 
  } 
   
  if (key == '2') {         
    dp = 0;
    setup(); 
  }  
   
   if (key == '3') {         
    dp = 2;
    setup(); 
  }  
   
  if (key == '4') {         
    dp = 5; 
    setup(); 
  }  
   
  if (key == '5') {         
    dp = 6;
    setup(); 
  }  
}