lr = 1, r = 4"lr" = 1, aantal rechthoeken "r" = 4
zo zijn de 3 vierkanten n, a en b ontstaan
 
 
 
 
 
 
 
 
lr = 0, r = 4

 

"lr" = 0

 

 

 

 

 

 

lr = 1 , r = 6 rotatie = 90 graden

"lr" = 1, aantal rechthoeken: "r" = 6, rotatie: -90 graden
zo zijn de 5 rechthoeken, n ,a , b, c en d ontstaan.
 
 
rechth 9g 01
                  rechthoeken "lr" = 0, "r" = 9                     rechthoeken "lr" = 1, "r" = 9
                                            De draaipunten staan in het (0,0) punt
 
 
gouden rechthoeken  "Rechth_9g_gk"           terug naar de inleiding

 

Met deze class kan je max 9 gouden rechthoeken creeeren, zo ontstaan 8 vierkanten
"Rechth_9g_gk" is een hulpmiddel om spiralen en andere gouden vormen in een schets te positioneren.  gk dwz van groot naar klein, zie argument 4
 

De argumenten van de constructor

1) "n" = lengte van de korte zijde van de rechthoek, 2) "sw" = dikte van de lijnen, 3) "lr" = 0 rechthoeken staan links, "lr" = 1 rechthoeken staan rechts

4) "r" = aantal rechthoeken (max 9), van groot naar klein, dus met "r" = 1 is de grootste rechthoek zichtbaar

5) en 6) x, y positie, 7) hoek, 8) kleur van de lijnen

n, a, b, c, d, e, f, g en h zijn de korte zijden van de 9 gouden rechthoeken en de zijden van de 8 ontstane vierkanten

 

 

class Rechth_9g_gk extends Vormen {  
   
  Rechth_9g_gk(float n_, int sw_, int lr_, int r_, float x_, float y_, float hoek_, color c1_) {  
    super();  
    n = n_; sw = sw_; lr = lr_; x = x_; y = y_;   
    hoek = hoek_;  c1 = c1_; r = r_;  
  }   
  void display() {  
    stroke(c1); 
    strokeWeight(sw); 
    noFill(); 
    pushMatrix();  
    translate(x, y);  
    rotate(radians(hoek));    
    float phi= (1+sqrt(5))/2; 
    float nphi = n*phi; 
    float a = nphi-nphi/phi, b = n-n/phi , c = a-a/phi, d = b-b/phi; 
    float e = c-c/phi , f = d-d/phi , g = e-e/phi , h = f-f/phi;   
    beginShape();   
    if ((r==1 || r==2 || r==3 || r==4 || r==5 || r==6 || r==7 || r==8 || r==9) && lr==0)  
    {vertex(0,0); vertex(0,-n); vertex(-nphi,-n); vertex(-nphi,0);}  
    endShape(CLOSE); 
    beginShape(); 
    if ((r==1 || r==2 || r==3 || r==4 || r==5 || r==6 || r==7 || r==8 || r==9) && lr==1)  
    {vertex(0,0); vertex(0,-n); vertex(nphi,-n); vertex(nphi ,0);}  
    endShape(CLOSE);   
    beginShape(); 
    if ((r==2 || r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==0) 
    {vertex(-n,0); vertex(-n,-n); vertex(-(n+a),-n); vertex(-(n+a),0);} 
    endShape(CLOSE); 
    beginShape(); 
    if ((r==2 || r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==1) 
    {vertex(n,0); vertex(n,-n); vertex(n+a,-n); vertex(n+a,0);}      
    endShape(CLOSE);       
    beginShape(); 
    if ((r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
   {vertex(-n, 0); vertex(-n, -b); vertex(-(n+a), -b); vertex(-(n+a),0);}  
    endShape(CLOSE);     
    beginShape(); 
    if ((r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==1)  
   {vertex(n, 0); vertex(n, -b); vertex(n+a, -b); vertex(n+a,0);}  
    endShape(CLOSE);        
    beginShape(); 
    if ((r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
   {vertex(-n,0);vertex(-n,-b); vertex(-(n+c),-b); vertex(-(n+c),0);}  
    endShape(CLOSE);       
    beginShape(); 
    if ((r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==1)  
   {vertex(n,0);vertex(n,-b); vertex(n+c,-b); vertex(n+c,0);}  
    endShape(CLOSE);     
    beginShape(); 
    if ((r == 5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
    {vertex(-n,-c); vertex(-n,-(c+d)); vertex(-(n+c),-(c+d)); vertex(-(n+c),-c);}   
    endShape(CLOSE);     
    beginShape(); 
    if ((r == 5 || r==6 || r==7 || r==8 || r==9) && lr==1)  
    {vertex(n,-c); vertex(n,-(c+d)); vertex(n+c,-(c+d)); vertex(n+c,-c);}   
    endShape(CLOSE);     
    beginShape(); 
    if ((r==6 || r==7|| r==8  || r==9) && lr==0)  
    {vertex(-(n+c-e), -c);vertex(-(n+c-e), -(d+c));vertex(-(n+c), -(d+c));vertex(-(n+c), -c);}         
    endShape(CLOSE);      
    beginShape(); 
    if ((r==6 || r==7|| r==8 || r==9) && lr==1)  
    {vertex(n+c-e, -c);vertex(n+c-e,-(d+c));vertex(n+c, -(d+c));vertex(n+c,-c);}         
    endShape(CLOSE);        
    beginShape(); 
    if ((r==7 || r==8 || r==9) && lr==0)  
    {vertex(-(n+d),-c);vertex(-(n+d),-(c+f));vertex(-(n+d+e),-(c+f));vertex(-(n+d+e),-c);} 
    endShape(CLOSE);    
    beginShape(); 
    if ((r==7|| r==8 || r==9) && lr==1)  
    {vertex(n+d,-c);vertex(n+d,-(c+f));vertex(n+d+e,-(c+f));vertex(n+d+e,-c);}         
    endShape(CLOSE);    
    beginShape(); 
    if ((r==8 || r==9) && lr==0)  
    {vertex(-(n+d), -c);vertex(-(n+d), -(c+f));vertex(-(n+d+g), -(f+c));vertex(-(n+d+g), -c);}       
    endShape(CLOSE);     
    beginShape(); 
    if ((r==8 || r==9) && lr==1)  
    {vertex(n+d, -c);vertex(n+d, -(c+f));vertex(n+d+g, -(f+c));vertex(n+d+g, -c);}         
    endShape(CLOSE);     
    beginShape(); 
    if (r==9 && lr==0)  
    {vertex(-(n+d),-c);vertex(-(n+d), -(c+f-h));vertex(-(n+d+g),-(c+f-h));vertex(-(n+d+g), -c);}       
    endShape(CLOSE);      
    beginShape(); 
    if (r==9 && lr==1)  
    {vertex(n+d,-c);vertex(n+d,-(c+f-h));vertex(n+d+g,-(c+f-h));vertex(n+d+g, -c);}         
    endShape(CLOSE);  
    popMatrix();  
    strokeWeight(1); 
  }  
}