vierk n2 4 6 8
9 rechthoeken 9 draaipunten
draaipunten: 2, 4, 6 en 8, rotatie 45 graden
 
vierk n1 3 5 7
 
9 rechthoeken 9 draaipunten
draaipunten: 1, 3, 5 en 7, rotatie 45 graden
 
 
rechthoek01
 
rechthoek02
 
rechthoek03
 
rechthoek04

Header vierk a

de 9 draaipunten

rechthoek, "Rechthoek"                    terug naar de inleiding
 
De eerste 2 argumenten van de constructor zijn de zijden 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    
 
Opm: Alle gelijkzijdige en gelijkbenige driehoeken worden samengesteld met de class:  "Drieh_nh"
 
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 op deze server
 
 

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();    
  }    
 }