vierk_n rond drieh_an, diameter vierk_n = a
 
 
 
 
 
 
 
 
 
 
 vierkanten rond drieh_an
zie de schets voor de code
 
 
 
 
 
 
 
 
 
 
 
 

vierkanten rond gelijkbenige driehoek
met hoogte n
 
 
 
 
 
vierkanten rond gelijkbenige driehoek

zie de schets voor de code

 

 

 

vierkanten rond gelijkzijdige driehoek

met hoogte hn = sqrt(3*n*n/4);

 

vierkanten rond gelijkzijdige driehoek

 

 

 

zie de schets voor de code
 
 
 

Header vierk a

 De 9 draaipunten

 

voorbeelden vierkanten met de "Rechthoek" class                       terug naar de inleiding

vierkant met de zijden a    a = sqrt(2*n*n);
Je kan vierkanten met andere zijde  maken door in "Rechthoek" in de constructor de eerste twee argumenten te vervangen door:
Zo krijg je leuke effecten als je andere vormen rond zo'n rechthoek laat roteren
 
a     = sqrt(2*n*n);   basis rechthoekige driehoek   Drieh_an                                                                            
b     = sqrt(5*n*n/4);   schuine zijde gelijkbenige driehoek   Drieh_nh    
hn   = sqrt(3*n*n/4);   hoogte gelijkzijdige driehoek   Drieh_nh    
hn   = sqrt(3*n*n/4);   hoogte trapezium   Trap_2nn  
hna = sqrt(a*a-n*n/4);   hoogte gelijkbenige driehoek   Drieh_nh    

 

Opm: Alle gelijkbenige en gelijkzijdige driehoeken worden samengesteld  met "Drieh_nh"


schets met vierkanten rond de rechthoekige driehoek  "Drieh_an"

De schets maakt gebruik van superclass  "Vormen"  , de subclass  "Drieh_an"  en  "Rechthoek"
 
 

Vormen vierk1;  
Vormen vierk2;  
Vormen vierk3;  
Vormen driehan;  
  
void setup()  {  
size(960,540);  
//fullScreen();  
float x = width/2;  
float y = height/2;  
float n = height/5;   
float a = sqrt(2*n*n);  
driehan = new Drieh_an(n,    6, x,      y,  0, color(0,255,0, 100));  
vierk1  = new Rechthoek(n,n, 7, x-a/2,  y, 45, color(255,255,0,100));  
vierk2  = new Rechthoek(n,n, 1, x+a/2,  y,-45, color(255,0,0,100));  
vierk3  = new Rechthoek(a,a, 4, x,      y,  0, color(0,0,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);   
  vierk1.display();  
  vierk2.display();  
  vierk3.display();   
  driehan.display();  
  vierk1.dpRotLi(vierk1);  
  vierk2.dpRotRe(vierk2);  
}  
  
void keyPressed() {      
   if (key == 's') {     
    noLoop();     
  }      
   if (key == 'r') {        
    loop();     
  }     
 }
 

schets met vierkanten rond een gelijkbenige driehoek met schuine zijde b.

De schets maakt gebruik van de superclass "Vormen"  en de subclass:  "Drieh_nh"  en  "Rechthoek"
De hoogte van de driehoek is n, dus het tweede argument in de class "drieh_nh" is n
Bekijk de roterende vierkanten met de lengte van de zijde  b  = sqrt(5*n*n/4);
 
 

Vormen vierk1;   
Vormen vierk2;   
Vormen vierk3;   
Vormen driehnh; 
 
void setup()  {   
size(960,540);   
float x = width/2;   
float y = height/2;   
float n = height/4;    
float b = sqrt(5*n*n/4);   
driehnh = new Drieh_nh(n,n, 5, x,   y,   0,   color(0,255,0, 100));   
vierk1 = new Rechthoek(b,b, 7, x-n, y,  26.58,color(255,255,0,100));   
vierk2 = new Rechthoek(b,b, 1, x,   y, -26.58,color(255,0,0,100));   
vierk3 = new Rechthoek(n,n, 5, x,   y,   0,   color(0,0,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);    
  vierk1.display();   
  vierk2.display();   
  vierk3.display();    
  driehnh.display();    
    
  vierk1.dpRotRe(vierk1);  
  vierk2.dpRotLi(vierk2);  
}  
  
void keyPressed() {      
   if (key == 's') {     
    noLoop();     
  }      
   if (key == 'r') {        
    loop();     
  }     
 }
 
schets met vierkanten rond een gelijkzijdige driehoek
 
De gelijkzijdige driehoek wordt samengesteld met de class "Drieh_nh"
Het tweede argument in de constructor is de hoogte  hn = sqrt(3*n*n/4); van de gelijkzijdige driehoek n
De in hun draaipunten roterende vierkanten
 
 

Vormen [] vorm; 
 
void setup() {  
  size(780, 560);  
  //fullScreen();  
  float x = width/2;  
  float y = height/2;   
  float n = height/5;   
  float hn = sqrt(3*n*n/4); 
  vorm = new Vormen[5]; 
  vorm[0] = new Drieh_nh(n,  hn, 6, x,   y,   0, color(0, 255, 0, 100));  
  vorm[1] = new Rechthoek(hn,hn, 5, x,   y-hn,0, color(255, 255, 0, 100));  
  vorm[2] = new Rechthoek(hn,hn, 3, x,   y-hn,0, color(255, 0, 0, 100));   
  vorm[3] = new Rechthoek(n, n,  5, x-n/2, y, 0, color(0, 0, 255, 100));  
  vorm[4] = new Rechthoek(n, n,  3, x+n/2, y, 0, color(0, 0, 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 < 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(); 
  } 
}