zevenster, driehoek in dp 3

zevenster, driehoeken in dp 3

 

driehoeken in dp 0

driehoeken in dp 0

 

driehoeken in dp 6

 

driehoeken in dp 6

 

 

 

 

 

                                                      

 

Schets met zes driehoeken in zevenhoek                 terug naar de inleiding

Bekijk de   zes driehoeken in de zevenhoek

De schets maakt gebruik van objecten van de zevenhoek class  "Vhoek_n7" ,  en objecten van de driehoek class   "Drieh_nh"  en  de superclass  Vormen

Met toetsen 1 t/m 6  en toets 0 verander je de draaipunten, met de "s" toets stopt en met de "r" toets start de animatie

Voor draaipunten 3, 0 en 6 is het rotatiepatroon symetrisch

Berekening van de rotatiehoek van de driehoeken:  128.57 - 180 = 51.43 ,  2 x 51.43 = 102.86 en 3 x 51,43 = 154.29
Zie voor de x,y postie van het draaipunt van de driehoeken   d == 0  in de "Vhoek_n7" class  (line 31 en 32)

De driehoek, vorm[4], in de top van de zevenhoek is uitgeschakeld door de grootte 0 te maken

 
 

Vormen [] vorm; 
int dp =  3; 
void setup() {   
  size(780, 560);   
 // fullScreen();  
  float x = width/2;  
  float y = height/2; 
  float n = height/6;  
  float ri = n/(2*tan(PI/7));    // straal van de binnencirkel   
  float ro = n/(2*sin(PI/7));   //straal van de buitencirkel  
  float h = (ri+ro); 
  float sd = 2*n*cos(PI/7);         // sd (short diagonal) lijn met een tussenhoek  
  float ld = n/(2*sin(HALF_PI/7));  // ld = lange diagonaal lijn met twee tussenhoeken  
  float sdt = sqrt(n*n-(sd*sd)/4);  // sdt is de loodlijn van de sd lijn naar de top 
  float ldb = sqrt((3*n*n-ld*ld)/4+ld*n/2);  //ldb is de lijn van de ld lijn naar de basis   
   
  vorm    = new Vormen[8];  
  vorm[0] = new Vhoek_n7(n, 0, x, y, 0, color(255, 255, 0, 50));  
  vorm[1] = new Drieh_nh(n, h, dp, x-n/2,  y+ri,      -154.29, color(245,195,15,50));  
  vorm[2] = new Drieh_nh(n, h, dp, x-ld/2, y+(ri-ldb),-102.86, color(57,240,245,50));    
  vorm[3] = new Drieh_nh(n, h, dp, x-sd/2, y-(ro-sdt), -51.43, color(82,247,108,50));     
  vorm[4] = new Drieh_nh(0, 0, dp, x,      y-ro,            0, color(255,0,0,50));   
  vorm[5] = new Drieh_nh(n, h, dp, x+sd/2, y-(ro-sdt),  51.43, color(82,247,108,50));  
  vorm[6] = new Drieh_nh(n, h, dp, x+ld/2, y+(ri-ldb), 102.86, color(57,240,245,50));    
  vorm[7] = new Drieh_nh(n, h, dp, x+n/2,  y+ri,       154.29, color(245,195,15,50));     
} 
 
void draw() {  
  background(#E6FBFF);  
  for (int i = 0; i < 8 
  ; i++)  
  {  
    vorm[i].display();  
  }  
     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].dpRotLi(vorm[5]);  
     vorm[6].dpRotRe(vorm[6]);  
     vorm[7].dpRotLi(vorm[7]);  
}  
  
void keyPressed() {       
  if (key == 's') {      
    noLoop();  
  }     
  
  if (key == 'r') {         
    loop();  
  }  
   
  if (key == '1') {           
     dp = 1;  
     loop();  
     setup();       
  }         
  if (key == '2') {    
     dp = 2;   
     loop();  
     setup();        
}   
  if (key == '3') {           
     dp = 3;   
     loop();  
     setup();        
}   
  if (key == '4') {           
     dp = 4;  
     loop();  
     setup();   
}  
  if (key == '5') {           
     dp = 5;  
     loop();  
     setup();   
}       
  if (key == '6') {           
     dp = 6;  
     loop();  
     setup();   
  } 
  if (key == '0') {           
     dp = 0;  
     loop();  
     setup();   
  }  
}