animatie met cirkels en driehoeken                           terug naar de inleiding
een Euclides inspiratie
 
De schets maakt gebruik van de superclass:  "Vormen" en de subclasses:  "Drieh_nh" en "Ellips"
 
driehoek 4 is gelijkzijdig,                    met zijden n en hoogte hn = sqrt(3*n*n/4);
driehoeken 3 en 5 zijn rechthoekig,   met basis n en hoogte hna = sqrt(a*a-n*n/4);
driehoeken 6 en 7 zijn gelijkbenig,    met basis a en hoogte  a/2
 
Met toets 2 worden de gele en rode driehoek gelijkzijdig
 
 

Vormen [] vorm; 
float dpd = 1;
void setup()  { 
// fullScreen(); 
  size(980,860); 
  float x = width/2; 
  float y = height/2; 
  float n = height/6; 
  float a = sqrt(2*n*n); 
  float hn = sqrt(3*n*n/4); 
  float hna = sqrt(a*a-n*n/4); 
  vorm = new Vormen[8]; 
  vorm[0] = new Ellips(a,a,  0, x-n/2, y, 0, color(#DE905C, 50)); 
  vorm[1] = new Ellips(a,a,  0, x+n/2, y, 0, color(#67E36C, 50));   
  vorm[2] = new Ellips(a, a, 0, x,  y-hn, 0, color(#67E3C9, 50));   
  vorm[3]  = new Drieh_nh(a, a/2*dpd, 5 , x,    y-hn,  0, color(200,255,0,100));     
  vorm[4]  = new Drieh_nh(n, hn ,     6, x,     y,     0, color(0,255,0, 100));    
  vorm[5]  = new Drieh_nh(a, a/2*dpd, 1, x,     y-hn,  0, color(255,29,0,100));   
  vorm[6]  = new Drieh_nh(n, hna,     1, x+n/2, y,   180, color(0,29,255,100));    
  vorm[7]  = new Drieh_nh(n, hna,     5, x-n/2, y,   180, color(0,255,200,100));    
} 
 
void draw() { 
 background(#E6FBFF);  
  for (int i = 0; i < 8; i++) 
  { 
  vorm[i].display();  
  } 
  
   if (key == 's') {     
      
  }       
   else  
 {  
   
  vorm[3].dpRotLi(vorm[3]);     
  vorm[5].dpRotRe(vorm[5]); 
  vorm[6].dpRotRe(vorm[6]);     
  vorm[7].dpRotLi(vorm[7]);    
  }
}
 
void keyPressed() {     
 if (key == '1') {          
     dpd = 1; 
     setup();      
  }        
  if (key == '2') {   
     dpd = 1.73;
    setup();       
  }  
}