box na 0 1 3

de drie boxen op een rij

 

 

 

 

box1 2 dp3 box2 270gr. 3 dp 0 135Gr

2 boxen draaipunt 3, 1 box rotatie 270 g
1 box draaipunt  0 rotatie 15 graden
 
 
 
 
 
 
schets box na
De kleinste box beweegt zich op en neer
code in de schets

 

 

header box na
 
Box_na                                                                   terug naar de inleiding
 
 Dit is een box met een rechthoek n x n en een diepte a = sqrt(2*n*n);
 
 

class Box_na extends Vormen { 
Box_na(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 == 1) {vertex(0, 0); vertex(0, -n);vertex(n, -n);vertex(n, 0);} 
 if (d == 0) {vertex(-n, n);vertex(-n, 0);vertex(0, 0);vertex(0, n);} 
 if (d == 3) {vertex(-2*n, 2*n);vertex(-2*n, n);vertex(-n, n);vertex(-n, 2*n);} 
 endShape(CLOSE); 
 beginShape(); 
 fill(c2); 
 //parallel rechts 
 if (d == 1) {vertex(0, -n); vertex(n, -2*n);vertex(2*n, -2*n); vertex(n, -n);} 
 if (d == 0) {vertex(-n, 0); vertex(0, -n); vertex(n, -n); vertex(0, 0);} 
 if (d == 3) {vertex(-2*n, n); vertex(-n, 0); vertex(0, 0); vertex(-n, n);} 
 endShape(CLOSE); 
 beginShape(); 
 fill(c3); 
 //parallel links 
 if (d == 1) {vertex(n, 0); vertex(n, -n);vertex(2*n, -2*n);vertex(2*n, -n);} 
 if (d == 0) {vertex(0, n); vertex(0, 0); vertex(n, -n); vertex(n, 0);} 
 if (d == 3) {vertex(-n, 2*n); vertex(-n, n); vertex(0, 0); vertex(0, n);} 
 endShape(CLOSE); 
 popMatrix(); 
 } 
}

 

Schets, de kleinste box beweegt zich op en neer.
De schets maakt gebruik van de superclass:  "Vormen"  en de subclass:  "Box_na"

 

 

Vormen vorm0; 
Vormen vorm1; 
Vormen vorm3; 
void setup() { 
 size(960, 540); 
 float x = width/2; 
 float y = height/2; 
 float n = height/10; 
 vorm0 = new Box_na(n*1.3, 0, x, y, 135, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100));  
 vorm1 = new Box_na(n*1.4, 1, x, y, 135, color(255, 0, 0, 100), color(0, 255, 0, 100), color(0, 0, 255, 100));  
 vorm3 = new Box_na(n,     3, x, y, 135, 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);  
 vorm0.display();  
 vorm1.display();  
 vorm3.display(); 
 vorm3.opEnNeer(); 
}