box 2na 0 1 3

De drie boxen in draaipunten 0, 1, en 3

 

box1 2 dp3 box2 270gr

twee boxen, draaipunt 3, een box 270 gr rotatie

 

box dp0 135 gr

box toegevoegd, draaipunt 0, rotatie 135 graden

 

 

 

 

 

Boxen dp3 rot 0 90 180 270

4 boxen, draaipunt 3,
rotatie, 0, 90, 180, 270 graden
Zie de schets voor de code.
header box 2na
 
 
Box_2na                                                             terug naar de inleiding
 
De box bestaat uit een vierkant 2n x 2n  en een diepte a = sqrt(2*n*n);
 
 

class Box_2na extends Vormen { 
Box_2na(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() {  
 pushMatrix(); 
 translate(x, y); 
 rotate(radians(hoek));  
 beginShape(); 
 //Vierkant 
 fill(c1); 
 if (d == 1) {vertex(0, 0);vertex(0, -2*n);vertex(2*n, -2*n);vertex(2*n, 0);} 
 if (d == 0) {vertex(n/2, 3*n/2);vertex(-3*n/2, 3*n/2);vertex(-3*n/2, -n/2);vertex(n/2, -n/2);} 
 if (d == 3) {vertex(-n, 3*n);vertex(-3*n, 3*n);vertex(-3*n, n);vertex(-n, n);} 
 endShape(CLOSE); 
 beginShape(); 
 fill(c2); 
 //parallel rechts 
 if (d == 1) {vertex(0, -2*n); vertex(n, -3*n); vertex(3*n, -3*n); vertex(2*n, -2*n);} 
 if (d == 0) {vertex(n/2, -n/2); vertex(-3*n/2, -n/2); vertex(-n/2, -3*n/2); vertex(3*n/2, -3*n/2);} 
 if (d == 3) {vertex(-n, n); vertex(-3*n, n); vertex(-2*n, 0); vertex(0, 0);} 
 endShape(CLOSE); 
 beginShape(); 
 fill(c3); 
 //parallel links 
 if (d == 1) {vertex(2*n, -2*n); vertex(3*n, -3*n);vertex(3*n, -n);vertex(2*n, 0);} 
 if (d == 0) {vertex(n/2, 3*n/2);vertex(n/2, -n/2);vertex(3*n/2, -3*n/2);vertex(3*n/2, n/2);} 
 if (d == 3) {vertex(-n, 3*n); vertex(-n, n);vertex(0, 0);vertex(0, 2*n);} 
 endShape(CLOSE); 
 popMatrix(); 
 } 
}
 

 

Schets met 4 roterende boxen    De schets maakt gebruik van de superclass:  "Vormen"  en de subclass:  "Box_2na"

 

 

Vormen vorm0; 
Vormen vorm1; 
Vormen vorm3; 
Vormen vorm4; 
void setup() { 
 size(960, 540); 
 // float x = width/2; 
// float y = height/2; 
 float x = 0; 
 float y = 0; 
 float n = height/10; 
 vorm0 = new Box_2na(n, 3, x, y, 180, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100)); 
 vorm1 = new Box_2na(n, 3, x, y, 0, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100));  
 vorm3 = new Box_2na(n, 3, x, y, 270, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100));  
 vorm4 = new Box_2na(n, 3, x, y, 90, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100)); 
} 
void draw() { 
 background(#E6FBFF); 
 // background(0); 
 //assenstelsel 
 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); 
 vorm0.draaienLi(); 
 vorm0.display();  
 vorm1.display();  
 vorm3.display(); 
 vorm4.display(); 
 popMatrix(); 
}