vhoek n5 dp0 6

Vijfhoeken in draaipunten 0 t/m 6

 

vhoek cirkels

De vijfhoek met binnencirkel, straal = rk
en buitencirkel, straal = rl

 

 

 

 

vhoek n5dp1

 

 

 

 

 

vhoek n5dp2

 

 

 

vhoek n5dp3

Zie de schets voor de code

 

 

 

vhoek n5dp4

 

vhoek n5dp5

header vhoek n5
 
vijfhoek "Vhoek_n5"                                        terug naar de inleiding                ga ook naar het voorbeeld vijfhoeken en driehoeken
 
De binnenhoek is 108 graden. De vijfhoek staat bij een hoek van 36 graden op een hoekpunt.
 
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 hoek 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 hoek 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();    
  }    
 }