acht pijlen rond achthoek                                        terug naar de inleiding
 
de schets maakt gebruik van de superclass "Vormen" en de subclasses "Vhoek_n8" en "Vlieger"
De korte diameter van de vlieger c is float c = sqrt(a*a/2+a*n+n*n);  dit is de lijn tussen een hoek van de achthoek
 
 
 
 

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