Box 2, 0 en 4

 

 

 

 roterende n4na boxen

 roterende boxen

 

 

 

 

Box_n4naRe en Box_n4naLi
zie de schets voor de code
 
 
 
 
roterende boxen
header box n4naLi
 
 
Box_n4naLi                                                     terug naar de inleiding
 
Dit is een box met een rechthoek n x 4*n en twee naar links wijzende parallellogrammen, lengte schuine zijde a = sqrt(2*n*n);
 
 

 
class Box_n4naLi extends Vormen { 
 Box_n4naLi(float n_, int d_, float x_, float y_, float hoek_, color c1_, color c2_, color c3_) { 
 super(); 
 n = n_;  
 x = x_;  
 y = y_;  
 hoek = hoek_; 
 c1 = c1_; c2 = c2_; c3 = c3_; 
 d = d_; 
 } 

void display() {  
 // noStroke(); 
 pushMatrix(); 
 translate(x, y); 
 rotate(radians(hoek));  
 beginShape(); 
 //Vierkant 
 fill(c1); 
 if (d == 4) {vertex(0, 0); vertex(-n, 0); vertex(-n, -4*n); vertex(0, -4*n);} 
 if (d == 0) {vertex(n, 5*n/2);vertex(0, 5*n/2); vertex(0, -3*n/2);vertex(n, -3*n/2);} 
 if (d == 2) {vertex(2*n, 5*n); vertex(n, 5*n); vertex(n, n); vertex(2*n, n);} 
 endShape(CLOSE); 
 beginShape(); 
 fill(c2); 
 //parallel rechts 
 if (d == 4) {vertex(0, -4*n); vertex(-n, -4*n); vertex(-2*n, -5*n);vertex(-n, -5*n);} 
 if (d == 0) {vertex(0, -3*n/2);vertex(-n, -5*n/2);vertex(0, -5*n/2); vertex(n, -3*n/2);} 
 if (d == 2) {vertex(0, 0); vertex(n, 0); vertex(2*n, n); vertex(n, n);} 
 endShape(CLOSE); 
 beginShape(); 
 fill(c3); 
 //parallel links 
 if (d == 4) {vertex(-n, 0); vertex(-2*n, -n);vertex(-2*n, -5*n);vertex(-n, -4*n);} 
 if (d == 0) {vertex(0, 5*n/2); vertex(-n, 3*n/2); vertex(-n, -5*n/2); vertex(0, -3*n/2);} 
 if (d == 2) {vertex(n, 5*n); vertex(0, 4*n); vertex(0, 0); vertex(n, n);} 
 endShape(CLOSE); 
 popMatrix(); 
 } 
}
 
Schets met li en re rotatie Box_n4naRe en Box_n4naLi.
De 4 roterende boxen op de server
 
 

Vormen vorm1; Vormen vorm2; Vormen vorm3; Vormen vorm4; 
void setup() { 
 size(960, 540); 
 float x = 0; 
 float y = 0; 
 float n = height/18; 
 float a = sqrt(2*n*n);  
 vorm1 = new Box_n4naLi(n, 4, x, y-a/2, -45, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100));  
 vorm2 = new Box_n4naRe(n, 1, x, y-a/2, 45, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100));  
 vorm3 = new Box_n4naLi(n, 4, x, y+a/2, 135, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100)); 
 vorm4 = new Box_n4naRe(n, 1, x, y+a/2, 225, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100)); 
} 
void draw() { 
 background(#E6FBFF); 
 stroke(255, 0, 0); 
 line (width/2, 0, width/2, height); 
 line (0, height/2, width, height/2); 
 stroke(0);  
 pushMatrix(); 
 translate(width/2,height/2); 
 vorm1.draaienLi(); 
 vorm1.display();  
 vorm2.display();  
 popMatrix(); 
  
 pushMatrix(); 
 translate(width/2,height/2); 
 vorm3.draaienRe(); 
 vorm3.display(); 
 vorm4.display(); 
 popMatrix(); 
}
 
void keyPressed() {  
 if (key == 's') {  
 noLoop();  
 } 
  
 if (key == 'r') {  
 loop();  
 }  
 }