9 rechthoeken 9 draaipunten
draaipunten: 2, 4, 6 en 8, rotatie 45 graden
 
 
9 rechthoeken 9 draaipunten
draaipunten: 1, 3, 5 en 7, rotatie 45 graden
 
 
 
 
 

header rechth

 
 
rechthoek, "Rechthoek".; Bekijk de   roterende rechthoeken            terug naar de inleiding
 
De eerste 2 argumenten van de constructor zijn de hoogte en de breedte van de rechthoek
 
Zie ook de voorbeelden met vierkanten       Zie het voorbeeld  zes rechthoeken rond pijl
 
Je kan rechthoeken met andere zijden  maken door  in de constructor de eerste twee argumenten te vervangen door:  

float a     = sqrt(2*n*n);   basis rechthoekige driehoek   Drieh_an                                                             
float b     = sqrt(5*n*n/4);   schuine zijde gelijkbenige driehoek   Drieh_nh    
float hn   = sqrt(3*n*n/4);   hoogte gelijkzijdige driehoek   Drieh_nh    
float hn   = sqrt(3*n*n/4);   hoogte trapezium   Trap_2nn  
float hna = sqrt(a*a-n*n/4);   hoogte gelijkbenige driehoek   Drieh_na    
float nphi =  ((1+sqrt(5))/2)*n;   lijn van hoek naar hoek in de vijfhoek   Vhoek_n5    
 
Opm: Alle gelijkzijdige en gelijkbenige driehoeken worden samengesteld met de class:  "Drieh_nh"
Met het tweede argument in de constructor = nphi, dan is de rechthoek een gouden rechthoek.    
 
Eerste argument van de constructor is de breedte, tweede argument is de hoogte van de rechthoek.
 
 

class Rechthoek extends Vormen { 
 
  Rechthoek(float n_, float h1_, int d_, float x_, float y_, float hoek_, color c1_) { 
    super(); 
    n = n_; 
    h1 = h1_; 
    x = x_;  
    y = y_;  
    hoek = hoek_;  
    c1 = c1_; 
    d = d_; 
  } 
 
  void display() { 
    fill(c1); 
    // noStroke(); 
    pushMatrix(); 
    translate(x, y); 
    rotate(radians(hoek));   
    beginShape();  
    if (d == 1) {vertex(0, 0);    vertex(0, -h1);   vertex(n, -h1);  vertex(n, 0); } 
    if (d == 2) {vertex(0, h1/2); vertex(0, -h1/2); vertex(n, -h1/2);vertex(n, h1/2);} 
    if (d == 3) {vertex(0, h1);   vertex(0, 0);     vertex(n, 0);    vertex(n, h1); }     
    if (d == 4) {vertex(-n/2, h1);vertex(-n/2, 0);  vertex(n/2, 0);  vertex(n/2, h1);}     
    if (d == 5) {vertex(-n, h1);  vertex(-n, 0);    vertex(0, 0);    vertex(0, h1);}    
    if (d == 6) {vertex(-n, h1/2);vertex(-n, -h1/2);vertex(0, -h1/2);vertex(0, h1/2);}     
    if (d == 7) {vertex(-n, 0);   vertex(-n, -h1);  vertex(0, -h1);  vertex(0, 0);} 
    if (d == 8) {vertex(-n/2, 0); vertex(-n/2, -h1);vertex(n/2, -h1);vertex(n/2, 0);} 
    if (d == 0) {vertex(-n/2, h1/2);vertex(-n/2, -h1/2);vertex(n/2, -h1/2);vertex(n/2, h1/2);}       
    endShape(CLOSE); 
    popMatrix(); 
  } 
}
 
vier roterende rechthoeken
 

Bekijk de   roterende rechthoeken     De schets maakt gebruik van de class "Rechthoek" en de superclass  "Vormen"

 

Vormen vorm0;  
Vormen vorm1;   
Vormen vorm2;   
Vormen vorm3;   
Vormen vorm4;   
   
void setup()  {   
size(780,560);   
float x = width/2;   
float y = height/2;   
float n = height/5; 
float h = 2*n;   
vorm0 = new Rechthoek(n,n, 0, x,     y,     0, color(0,255,0, 100));   
vorm1 = new Rechthoek(n,h, 7, x-n/2, y-n/2, 0, color(255,255,0,100));   
vorm2 = new Rechthoek(n,h, 1, x+n/2, y-n/2, 0, color(255,0,0,100));   
vorm3 = new Rechthoek(n,h, 5, x-n/2, y+n/2, 0, color(0,0,255,100));   
vorm4 = new Rechthoek(n,h, 3, x+n/2, y+n/2, 0, color(122,200,100,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);    
  vorm0.display();   
  vorm1.display();   
  vorm2.display();    
  vorm3.display();   
  vorm4.display();  
    
  vorm1.dpRotLi(vorm1);  
  vorm2.dpRotRe(vorm2);  
  vorm3.dpRotRe(vorm3);  
  vorm4.dpRotLi(vorm4);  
}  
  
 void keyPressed() {     
   if (key == 's') {    
    noLoop();    
  }   
     
   if (key == 'r') {       
    loop();    
  }    
 }