roterende gouden driehoeken en rechthoeken                              terug naar de inleiding

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

Bekijk de  roterende gouden driehoeken en rechthoeken

Omdat geld n*phi = phi-n  geld  ook n*phi = n+n/phi

 

Vormen vorm0;   
Vormen vorm1;    
Vormen vorm2;    
Vormen vorm3;    
Vormen vorm4;  
Vormen vorm5; 
Vormen vorm6; 
Vormen vorm7; 
Vormen vorm8; 
 
void setup() {    
  size(780, 560);  
  float x = width/2;    
  float y = height/2;    
  float n = height/6;  
  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 is de lijn van vlak naar hoek en is dus de hoogtelijn van de gouden driehoek 
  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 h = n+n/phi;   //h is de lengte van de gouden rechthoek 
  vorm0 = new Vhoek_n5(n, 0, x, y, 0, color(255, 255, 0, 100)); 
  vorm1 = new Rechthoek(n, h, 7, x-nphi/2, y-bl, 0, color(100, 255, 0, 100));    
  vorm2 = new Rechthoek(n, h, 1, x+nphi/2, y-bl, 0, color(255, 0, 0, 100));    
  vorm3 = new Rechthoek(n, h, 5, x-n/2, y+rk, 0, color(0, 0, 255, 100));    
  vorm4 = new Rechthoek(n, h, 3, x+n/2, y+rk, 0, color(122, 200, 100, 100)); 
  vorm5 = new Drieh_nh(n, h1, 1, x-nphi/2, y-bl, -36, color(200, 200, 50, 100));  
  vorm6 = new Drieh_nh(n, h1, 5, x+nphi/2, y-bl, 36, color(200, 200, 50, 100));  
  vorm7 = new Drieh_nh(n, h1, 1, x-n/2, y+rk, 180, color(200, 200, 50, 100));  
  vorm8 = new Drieh_nh(n, h1, 5, x+n/2, y+rk, 180, color(200, 200, 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.display();    
  vorm2.display();     
  vorm3.display();    
  vorm4.display(); 
  vorm5.display();    
  vorm6.display(); 
  vorm7.display();    
  vorm8.display(); 
 
  vorm1.dpRotLi(vorm1);   
  vorm2.dpRotRe(vorm2);   
  vorm3.dpRotRe(vorm3);   
  vorm4.dpRotLi(vorm4); 
  vorm5.dpRotRe(vorm5);   
  vorm6.dpRotLi(vorm6); 
  vorm7.dpRotLi(vorm7);   
  vorm8.dpRotRe(vorm8); 
}   
 
void keyPressed() {      
  if (key == 's') {     
    noLoop(); 
  }    
 
  if (key == 'r') {        
    loop(); 
  } 
}