zeshoeken 1 t/m 6 in hun draaipunten

 

 

zeshoeken 1 t/m 8 in hun draaipunten

 

 

 

 

de vier roterende zeshoeken
zie de schets voor de code
 
 
 
 
 
 
 
 
 
 

zeshoek ster

 
header Vhoek n6
 
zeshoek "Vhoek_n6"         bekijk de 4  roterende zeshoeken             terug naar de inleiding         naar het voorbeeld       animatie met negen zeshoeken
 
De zeshoek bestaat uit 6 gelijkzijdige driehoeken met zijde n.       ga naar de site met de formules
De binnenhoek is (6-2) * 180 / 6 = 120 graden. De zeshoek staat bij 30 graden rotatie op een hoekpunt.
De lijn van vlak naar vlak  of diameter van de binnencirkel   = 2*hn = 2*sqrt(3*n*n/4); = n*sqrt(3);   (sqrt(3); wordt ook wel de theodorus constante genoemd)
De lijn  van hoek naar hoek met twee tussenhoeken is de 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();       
  }       
}
 

zeshoek ster

De schets maakt gebruik van objecten van de classes  "Vhoek_n6" , "Drieh_nh" , "Ellips"   en de superclass "Vormen"

 

Vormen vorm0; 
Vormen vorm1; 
Vormen vorm2; 
Vormen vorm3; 
Vormen vorm4; 
  
void setup() {  
  size(780, 780);  
  float x = width/2;  
  float y = height/2;  
  float n = height/3;  
  
  vorm0 = new Vhoek_n6(n, 0, x, y, 30,                       color(255, 255, 0, 50)); 
  vorm1 = new Drieh_nh(n*sqrt(3), 1.5*n, 6, x, y+n/2, 0,     color(255, 0, 0, 50));  
  vorm2 = new Drieh_nh(n*sqrt(3), 1.5*n, 6, x, y-n/2, 180,   color(200, 0, 100, 50)); 
  vorm3 = new Ellips  (n*sqrt(3)/2, n*sqrt(3)/2 ,0, x, y, 0, color(255, 0)); 
  vorm4 = new Ellips  (n, n ,0, x, y, 0,                     color(255, 0)); 
}  
  
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);   
    
  vorm0.display(); 
  vorm1.display(); 
  vorm2.display(); 
  vorm3.display(); 
  vorm4.display(); 
}