v

 

 

 

vhoek na3 header
 
zeshoek "Vhoek_n2a4"                     ga naar de draaiende zeshoeken                       terug naar de inleiding
 
De zeshoek bestaat uit 2  zijden n. en 4 zijden a = sqrt(2*n*n)    
 
argumenten van de constructor: 1) grootte n, 2) d draaipunt 3) x positie van het draaipunt, 4) y positie van het draaipunt 5) hoek, 6) kleur
 
 

class Vhoek_n2a4 extends Vormen { 
Vhoek_n2a4(float n_, int d_, float x_, float y_, float hoek_, color c1_) {  
 super();  
 n = n_; d = d_; x = x_;  y = y_;   
 hoek = hoek_;c1 = c1_;  
  
 } 
void display() {  
 fill(c1);  
// strokeWeight(2);  
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek)); 
 beginShape();  
 if (d == 0) {vertex(-n/2,n);  vertex(-1.5*n,0); vertex(-n/2,-n);   
              vertex(n/2,-n);  vertex(1.5*n,0);  vertex(n/2,n);}               
 if (d == 1) {vertex(0,0);     vertex(-n,-n);    vertex(0,-2*n);   
              vertex(n,-2*n);  vertex(2*n,-n);   vertex(n,0);}               
 if (d == 2) {vertex(n,n);     vertex(0,0);      vertex(n,-n);    
              vertex(2*n,-n);  vertex(3*n,0);    vertex(2*n,n);}              
 if (d == 3) {vertex(0,2*n);   vertex(-n,n);     vertex(0,0);    
              vertex(n,0);     vertex(2*n,n);    vertex(n,2*n);}               
 if (d == 4) {vertex(-n,2*n);  vertex(-2*n,n);   vertex(-n,0);    
              vertex(0,0);     vertex(n,n);      vertex(0,2*n);}               
 if (d == 5) {vertex(-2*n,n);  vertex(-3*n,0);   vertex(-2*n,-n);    
              vertex(-n,-n);   vertex(0,0);      vertex(-n,n);}               
 if (d == 6) {vertex(-n,0);    vertex(-2*n,-n);  vertex(-n,-2*n);    
              vertex(0,-2*n);  vertex(n,-n);     vertex(0,0);}                            
 if (d == 7) {vertex(-n/2,0);  vertex(-1.5*n,-n);vertex(-n/2,-2*n);    
              vertex(n/2,-2*n);vertex(1.5*n,-n); vertex(n/2,0);}               
 if (d == 8) {vertex(-n/2,2*n);vertex(-1.5*n,n); vertex(-n/2,0);    
              vertex(n/2,0);   vertex(1.5*n,n);  vertex(n/2,2*n);}   
 endShape(CLOSE);  
 popMatrix();  
 }  
} 

 
schets met 8 roterende zeshoeken
 
 

Vormen [] vorm; 
 
void setup() { 
 
  size(780, 560); 
// fullScreen(); 
  float x = width/2; 
  float y = height/2; 
  float n = height/8; 
  float a = sqrt(2*n*n); 
  vorm = new Vormen[8]; 
  vorm[0] = new Vhoek_n2a4(n, 2, x-1.5*a, y, -45, color(255, 255, 0, 100)); 
  vorm[1] = new Vhoek_n2a4(n, 5, x+1.5*a, y,  45, color(255, 0, 0, 100)); 
  vorm[2] = new Vhoek_n2a4(n, 2, x+1.5*a, y, 135, color(255, 255, 0, 100)); 
  vorm[3] = new Vhoek_n2a4(n, 5, x-1.5*a, y,-135, color(255, 0, 0, 100)); 
   
  vorm[4] = new Vhoek_n2a4(n, 6, x, y-a/2, -45, color(26,237, 225, 100)); 
  vorm[5] = new Vhoek_n2a4(n, 1, x, y-a/2,  45, color(100, 200, 50, 100)); 
  vorm[6] = new Vhoek_n2a4(n, 3, x, y+a/2, -45, color(26,237, 225, 100)); 
  vorm[7] = new Vhoek_n2a4(n, 1, x, y+a/2,-135, color(100, 200, 0, 100)); 
} 
 
void draw() { 
   background(#E6FBFF); 
// background(0);  
   for (int i = 0; i < 8; i++)   
  {   
    vorm[i].display();   
  }       
    vorm[0].dpRotLi(vorm[0]);   
    vorm[1].dpRotRe(vorm[1]);   
    vorm[2].dpRotLi(vorm[2]);   
    vorm[3].dpRotRe(vorm[3]); 
     
    vorm[4].dpRotLi(vorm[4]);   
    vorm[5].dpRotRe(vorm[5]);   
    vorm[6].dpRotLi(vorm[6]);   
    vorm[7].dpRotRe(vorm[7]);  
} 
 
void keyPressed() {       
  if (key == 's') {      
    noLoop();   
  }     
   
  if (key == 'r') {         
    loop();   
  }   
}