De li (lr = 0) en re (lr = 1) driehoek
met de top in het (0,0) punt

 

 

voor de li (lr = 0) driehoek x-n/2
voor de re (lr = 1) driehoek x+n/2
 
li en re driehoek r = 2
gouden driehoeken.  "Drieh_9gt_gk"              terug naar de inleiding
 

9 gouden driehoeken met de top van de driehoek in het (0,0) punt

"9gt" dwz 9 gouden driehoeken met het draaipunt in de top van de grootste driehoek, "gk' dwz van groot naar klein, zie argument 4
 
Door de 9 gulden driehoeken (36,72,72) ontstaan 8 gulden gnomen (36,36,108)
 
De argumenten van de constructor

1) "n" = de basis  van de eerste grootste, driehoek, 2) "sw" = dikte van de lijnen, 3) "lr" = 0 driehoek naar links, "lr" = 1 driehoek naar rechts

4) "r" = aantal driehoeken (max 9), van groot naar klein, dus voor "r" = 1 is de grootste driehoek zichtbaar.

5) en 6)  x, y positie van de top van de  grootste driehoek  dit is ook het draaipunt, 7) hoek, 8) kleur van de driehoeken

 

class Drieh_9gt_gk extends Vormen {  
  
 Drieh_9gt_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 h1 = nphi*sin(radians(72)); float a = nphi-nphi/phi;  
 float ax1 = (nphi-a)*cos(radians(72)); float ay1 = (nphi-a)*sin(radians(72));  
 float b = n-n/phi; float ay2 = ay1+b*sin(radians(36));  
 float c = a-a/phi; float bx1 = c*cos(radians(36)); 
 float by1 = ay2+c*sin(radians(36));  
 float d = b-b/phi; float e = c-c/phi; float f = d-d/phi; float h = f-f/phi; 
 float ex1 = c-(e-f*cos(radians(72))); float ey1 = ay2+f*sin(radians(72));  
 float fx1 = (c-e)+f*cos(radians(36)); float fy1 = ay2+f*sin(radians(36));  
 float gx1 = (c-e)+(f-h)*cos(radians(36)); float gy1 = ay2+(f-h)*sin(radians(36));  
  
 //Driehoek schuine zijde: nphi, basis: n 
 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(n/2,h1); vertex(-n/2,h1);}  
 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(n/2,h1); vertex(-n/2,h1);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: n, basis: a  
 beginShape();  
 if ((r==2 || r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
 {vertex(n/2,h1); vertex(ax1, ay1); vertex(-n/2,h1);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r==2 || r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==1)  
 {vertex(-n/2,h1); vertex(-ax1,ay1); vertex(n/2,h1);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: a, basis: b  
 beginShape();  
 if ((r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
 {vertex(n/2, h1); vertex(ax1, ay1); vertex(0, ay2);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r==3 || r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==1)  
 {vertex(-n/2, h1); vertex(-ax1, ay1); vertex(0, ay2);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: b basis: c  
 beginShape();  
 if ((r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
 {vertex(bx1,by1);vertex(ax1,ay1); vertex(0,ay2);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r==4 || r==5 || r==6 || r==7|| r==8 || r==9) && lr==1)  
 {vertex(-bx1,by1);vertex(-ax1,ay1); vertex(0,ay2);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: c, basis: d 
 beginShape();  
 if ((r == 5 || r==6 || r==7|| r==8 || r==9) && lr==0)  
 {vertex(bx1, by1); vertex(c ,ay2); vertex(0,ay2);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r == 5 || r==6 || r==7 || r==8 || r==9) && lr==1)  
 {vertex(-bx1, by1); vertex(-c,ay2); vertex(0, ay2);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: d, basis: e  
 beginShape();  
 if ((r==6 || r==7|| r==8 || r==9) && lr==0)  
 {vertex(bx1, by1);vertex(c,ay2);vertex(c-e, ay2);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r==6 || r==7|| r==8 || r==9) && lr==1)  
 {vertex(-bx1, by1);vertex(-c,ay2);vertex(-(c-e), ay2);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: e, basis: f,  
 beginShape();  
 if ((r==7 || r==8 || r==9) && lr==0)  
 {vertex(ex1,ey1); vertex(c, ay2);vertex(c-e,ay2);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r==7|| r==8 || r==9) && lr==1)  
 {vertex(-ex1,ey1); vertex(-c,ay2);vertex(-(c-e),ay2);}  
 endShape(CLOSE);  
 //driehoek schuine zijde: f basis: g  
 beginShape();  
 if ((r==8 || r==9) && lr==0)  
 {vertex(fx1, fy1); vertex(c-e, ay2);vertex(ex1, ey1);}  
 endShape(CLOSE);  
 beginShape();  
 if ((r==8 || r==9) && lr==1)  
 {vertex(-fx1, fy1); vertex(-(c-e), ay2);vertex(-ex1, ey1);}  
 endShape(CLOSE);  
 //Driehoek schuine zijde: g basis: h 
 beginShape();  
 if (r==9 && lr==0)  
 {vertex(ex1,ey1);vertex(fx1,fy1);vertex(gx1,gy1);}  
 endShape(CLOSE);  
 beginShape();  
 if (r==9 && lr==1)  
 {vertex(-ex1,ey1);vertex(-fx1,fy1);vertex(-gx1,gy1);}  
 endShape(CLOSE);  
 popMatrix();  
 strokeWeight(1);  
 }  
}