de 9 hoeken

 

hoeken 3, 5 en 8

 

hoeken 0, 1, 7 en 8

 

hoeken 5, 2, 3 en 6

 

 

roterende hoeken, zie de schets voor de code

 

 

 

 

 

 

header hoek n4n

de 9 draaipunten

 

hoek, "Hoek_n4n"                                          terug naar de inleiding

hoek, n dik,  4n lang

 

 
class Hoek_n4n extends Vormen { 

 
Hoek_n4n(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));  
 beginShape(); 
 float a; 
 a = sqrt(2*n*n); 
 if (d == 0) {vertex(3*a/2, a/2); vertex(0, -a); vertex(-3*a/2 , a/2); vertex(-2*a, 0); vertex(0, -2*a); vertex(2*a, 0);} 
 if (d == 1) {vertex(3*a, 0); vertex(3*a/2, -3*a/2); vertex(0 , 0); vertex(-a/2, -a/2); vertex(3*a/2, -5*a/2); vertex(7*a/2, -a/2);} 
 if (d == 2) {vertex(7*a/2, a/2); vertex(2*a, -a); vertex(a/2 , a/2); vertex(0, 0); vertex(2*a, -2*a); vertex(4*a, 0);}  
 if (d == 3) {vertex(-a/2, 3*a/2);vertex(-a, a); vertex(a , -a); vertex(3*a, a); vertex(5*a/2, 3*a/2); vertex(a, 0);}  
 if (d == 4) {vertex(3*a/2, 5*a/2); vertex(0, a); vertex(-3*a/2 , 5*a/2);vertex(-2*a, 2*a); vertex(0, 0); vertex(2*a, 2*a);}  
 if (d == 5) {vertex(-5*a/2, 3*a/2);vertex(-3*a, a); vertex(-a , -a); vertex(a, a); vertex(a/2, 3*a/2); vertex(-a, 0);}  
 if (d == 6) {vertex(-a/2, a/2); vertex(-2*a, -a); vertex(-7*a/2 , a/2); vertex(-4*a, 0); vertex(-2*a, -2*a); vertex(0, 0);} 
 if (d == 7) {vertex(0, 0); vertex(-3*a/2, -3*a/2); vertex(-3*a, 0); vertex(-7*a/2, -a/2); vertex(-3*a/2, -5*a/2); vertex(a/2,-a/2);} 
 if (d == 8) {vertex(3*a/2, 3*a/2); vertex(0, 0); vertex(-3*a/2, 3*a/2); vertex(-2*a, a); vertex(0, -a); vertex(2*a, a);} 
 endShape(CLOSE); 
 popMatrix(); 
 } 
}
 
schets met roterende hoeken.   Bekijk de schets  op deze server
 
 

Vormen vorm0; Vormen vorm1; Vormen vorm2; 
Vormen vorm3; Vormen vorm4; Vormen vorm5; 
 
void setup()  { 
size(780,560); 
//fullScreen(); 
float x = width/2; 
float y = height/2; 
float n = height/16; 
float a = sqrt(2*n*n); 
 
vorm0 = new Hoek_n4n(n,2, x-4*a,  y-3*a/2,  0, color(255,255,0,100)); 
vorm1 = new Hoek_n4n(n,6, x+4*a,  y-3*a/2,  0, color(255,255,0,100)); 
vorm2 = new Hoek_n4n(n,2, x-4*a,  y-3*a/2, 90, color(255,0,0,100)); 
vorm3 = new Hoek_n4n(n,7, x,      y-a/2,  -90, color(0,0,255,100)); 
vorm4 = new Hoek_n4n(n,1, x,      y-a/2,   90, color(0,255,0,100)); 
vorm5 = new Hoek_n4n(n,6, x+4*a,  y-3*a/2,-90, color(0,255,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);  
  vorm0.display(); 
  vorm1.display(); 
  vorm2.display(); 
  vorm3.display(); 
  vorm4.display(); 
  vorm5.display(); 
    
  vorm0.dpRotRe(vorm0); 
  vorm1.dpRotLi(vorm1); 
    
  vorm2.dpRotLi(vorm2); 
  vorm5.dpRotRe(vorm5); 
    
  vorm3.dpRotLi(vorm3); 
  vorm4.dpRotRe(vorm4); 
} 
 
 void keyPressed() {    
        if (key == 's') {   
    noLoop();   
  }  
    
   if (key == 'r') {      
    loop();   
  }   
 }