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

 

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 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 lijn van de vijfhoek  
  float nphi = n+n/phi;            //nphi 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, nphi, 7, x-nphi/2, y-bl, 0,  color(100, 255, 0, 100));     
  vorm2 = new Rechthoek(n, nphi, 1, x+nphi/2, y-bl, 0,  color(255, 0, 0, 100));     
  vorm3 = new Rechthoek(n, nphi, 5, x-n/2,    y+rk, 0,  color(0, 0, 255, 100));     
  vorm4 = new Rechthoek(n, nphi, 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();  
  }  
}