De li en re spiraal met de driehoeken als achtergrond

De li en re spiraal met de driehoeken als achtergrond

 

 

kleinste boog zichtbaar, "r" = 1

kleinste boog zichtbaar, "r" = 1

 

 

De spiralen, voor de driehoek "r" = 8 en voor de spiraal "r" = 7

De spiralen, voor de driehoek "r" = 8
en voor de spiraal "r" = 7
 
 
 
 
de linker en rechter spiraal
 
de linker en rechter spiraal
 
 
spiraal re hoek 18 gr,  spiraal li hoek -18 gr
 
rechter spiraal hoek 18 gr,
linker spiraal hoek -18 gr

gouden spiraal.  "Spiraal_8gd_kg"              terug naar de inleiding

Spiraal_8gd_kg is een spiraal van 8 bogen van 108 graden samengesteld met met 8 gnomons  die  zijn ontstaan door de 9 gouden driehoeken

"8gd" dwz 8 gouden spiralen afgeleid van 9 gouden driehoeken,  "kg" = van klein naar groot, zie argument 4

De argumenten van de constructor

1) "n" = de straal  van de negende boog (boog van 108 graden in gnomon "n"),  2) "sw" = dikte van de lijnen,  3) "lr" = 0 spiraal naar links, "lr" = 1 spiraal naar rechts

4) "r" = aantal bogen (max 8), van klein naar groot, dus voor "r" = 1 is alleen de kleinste boog zichtbaar.

5) en 6) x, y positie van de li spiraal is het punt linksonder, van de rechter spiraal is dit het punt rechtsonder dit zijn ook de draaipunten,

 7) hoek,  8) kleur van de lijnen van de spiraal

 

 

class Spiraal_8gd_kg extends Vormen { 
  
 Spiraal_8gd_kg(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);  
 noFill();  
 strokeWeight(sw);  
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek));  
 float phi= (1+sqrt(5))/2;  
 float nphi = n*phi;  
 float a = nphi-nphi/phi; 
 float ax1 = a*cos(radians(72)); float ay1 = a*sin(radians(72)); 
 float ax2 = a*cos(radians(36)); float ay2 = a*sin(radians(36.)); 
 float b = n-n/phi; float c = a-a/phi; 
 float bx1 = (a-c)*cos(radians(36)); float by1 = (a-c)*sin(radians(36)); 
 float d = b-b/phi; float f = d-d/phi; 
 float cx1 = ax2-c; float dx1 = ax2-d; 
 float ex1 = (n/2-d)-f*cos(radians(72));float ey1 = ay2-f*sin(radians(72)); 
 float e = c-c/phi; float fx1 = n/2-(d+e/2); 
 float fy1 = ay2 - f*sin(radians(36)); 
 float g = e-e/phi; float h = f-f/phi; 
 float gx1 = fx1 + h*cos(radians(36)); float gy1 = fy1 + h*sin(radians(36));  
 //Gulden Gnomon (36,36,108) ontstaan door de gulden driehoek (36,72,72) 
 if (r==8 && lr==0)  
 arc(-ax1,-ay1, ax2*4 ,ax2*4, radians(144), radians(252));  
 if (r==8 && lr==1)  
 arc(ax1,-ay1, ax2*4,ax2*4, radians(288), radians(396));  
 if ((r==7 || r==8) && lr==0)  
 arc(-ax2,-ay2, a*2 ,a*2,radians(36), radians(144));  
 if (( r==7 || r==8) && lr==1)  
 arc(ax2,-ay2, a*2,a*2, radians(36) , radians(144));  
 if ((r==6 || r==7 || r==8) && lr==0)  
 arc(-bx1,-by1, b*2 ,b*2, radians(288), radians(396));  
 if ((r==6 || r==7 || r==8) && lr==1)  
 arc(bx1,-by1, b*2,b*2, radians(144), radians(252));  
 if ((r==5 || r==6 || r==7 || r==8) && lr==0)  
 arc(-cx1,-ay2, c*2 ,c*2, radians(180), radians(288));  
 if ((r==5 || r==6 || r==7 || r==8) && lr==1)  
 arc(cx1,-ay2, c*2 ,c*2, radians(252), radians(360));  
 if ((r == 4 || r==5 || r==6 || r==7 || r==8) && lr==0)  
 arc(-dx1,-ay2, d*2 ,d*2, radians(72), radians(180));  
 if ((r == 4 ||r==5 || r==6 || r==7 || r==8) && lr==1)  
 arc(dx1,-ay2, d*2,d*2, radians(0), radians(108));  
 if ((r == 3 || r == 4 || r==5 || r==6 || r==7 || r==8) && lr==0)  
 arc(-ex1,-ey1, e*2 ,e*2, radians(324), radians(432));  
 if ((r == 3 || r == 4 || r==5 ||r==6 || r==7 || r==8) && lr==1)  
 arc(ex1,-ey1, e*2,e*2, radians(108), radians(216));  
 if ((r == 2 || r == 3 || r == 4 || r==5 ||r==6 ||r==7 || r==8) && lr==0)  
 arc(-fx1,-fy1, f*2 ,f*2, radians(216), radians(324));  
 if ((r == 2 || r == 3 || r == 4 || r==5 ||r==6 ||r==7 || r==8) && lr==1)  
 arc(fx1,-fy1, f*2,f*2, radians(216), radians(324)); 
 if ((r == 1 || r == 2 || r == 3 || r == 4 || r==5 ||r==6 ||r==7 || r==8) && lr==0) 
 arc(-gx1,-gy1, g*2 ,g*2, radians(108), radians(216));  
 if ((r == 1 ||r == 2 || r == 3 || r == 4 || r==5 ||r==6 ||r==7 || r==8) && lr==1)  
 arc(gx1,-gy1, g*2,g*2, radians(324), radians(432));  
 popMatrix();  
 strokeWeight(1);  
 }  
 }