Vhoek n8 dp9 10

extra toegevoegde draaipunten 9 en 10

 

9 achthoeken in draaipunten 0 t/m 8

 

 

 

 

 

 

 

vier roterende achthoeken, zie de schets voor de code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

header vhoek n8
 
achthoek  "Vhoek_n8"               terug naar de inleiding     zie de voorbeelden:  pijlen rond achthoek  en  achthoek met 8 driehoeken
 
Bij een hoek van 22.5 graden staat de achthoek op een hoek want een binnenhoek = 135 graden        ga naar de site met de formules
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);
de lijn van vlak naar vlak  of diameter van de binnencirkel    =  n+a
de lijn van door het middelpunt van hoek naar de tegenover liggende hoek of diameter van de buitencirkel   =  sqrt((n+a)*(n+a)+n*n);
de lijn van hoek naar hoek    = sqrt(a*a/2+a*n+n*n);  =  n*sqrt(2+sqrt(2));
zo kan je een vierkant in een achthoek plaatsen, zie de onderste schets
 
 

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();      
  }      
} 
 
Vierkant, binnen en buitencirkel in een achthoek
De schets maakt gebruik van de class "Vhoek_n8" , "Rechthoek" , "Ellips" en de superclass "Vormen"
 
De zijde van het vierkant:                float c = sqrt(a*a/2+a*n+n*n);      = n*sqrt(2+sqrt(2));
De straal van de binnencirkel: float binnen = (n+a)/2;                           = n/2*(1+sqrt(2));
De straal van de buitencirkel:   float buiten = sqrt((n+a)*(n+a)+n*n)/2; = n/2*sqrt(4+2*sqrt(2));
in bovenstaande is a: float a = sqrt(2*n*n);
 
 

Vormen vorm0;  
Vormen vorm1;  
Vormen vorm2;  
Vormen vorm3; 
 
void setup() {   
size(780, 560);  
 float x = width/2;   
 float y = height/2;   
 float n = height/4;   
 float c = n*sqrt(2+sqrt(2));  
 float buiten = n/2*sqrt(4+2*sqrt(2));   
 float binnen = n/2*(1 +sqrt(2));  
 vorm0 = new Vhoek_n8(n, 0, x, y, 22.5, color(255, 255, 0, 100));   
 vorm1 = new Rechthoek(c,c, 0, x, y, 0, color(0,255,0, 100));   
 vorm2 = new Ellips(binnen, binnen, 0, x, y, 0, color(255,200, 0,100));   
 vorm3 = new Ellips(buiten, buiten, 0, x, y, 0, color(0,255,0, 10));   
} 
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();   
}