achth drieh 05

 

 

 

Schets met achthoek en acht driehoeken

hn = (n+a)/2  is de straal van de binnencirkel van de achthoek en hoogte van de gelijkzijdige driehoek

De schuine zijde van de driehoek dan is de straal van de binnencirkel van de achthoek

Bekijk de roterende driehoeken

Met toetsen 1 t/m 6 veranderen de draaipunten, met toets 0 wordt de achthoek in- en uitgeschakeld

De schets maakt gebruik van de classes Vhoek_n8,    Drieh_nh,    en  de superclass  Vormen

 

Vormen vorm[]; 
int dp = 0;
int een = 1;
void setup() {  
 // fullScreen();  
  size(880, 660);
  float x = width/2;  
  float y = height/2;  
  float n = height/4;  
  float a = sqrt(2*n*n); 
  float hn = (n+a)/2; //de hoogte van de driehoek 
  vorm     = new Vormen[9]; 
  vorm[0] = new Vhoek_n8(n*een, 0, x, y, 0, color(255, 255, 0, 100)); 
  vorm[1]  = new Drieh_nh(n, hn, 1+dp, x-(a/2+n/2), y-n/2, 90, color(255, 0, 0, 100));  
  vorm[2]  = new Drieh_nh(n, hn, 5-dp, x-(a/2+n/2), y-n/2, 135, color(200, 0, 100, 100));  
  vorm[3]  = new Drieh_nh(n, hn, 1+dp, x+n/2+a/2, y-n/2, -135, color(200, 200, 50, 100));  
  vorm[4]  = new Drieh_nh(n, hn, 5-dp, x+n/2+a/2, y-n/2, -90, color(200, 200, 50, 100));  
  vorm[5]  = new Drieh_nh(n, hn, 1+dp, x+a/2+n/2, y+n/2, -90, color(255, 0, 0, 100));  
  vorm[6]  = new Drieh_nh(n, hn, 5-dp, x+(a/2+n/2), y+n/2, -45, color(200, 0, 100, 100));  
  vorm[7]  = new Drieh_nh(n, hn, 5-dp, x-(a/2+n/2), y+n/2, 90, color(200, 200, 50, 100));  
  vorm[8]  = new Drieh_nh(n, hn, 1+dp, x-(a/2+n/2), y+n/2, 45, color(200, 200, 50, 100));  
 
}  
  
void draw() {  
  background(#E6FBFF);  
 
  for (int i = 0; i < 9; i++)  
  {  
  vorm[i].display();    
  }  
  if (key == 's') {     
      
  }       
   else  
 {  
  vorm[0].dpRotRe(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].dpRotLi(vorm[7]);  
  vorm[8].dpRotRe(vorm[8]); 
 }  
}
 
 void keyPressed() { 
  if (key == '0') {
    if (een == 0) 
    { 
      een = 1;
    } 
    else
    {
    een = 0;
  }
     setup();
  }
  
  if (key == '1') {          
     dp = 0; 
     setup();      
  }        
  if (key == '2') {   
     dp = 1; 
    setup();       
}  
  if (key == '3') {          
     dp = 2;  
    setup();       
}  
  if (key == '4') {          
     dp = 3;    
    setup(); 
}   
  if (key == '5') {          
     dp = 4;    
    setup();
  }
  if (key == '6') {          
     dp = 5;    
    setup();
  }
}