hoek rot 0 90 180 270

vier 3d hoeken draaipunt 4
rotatie: 0, 90, 180 en 270 graden

 

 

hoek dp 2 4 6

drie 3d hoeken, draaipunten 2, 4 en 6

 

 

 hoek 4 r0t 1803d hoek in draaipunt 4, rotatie, 180 graden
verplaatsing in y richting, y+4*a

 

 

 

 

Constructors5a:2

vier 3d hoeken, zie de schets voor de code

header hoek3d na4n

 

 

hoekbalk, "Hoek3d_na4n"                                    terug naar de inleiding

hoekbalk:  n breed, a = sqrt(2n*n*); diep en 4n lang

 

class Hoek3d_na4n extends Vormen { 
 Hoek3d_na4n(float n_, int d_, float x_, float y_, float hoek_, color c1_, color c2_, color c3_, color c4_, color c5_) { 
    super(); 
    n = n_;  
    x = x_;  
    y = y_;  
    hoek = hoek_;  
    c1 = c1_; c2 = c2_; c3 = c3_; c4 = c4_; c5 = c5_; 
     d = d_; 
  } 
 
  void display() {    
    // noStroke(); 
    pushMatrix(); 
    translate(x, y); 
    rotate(radians(hoek)); 
    fill(c1); 
    beginShape(); 
    //hoek 
    float a =  sqrt(2*n*n); 
    if (d == 2) {vertex(a/2, a/2); vertex(0, 0); vertex(2*a, -2*a); vertex(4*a, 0); vertex(7*a/2, a/2); vertex(2*a, -a);} 
    if (d == 4) {vertex(-3*a/2, 5*a/2); vertex(-2*a, 2*a); vertex(0, 0); vertex(2*a, 2*a); vertex(3*a/2, 5*a/2); vertex(0, a);} 
    if (d == 6) {vertex(-7*a/2, a/2); vertex(-4*a, 0); vertex(-2*a, -2*a); vertex(0, 0); vertex(-a/2, a/2); vertex(-2*a, -a);} 
    endShape(CLOSE); 
    //paral 3naLi 
    fill(c2); 
    beginShape(); 
    if (d == 2) {vertex(7*a/2, 3*a/2); vertex(2*a, 0);vertex(2*a, -a); vertex(7*a/2, a/2);} 
    if (d == 4) {vertex(3*a/2, 7*a/2); vertex(0, 2*a);vertex(0,a); vertex(3*a/2, 5*a/2);} 
    if (d == 6) {vertex(-a/2, 3*a/2); vertex(-2*a, 0);vertex(-2*a, -a); vertex(-a/2, a/2);} 
    endShape(CLOSE); 
    //paral 3naRe 
    fill(c3); 
    beginShape(); 
    if (d == 2) {vertex(a/2, 3*a/2); vertex(a/2, a/2); vertex(2*a,-a); vertex(2*a, 0);} 
    if (d == 4) {vertex(-3*a/2, 7*a/2); vertex(-3*a/2, 5*a/2); vertex(0,a); vertex(0, 2*a);} 
    if (d == 6) {vertex(-7*a/2, 3*a/2); vertex(-7*a/2, a/2); vertex(-2*a,-a); vertex(-2*a, 0);} 
    endShape(CLOSE); 
    //paral naRe 
    fill(c5); 
    beginShape(); 
    if (d == 2) {vertex(7*a/2, 3*a/2); vertex(7*a/2, a/2); vertex(4*a, 0); vertex(4*a, a);} 
    if (d == 4) {vertex(3*a/2, 7*a/2); vertex(3*a/2, 5*a/2); vertex(2*a, 2*a); vertex(2*a, 3*a);} 
    if (d == 6) {vertex(-a/2, 3*a/2); vertex(-a/2, a/2); vertex(0, 0); vertex(0, a);} 
    endShape(CLOSE); 
    //paral naLi 
    beginShape(); 
    fill(c4); 
    if (d == 2) {vertex(0, a); vertex(0, 0); vertex(a/2, a/2); vertex(a/2, 3*a/2);} 
    if (d == 4) {vertex(-3*a/2, 7*a/2); vertex(-2*a, 3*a); vertex(-2*a, 2*a); vertex(-3*a/2, 5*a/2);} 
    if (d == 6) {vertex(-7*a/2, 3*a/2); vertex(-4*a, a); vertex(-4*a, 0); vertex(-7*a/2, a/2);} 
    endShape(CLOSE); 
    popMatrix(); 
  } 
}
 
Schets: in elkaar geschoven 3d hoeken
de schets maakt gebruik van de superclass:  "Vormen"  en de subclass:  "Hoek3d_na4n"
 
 

Vormen vorm0; Vormen vorm1; Vormen vorm2; Vormen vorm3; 
void setup() { 
 size(960, 540); 
 float x = width/2; 
 float y = height/2; 
 float n = height/15; 
 float a = sqrt(2*n*n);  
 vorm0 = new Hoek3d_na4n(n, 4, x, y-5*a/2, 0, 
 color(255,0,0,100), color(0,255,0,100), color(0,0,255,100), color(255,255,0,100), color(255,0,255,100)); 
  
 vorm1 = new Hoek3d_na4n(n, 4, x+5*a/2, y, 90, 
 color(255,0,0,100), color(0,255,0,100), color(0,0,255,100), color(255,255,0,100), color(255,0,255,100)); 
  
 vorm2 = new Hoek3d_na4n(n, 4, x, y+5*a/2, 180, 
 color(255,0,0,100), color(0,255,0,100), color(0,0,255,100), color(255,255,0,100), color(255,0,255,100)); 
  
 vorm3 = new Hoek3d_na4n(n, 4, x-5*a/2, y, 270, 
 color(255,0,0,100), color(0,255,0,100), color(0,0,255,100), color(255,255,0,100), color(255,0,255,100)); 
} 
void draw() { 
 background(#E6FBFF); 
 // background(0); 
 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(); 
}