dp2 45dp6 45

 Hoek3d in draaipunt 2, -45 gr rotatie
 Hoek3d in draaipunt 6, 45 gr rotatie

 

na2n 2 na4n

hoek3d_na4n en 2 x hoek3d_na2n

na2n 0 90 180 270

4 x hoek3d_na2n
rotatie: 0, 90, 180, 270 graden

 na2n 0 180

Hoeken3d: 0 en 180 graden

 

hoeken na2n na4n
4 x Hoek_na2n en 2 x Hoek_na4n
code in de schets
 hoek3d na2n Rot1de twee grote hoeken roteren in hun draaipunt
zie de schets voor de code
 
 
hoek3d na2n Rot2
de twee grote hoeken roteren in hun draaipunt
zie de schets voor de code
header na2n
 
hoekbalk, "Hoek3d_na2n"                                    terug naar de inleiding
 
hoekbalk:  n breed, a = sqrt(2n*n*); diep en 2n lang
 
 

class Hoek3d_na2n extends Vormen { 
 Hoek3d_na2n(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(a, -a); vertex(2*a, 0); vertex(3*a/2, a/2); vertex(a, 0);} 
    if (d == 4) {vertex(-a/2, 3*a/2); vertex(-a, a); vertex(0, 0); vertex(a, a); vertex(a/2, 3*a/2); vertex(0, a);} 
    if (d == 6) {vertex(-3*a/2, a/2); vertex(-2*a, 0); vertex(-a, -a); vertex(0, 0); vertex(-a/2, a/2); vertex(-a, 0);} 
    endShape(CLOSE); 
    //paral naLi 
    fill(c2); 
    beginShape(); 
    if (d == 2) {vertex(3*a/2, 3*a/2); vertex(a, a);vertex(a, 0); vertex(3*a/2, a/2);} 
    if (d == 4) {vertex(a/2, 5*a/2); vertex(0, 2*a);vertex(0, a); vertex(a/2, 3*a/2);} 
    if (d == 6) {vertex(-a/2, 3*a/2); vertex(-a, a);vertex(-a, 0); vertex(-a/2, a/2);} 
    endShape(CLOSE); 
    //paral naRe 
    fill(c3); 
    beginShape(); 
    if (d == 2) {vertex(a/2, 3*a/2); vertex(a/2, a/2); vertex(a, 0); vertex(a, a);} 
    if (d == 4) {vertex(-a/2, 5*a/2); vertex(-a/2, 3*a/2); vertex(0,a); vertex(0, 2*a);} 
    if (d == 6) {vertex(-3*a/2, 3*a/2); vertex(-3*a/2, a/2); vertex(-a, 0); vertex(-a, a);} 
    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/2, 5*a/2); vertex(-a, 2*a); vertex(-a, a); vertex(-a/2, 3*a/2);} 
    if (d == 6) {vertex(-3*a/2, 3*a/2); vertex(-2*a, a); vertex(-2*a, 0); vertex(-3*a/2, a/2);} 
    endShape(CLOSE); 
    //paral naRe 
    fill(c5); 
    beginShape(); 
    if (d == 2) {vertex(3*a/2, 3*a/2); vertex(3*a/2, a/2); vertex(2*a, 0); vertex(2*a, a);} 
    if (d == 4) {vertex(a/2, 5*a/2); vertex(a/2, 3*a/2); vertex(a, a); vertex(a, 2*a);} 
    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 4 x Hoek3d_na2n en 2x Hoek3d_na4n.
De schets maakt gebuik van de superclass:  "Vormen"  en de subclass  "Hoek3d_na2n"  en  "Hoek3d_na4n"
Bekijk de, in hun draaipunt roterende, hoekbalken op deze server.
 
 

Vormen [] vorm; 
void setup() {  
// fullScreen();  
 size(789, 560);  
 float x = width/2;  
 float y = height/2;  
 float n = height/18;  
 float a = sqrt(2*n*n);  
 int ch1 = color(255,0,0,50);  
 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_na2n(n, 4, x-a, y, 0,ch1,ch2,ch3,ch4,ch5);   
 vorm[1] = new Hoek3d_na2n(n, 4, x+a, y, 0,ch1,ch2,ch3,ch4,ch5);  
 vorm[2] = new Hoek3d_na2n(n, 4, x-a, y, 180,ch1,ch2,ch3,ch4,ch5);  
 vorm[3] = new Hoek3d_na2n(n, 4, x+a, y, 180,ch1,ch2,ch3,ch4,ch5);  
 vorm[4] = new Hoek3d_na4n(n, 4, x, y-2*a, 0,ch1,ch2,ch3,ch4,ch5);    
 vorm[5] = new Hoek3d_na4n(n, 4, x, y+2*a,180,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[4].dpRotLi(vorm[4]); 
 vorm[5].dpRotRe(vorm[5]); 
} 
 
void keyPressed() {     
   if (key == 's') {    
    noLoop();    
  }     
   if (key == 'r') {       
    loop();    
  }    
 }