vierk n2 4 6 8

9 vierkanten 9 draaipunten
draaipunten: 2, 4, 6 en 8, rotatie 45 graden
 
vierk n1 3 5 7
9 vierkanten 9 draaipunten
draaipunten: 1, 3, 5 en 7, rotatie 45 graden
 
 
 
 
 
 
vierk n rot0
Vier vierkanten zonder draaipunt rotatie
Zie de schets voor de code
 
 
 
 
 
 
vierk n rot1
De vierkanten met draaipunt rotatie
 
 
 
vierk n rot2
De vierkanten met draaipunt rotatie
 
 
vierk n rot3
 
 
 
vierk n rot4

Header vierk n

de 9 draaipunten

vierkant, "Vierkant"                    terug naar de inleiding
 
vierkant met zijden n.
 
Je kan vierkanten met andere zijde  maken door in Vierkant in de constructor n te vervangen door:           zie ook de voorbeelden

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"
 
 

class Vierkant extends Vormen { 
 
  Vierkant(float n_, int d_, float x_, float y_, float hoek_, color c1_) { 
    super(); 
    n = n_;  
    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 == 0) {vertex(-n/2, n/2);vertex(-n/2, -n/2);vertex(n/2, -n/2);vertex(n/2, n/2);}     
    if (d == 1) {vertex(0, 0);   vertex(0, -n);   vertex(n, -n);  vertex(n, 0); } 
    if (d == 2) {vertex(0, n/2); vertex(0, -n/2); vertex(n, -n/2);vertex(n, n/2);} 
    if (d == 3) {vertex(0, n);   vertex(0, 0);    vertex(n, 0);    vertex(n, n); }     
    if (d == 4) {vertex(-n/2, n);vertex(-n/2, 0); vertex(n/2, 0); vertex(n/2, n);}     
    if (d == 5) {vertex(-n, n);  vertex(-n, 0);   vertex(0, 0);   vertex(0, n);}    
    if (d == 6) {vertex(-n, n/2);vertex(-n, -n/2);vertex(0, -n/2);vertex(0, n/2);}     
    if (d == 7) {vertex(-n, 0);    vertex(-n, -n);    vertex(0, -n);    vertex(0, 0);} 
    if (d == 8) {vertex(-n/2, 0);  vertex(-n/2, -n);  vertex(n/2, -n);  vertex(n/2, 0);} 
    endShape(CLOSE); 
    popMatrix(); 
  } 
}

 
vier roterende vierkanten
Bekijk de roterende vierkanten op deze server
 
 

Vormen vierk0; 
Vormen vierk1;  
Vormen vierk2;  
Vormen vierk3;  
Vormen vierk4;  
  
void setup()  {  
size(780,560);  
float x = width/2;  
float y = height/2;  
float n = height/4;   
vierk0 = new Vierkant (n, 0, x,     y,     0, color(0,255,0, 100));  
vierk1 = new Vierkant (n, 7, x-n/2, y-n/2, 0, color(255,255,0,100));  
vierk2 = new Vierkant (n, 1, x+n/2, y-n/2, 0, color(255,0,0,100));  
vierk3 = new Vierkant (n, 5, x-n/2, y+n/2, 0, color(0,0,255,100));  
vierk4 = new Vierkant (n, 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);   
  vierk0.display();  
  vierk1.display();  
  vierk2.display();   
  vierk3.display();  
  vierk4.display(); 
   
  vierk1.dpRotLi(vierk1); 
  vierk2.dpRotRe(vierk2); 
  vierk3.dpRotRe(vierk3); 
  vierk4.dpRotLi(vierk4); 
} 
 
 void keyPressed() {    
   if (key == 's') {   
    noLoop();   
  }  
    
   if (key == 'r') {      
    loop();   
  }   
 }