Vhoek n7dp1 6

zeshoeken 1 t/m 6 in hun draaipunten

 

 

Vhoek n7dp1 8

zeshoeken 1 t/m 8 in hun draaipunten

 

 

Vhoek n6 dprot1

 

Vhoek n6 dprot2

 

Vhoek n6 dprot0

de vier roterende zeshoeken
zie de schets voor de code
 
 
Vhoek n6 dprot3
 
 
Vhoek n6 dprot4
header Vhoek n6
 
zeshoek "Vhoek_n6"                                               terug naar de inleiding      naar het voorbeeld animatie met zeshoeken
 
De zeshoek bestaat uit 6 gelijkzijdige driehoeken met zijde n.
De binnenhoek is 120 graden. De zeshoek staat bij een hoek van 30 graden op een hoekpunt.
hoogte van vlak naar vlak  of diameter van de binnencirkel   = 2*hn = 2*sqrt(3*n*n/4);
hoogte van hoek naar hoek of diameter van de buitencirkel  = 2*n
 
 

class Vhoek_n6 extends Vormen { 
Vhoek_n6(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);  
 // noStroke();  
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek)); 
 float  hn = sqrt(3*n*n/4); 
 beginShape();  
 if (d == 0) {vertex(-n/2, hn);vertex(-n, 0); vertex(-n/2, -hn);   
 vertex(n/2, -hn); vertex(n, 0); vertex(n/2, hn);}   
 if (d == 1) {vertex(0, 0);vertex(-n/2, -hn);vertex(0, -2*hn);   
 vertex(n, -2*hn); vertex(3*n/2, -hn); vertex(n, 0);}   
 if (d == 2) {vertex(n/2, hn); vertex(0, 0); vertex(n/2, -hn);    
 vertex(3*n/2, -hn); vertex(2*n, 0); vertex(3*n/2, hn);}   
 if (d == 3) {vertex(0, 2*hn); vertex(-n/2, hn); vertex(0, 0);    
 vertex(n, 0); vertex(3*n/2, hn); vertex(n, 2*hn);}  
 if (d == 4) {vertex(-n, 2*hn); vertex(-3*n/2, hn); vertex(-n, 0);    
 vertex(0, 0); vertex(n/2, hn); vertex(0, 2*hn);}  
 if (d == 5) {vertex(-3*n/2, hn); vertex(-2*n , 0); vertex(-3*n/2, -hn);    
 vertex(-n/2, -hn); vertex(0, 0); vertex(-n/2, hn);}   
 if (d == 6) {vertex(-n, 0); vertex(-3*n/2, -hn); vertex(-n, -2*hn);    
 vertex(0, -2*hn); vertex(n/2 ,-hn); vertex(0, 0);}  
 if (d == 7) {vertex(-n/2, 0); vertex(-n, -hn); vertex(-n/2, -2*hn);    
 vertex(n/2, -2*hn); vertex(n, -hn); vertex(n/2, 0);}  
 if (d == 8) {vertex(-n/2, 2*hn); vertex(-n, hn); vertex(-n/2, 0);    
 vertex(n/2, 0); vertex(n, hn); vertex(n/2, 2*hn);}   
 endShape(CLOSE);  
 popMatrix();  
 }  
} 

 
schets met 4 roterende zeshoeken
 
 
 

Vormen [] vorm; 
 
void setup() { 
  size(780, 560); 
 // fullScreen(); 
  float x = width/2; 
  float y = height/2; 
  float n = height/7; 
  float  hn = sqrt(3*n*n/4); 
  vorm = new Vormen[7]; 
  vorm[0] = new Vhoek_n6(n, 0, x, y, 0, color(255, 255, 0, 100)); 
  vorm[1] = new Vhoek_n6(n, 6, x-n/2, y-hn, 0, color(255, 0, 0, 100)); 
  vorm[2] = new Vhoek_n6(n, 1, x+n/2, y-hn, 0, color(0, 200, 255, 100)); 
  vorm[3] = new Vhoek_n6(n, 4, x-n/2, y+hn, 0, color(0, 255, 0, 100)); 
  vorm[4] = new Vhoek_n6(n, 3, x+n/2, y+hn, 0, color(0, 0, 255, 100)); 
  vorm[5] = new Vhoek_n6(n, 8, x, y+hn, 0, color(100, 255, 0, 50)); 
  vorm[6] = new Vhoek_n6(n, 7, x, y-hn, 0, color(255, 100, 0, 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 < 7; i++) 
  { 
  vorm[i].display(); 
  } 
   
  vorm[1].dpRotLi(vorm[1]); 
  vorm[2].dpRotRe(vorm[2]); 
  vorm[3].dpRotRe(vorm[3]); 
  vorm[4].dpRotLi(vorm[4]);  
} 
 
void keyPressed() {        
   if (key == 's') {       
    noLoop();       
  }      
        
   if (key == 'r') {          
    loop();       
  }       
}