roterende gouden driehoeken rond een vijfhoek                              terug naar de inleiding

De schets maakt gebruik van de classes     "Drieh_nh"   ,  "Vhoek_n5"  en de superclass  ¨Vormen¨.

Bekijk de  10 roterende gouden driehoeken rond een vijfhoek

 

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; 
 
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, 3, x-n/2,    y+rk, -144, color(200, 0, 50, 100)); 
  vorm1_2 = new Drieh_nh(nphi, h2, 3, x-n/2,    y+rk, -144, color(200, 0, 50, 100)); 
   
  vorm2_1 = new Drieh_nh(nphi, h2, 3, x-nphi/2, y-bl, -72,  color(20, 200, 50, 100));  
  vorm2_2 = new Drieh_nh(nphi, h2, 3, x-nphi/2, y-bl, -72,  color(20, 200, 50, 100));  
   
  vorm3_1 = new Drieh_nh(nphi, h2, 3, x,        y-rl,   0,  color(20, 20, 200, 100));  
  vorm3_2 = new Drieh_nh(nphi, h2, 3, x,        y-rl,   0,  color(20, 20, 200, 100));  
   
  vorm4_1 = new Drieh_nh(nphi, h2, 3, x+nphi/2, y-bl, 72,   color(20, 200, 50, 100)); 
  vorm4_2 = new Drieh_nh(nphi, h2, 3, x+nphi/2, y-bl, 72,   color(20, 200, 50, 100));  
   
  vorm5_1 = new Drieh_nh(nphi, h2, 3, x+n/2,    y+rk, 144,  color(200, 0, 50, 100));  
  vorm5_2 = new Drieh_nh(nphi, h2, 3, x+n/2,    y+rk, 144,  color(200, 0, 50, 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);        
  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();  
     
  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 == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
}