5 hoeken3d rotatie: 0, 72, 144, 216, 288 graden

 

De 5 hoeken3d, in de class:
alfa color = 0, dus in regel 17, fill(c1,0);
in regel 21: noStroke();
voor de andere vormen stroke(1); toevoegen
 
 
 
 
 De roterende, en op en neer bewegende, hoekbalken
 
 
 
6 hoeken3d, 0, 60, 120, 180, 240 en 300 graden
zie de schets voor de code
 
 
De roterende, en op en neer bewegende, hoekbalken
 
 
De roterende, en op en neer bewegende, hoekbalken

header hoek3d na3n

 

hoekbalk, "Hoek3d_na3n"                                        terug naar de inleiding

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

 

class Hoek3d_na3n extends Vormen { 
 Hoek3d_na3n(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() {        
    pushMatrix(); 
    translate(x, y); 
    rotate(radians(hoek)); 
    fill(c1); 
    beginShape(); 
    //hoek 
    float a =  sqrt(2*n*n); 
  //  noStroke(); 
    if (d == 2) {vertex(a/2, a/2); vertex(0, 0); vertex(3*a/2, -3*a/2); vertex(3*a, 0); vertex(5*a/2, a/2); vertex(3*a/2, -a/2);} 
    if (d == 4) {vertex(-a, 2*a); vertex(-3*a/2, 3*a/2); vertex(0, 0); vertex(3*a/2, 3*a/2); vertex(a, 2*a); vertex(0, a);} 
    if (d == 6) {vertex(-5*a/2, a/2); vertex(-3*a, 0); vertex(-3*a/2, -3*a/2); vertex(0, 0); vertex(-a/2, a/2); vertex(-3*a/2, -a/2);} 
    endShape(CLOSE); 
      fill(c2); 
     //paral 2naLi 
    beginShape(); 
    if (d == 2) {vertex(5*a/2, 3*a/2); vertex(3*a/2, a/2); vertex(3*a/2, -a/2); vertex(5*a/2, a/2);}     
    if (d == 4) {vertex(a, 3*a); vertex(0, 2*a);vertex(0,a); vertex(a, 2*a);} 
    if (d == 6) {vertex(-a/2, 3*a/2); vertex(-3*a/2, a/2); vertex(-3*a/2, -a/2); vertex(-a/2, a/2);} 
    endShape(CLOSE); 
    //paral 2naRe 
    fill(c3); 
    beginShape(); 
    if (d == 2) {vertex(a/2, 3*a/2); vertex(a/2, a/2);vertex(3*a/2,-a/2); vertex(3*a/2, a/2);} 
    if (d == 4) {vertex(-a, 3*a); vertex(-a, 2*a); vertex(0, a); vertex(0, 2*a);} 
    if (d == 6) {vertex(-5*a/2, 3*a/2); vertex(-5*a/2, a/2);vertex(-3*a/2, -a/2); vertex(-3*a/2, a/2);} 
    endShape(CLOSE);  
     //paral naLi 
    beginShape(); 
    fill(c4); 
    if (d == 2) {vertex(a/2, 3*a/2); vertex(0, a); vertex(0, 0); vertex(a/2, a/2);} 
    if (d == 4) {vertex(-a, 3*a); vertex(-3*a/2, 5*a/2); vertex(-3*a/2, 3*a/2); vertex(-a, 2*a);} 
    if (d == 6) {vertex(-5*a/2, 3*a/2); vertex(-3*a, a); vertex(-3*a, 0); vertex(-5*a/2, a/2);} 
    endShape(CLOSE); 
    //paral naRe 
    fill(c5); 
    beginShape(); 
    if (d == 2) {vertex(5*a/2, 3*a/2); vertex(5*a/2, a/2); vertex(3*a, 0); vertex(3*a, a);} 
    if (d == 4) {vertex(a, 3*a); vertex(a, 2*a); vertex(3*a/2, 3*a/2); vertex(3*a/2, 5*a/2);} 
    if (d == 6) {vertex(-a/2, 3*a/2); vertex(-a/2, a/2); vertex(0, 0); vertex(0, a);} 
    endShape(CLOSE);    
    popMatrix(); 
  } 
}
 
Schets met 6 hoeken3d, 0, 60, 120, 180, 240 en 300 graden
de schets maakt gebruik van de superclass:  "Vormen"  en de subclass:  "Hoek3d_na3n"
Bekijk de roterende, en op en neer bewegende, hoekbalken op de server.
 
 

Vormen [] vorm;  
void setup() {   
  size(780, 540);   
  float x = width/2;   
  float y = height/2;   
  float n = height/20;   
  int ch1 = color(255,0,0,100);   
  int ch2 = color(0,255,0,100);   
  int ch3 = color(0,0,255,100);   
  int ch4 = color(255,255,0,100);  
  int ch5 = color(255,0,255,100);  
   
  vorm = new Vormen[6]; 
  vorm[0] = new Hoek3d_na3n(n*1.2, 4, x, y, 0,ch1,ch2,ch3,ch4,ch5);    
       
  vorm[1] = new Hoek3d_na3n(n, 4, x, y, 60, ch1,ch2,ch3,ch4,ch5);   
     
  vorm[2] = new Hoek3d_na3n(n*1.2, 4, x, y, 120, ch1,ch2,ch3,ch4,ch5);   
       
  vorm[3] = new Hoek3d_na3n(n, 4, x, y, 180,ch1,ch2,ch3,ch4,ch5);    
     
  vorm[4] = new Hoek3d_na3n(n*1.2, 4, x, y, 240,ch1,ch2,ch3,ch4,ch5);    
      
  vorm[5] = new Hoek3d_na3n(n, 4, x, y, 300,ch1,ch2,ch3,ch4,ch5);    
   
}   
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);    
   for (int i = 0; i < 6; i++)      
  {      
    vorm[i].display();  
  }    
  vorm[1].dpRotLi(vorm[1]);  
  vorm[3].dpRotRe(vorm[3]);  
  vorm[5].dpRotLi(vorm[5]);  
  vorm[3].xLiRe();  
  vorm[5].yDownUp();  
  vorm[1].yUpDown(); 
  vorm[1].xReLi(); 
}  
  
void keyPressed() {      
   if (key == 's') {     
    noLoop();     
  }      
   if (key == 'r') {        
    loop();     
  }     
 }