Vhoek n8 dp9 10

extra toegevoegde draaipunten 9 en 10

 

vhoek n8 dp0 8

9 achthoeken in draaipunten 0 t/m 8

 

 

 

vhoek n8 dprot0

 

 

vhoek n8 dprot1

 

 

vhoek n8 dprot2

vier roterende achthoeken, zie de schets voor de code

 

 

vhoek n8 dprot3

 

 

vhoek n8 dprot4

header vhoek n8
 
achthoek  "Vhoek_n8"                                          terug naar de inleiding
 
Bij een hoek van 22.5 graden staat de achthoek op een hoek want een binnenhoek = 135 graden
Bijv een achthoek  in dp 1, -22.5 graden staat dan op een hoek in het midden van de y as.
 
                                               a = sqrt(2*n*n);
hoogte van vlak naar vlak  of diameter van de binnencirkel         = n+a
de hoogte van hoek naar hoek of diameter van de buitencirkel   = sqrt((n+a)*(n+a)+n*n);
 
 

class Vhoek_n8 extends Vormen { 
Vhoek_n8(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 a = sqrt(2*n*n); 
 beginShape(); 
 if (d == 0) {vertex(-n/2, a/2+n/2); vertex(-(a/2+n/2), n/2); vertex(-(a/2+n/2),-n/2); vertex(-n/2, -(a/2+n/2)); 
 vertex(n/2, -(a/2+n/2)); vertex((a/2+n/2), -n/2); vertex(a/2+n/2, n/2);vertex(n/2, a/2+n/2);}   
 if (d == 1) {vertex(0, 0); vertex(-a/2, -a/2); vertex(-a/2, -(n+a/2)); vertex(0, -(n+a)); 
 vertex(n, -(n+a));vertex(n+a/2, -(n+a/2));vertex(n+a/2, -a/2);vertex(n, 0);}   
 if (d == 2) {vertex(a/2, a/2); vertex(0, 0); vertex(0, -n); vertex(a/2, -(n+a/2)); 
 vertex(n+a/2, -(n+a/2)); vertex(n+a, -n);vertex(n+a, 0);vertex(n+a/2, a/2);}  
 if (d == 3) {vertex(a/2, n+a/2); vertex(0, n); vertex(0, 0); vertex(a/2, -a/2); 
 vertex(n+a/2, -a/2); vertex(n+a, 0);vertex(n+a, n);vertex(n+a/2, n+a/2);}    
 if (d == 4) {vertex(0, n+a); vertex(-a/2, n+a/2); vertex(-a/2, a/2); vertex(0, 0); 
 vertex(n, 0); vertex(n+a/2, a/2);vertex(n+a/2, n+a/2);vertex(n, n+a);}   
 if (d == 5) {vertex(-n, n+a); vertex(-(n+a/2), n+a/2); vertex(-(n+a/2), a/2); vertex(-n, 0); 
 vertex(0, 0); vertex(a/2, a/2);vertex(a/2, n+a/2);vertex(0, n+a);}  
 if (d == 6) {vertex(-(n+a/2), n+a/2); vertex(-(n+a), n); vertex(-(n+a), 0); vertex(-(n+a/2), -a/2); 
 vertex(-a/2, -a/2); vertex(0, 0);vertex(0, n);vertex(-a/2, n+a/2);}   
 if (d == 7) {vertex(-(n+a/2), a/2); vertex(-(n+a), 0); vertex(-(n+a), -n); vertex(-(n+a/2), -(n+a/2)); 
 vertex(-a/2, -(n+a/2)); vertex(0, -n);vertex(0, 0); vertex(-a/2, a/2);}    
 if (d == 8) {vertex(-n, 0); vertex(-(n+a/2), -a/2); vertex(-(n+a/2), -(n+a/2)); vertex(-n, -(n+a)); 
 vertex(0, -(n+a)); vertex(a/2, -(n+a/2)); vertex(a/2, -a/2); vertex(0, 0);}   
 if (d == 9) {vertex(-n/2, 0); vertex(-(a/2+n/2), -a/2); vertex(-(n/2+a/2), -(n+a/2)); vertex(-n/2, -(n+a)); 
 vertex(n/2, -(n+a)); vertex(n/2+a/2, -(n+a/2)); vertex(n/2+a/2, -a/2); vertex(n/2, 0);}   
 if (d == 10) {vertex(-n/2, n+a); vertex(-(n/2+a/2), a/2+n); vertex(-(n/2+a/2), a/2); vertex(-n/2, 0); 
 vertex(n/2, 0); vertex(n/2+a/2, a/2); vertex(n/2+a/2, n+a/2); vertex(n/2, n+a);}  
 endShape(CLOSE);  
 popMatrix();  
 }  
}
 
schets met 4 roterende achthoeken
 
 
 

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