Vijfhoeken in draaipunten 0 t/m 6

 

binnencirkel, straal (blauw) = rk,  buitencirkel, straal (groen) = rl, <br> rode nphi lijn van hoek naar hoek

binnencirkel, straal (blauw) = rk
buitencirkel, straal (groen) = rl
rode nphi lijn van hoek naar hoek
 
 

 

 

 

 

 

 

 

 

 

 

 

 

Zie de schets voor de code

 

 

 

 

header vhoek n5
 
vijfhoek "Vhoek_n5"           terug naar de inleiding           ga ook naar de voorbeelden  vijfhoeken en gouden driehoeken  en gouden driehoeken en rechthoeken
 
De binnenhoek is 108 graden. De vijfhoek staat bij een hoek van 36 graden op een hoekpunt.     Ga naar de site met de formules
 
float rl      = sqrt(50+10*sqrt(5))*n/10;  //  rl is de lange straal of straal van de buitencirkel
float rk     = sqrt(25+10*sqrt(5))*n/10;  //  rk is de korte straal of straal van de binnencirkel
float h      = (rl+rk);                               //  h is de lijn van vlak naar hoek
float nphi = ((1+sqrt(5))/2)*n;               //  nphi (n * het gouden getal) is de lijn van hoek naar hoek
float phi   = ((1+sqrt(5))/2);                  //  phi wordt gebruikt in k en bl
float k      = rl/2*(3-phi);                        //  k is de lijn van de tophoek naar de nphi lijn
float bl     = rl/(2*phi);                           //  bl is de lijn van het middelpunt naar de nphi lijn
 
 

class Vhoek_n5 extends Vormen { 
Vhoek_n5(float n_, int d_, float x_, float y_, float hoek_, color c1_) {  
 super();  
 n = n_;   
 x = x_;   
 y = y_;   
 hoek = hoek_;  
 c1 = c1_;  
 d = d_;  
 } 
void display() {  
 fill(c1);  
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek)); 
 float rl = sqrt(50+10*sqrt(5))*n/10; //rl is de lange straal 
 float rk = sqrt(25+10*sqrt(5))*n/10; //rk is de korte straal 
 float h  = (rl+rk);            //h is de lijn van vlak naar hoek 
 float nphi= ((1+sqrt(5))/2)*n; //nphi is de lijn van hoek naar hoek 
 float phi= ((1+sqrt(5))/2);    //phi wordt gebruikt in k en bl 
 float k  = rl/2*(3-phi);       //k is de lijn van de tophoek naar de nphi lijn 
 float bl = rl/(2*phi);         //bl is de lijn van het middelpunt naar de nphi lijn 
 beginShape();  
 if (d == 0) {vertex(-n/2,rk);vertex(-nphi/2,-bl);vertex(0,-rl); 
 vertex(nphi/2,-bl);vertex(n/2,rk);}     
 if (d == 1) {vertex(0,0);vertex(-(nphi/2-n/2),-(h-k));vertex(n/2,-h); 
 vertex(n/2+nphi/2,-(h-k));vertex(n,0);}    
 if (d == 2) {vertex((nphi/2-n/2),(h-k));vertex(0,0);vertex(nphi/2,-k); 
 vertex(nphi,0);vertex(n+nphi/2-n/2,(h-k));}    
 if (d == 3) {vertex(-n/2,h);vertex(-nphi/2,k);vertex(0, 0);  
 vertex(nphi/2,k);vertex(n/2,h);}     
 if (d == 4) {vertex(-(n+(nphi/2-n/2)),h-k);vertex(-nphi,0);vertex(-nphi/2,-k); 
 vertex(0, 0);vertex(-(nphi/2-n/2),h-k);}     
 if (d == 5) {vertex(-n,0);vertex(-(nphi/2-n/2+n),-(h-k));vertex(-n/2,-h); 
 vertex(nphi/2-n/2,-(h-k));vertex(0,0);}     
 if (d == 6) {vertex(-n/2,0);vertex(-nphi/2,-(h-k));vertex(0,-h); 
 vertex(nphi/2,-(h-k));vertex(n/2,0);}  
 endShape(CLOSE);  
 popMatrix();  
 }  
} 

 
schets met 4 roterende vijfhoeken
 
 
 

Vormen[] vorm;  
void setup() { 
 
  size(780, 560); 
 // fullScreen(); 
  float x = width/2; 
  float y = height/2; 
  float n = height/5; 
  vorm = new Vormen[9];  
  float rl = sqrt(50+10*sqrt(5))*n/10; //rl is de lange straal 
  float nphi= ((1+sqrt(5))/2)*n; //nphi is de lijn van hoek naar hoek, wordt gebruikt in k en bl 
  float phi= ((1+sqrt(5))/2);    //phi wordt gebruikt in k en bl 
  float bl = rl/(2*phi);         //bl is de loodlijn van het middelpunt naar de lijn van hoek naar hoek 
  vorm[0] = new Vhoek_n5(n, 0, x, y, 0, color(255, 255, 0, 100)); 
  vorm[1] = new Vhoek_n5(n, 1, x, y, 0, color(255, 0, 0, 100)); 
  vorm[2] = new Vhoek_n5(n, 2, x, y, 0, color(0, 0, 255, 100)); 
  vorm[3] = new Vhoek_n5(n, 3, x, y, 0, color(0, 255, 0, 100)); 
  vorm[4] = new Vhoek_n5(n, 4, x, y, 0, color(255, 0, 100, 100)); 
  vorm[5] = new Vhoek_n5(n, 5, x, y, 0, color(100, 0, 200, 100)); 
  vorm[6] = new Vhoek_n5(n, 6, x, y, 0, color(200, 0, 100, 100)); 
  vorm[7] = new Vhoek_n5(n, 4, x-nphi/2, y-bl, 0, color(100, 200, 0, 100)); 
  vorm[8] = new Vhoek_n5(n, 2, x+nphi/2, y-bl, 0, color(200, 0, 100, 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);  
   
  for (int i = 0; i < 9; i++)   
  { 
    vorm[i].display();  
}   
   
  vorm[7].dpRotLi(vorm[7]); 
  vorm[8].dpRotRe(vorm[8]); 
  vorm[1].dpRotLi(vorm[1]); 
  vorm[5].dpRotRe(vorm[5]); 
} 
 
void keyPressed() {     
   if (key == 's') {    
    noLoop();    
  }     
   if (key == 'r') {       
    loop();    
  }    
 }