header trap 2nn

 

de trapeziums in hun draaipunten geen rotatie

 

bewegende trapezium

 

 

de trapezium zie de schets voor de code

 

  Draaipunten 0 t/m 8
 
 
trapezium "Trap_2nn"                                terug naar de inleiding               zie ook het voorbeeld  "ruiten en trapeziums"
basis                             = 2*n
schuine zijden en top    = n
de hoogte                hn = sqrt(3*n*n/4);
 
 

class Trap_2nn extends Vormen { 
Trap_2nn(float n_, int d_, float x_, float y_, float hoek_, color c1_) {  
 super();  
 n = n_;   
 x = x_;   
 y = y_;   
 hoek = hoek_;  
 c1 = c1_;  
 d = d_;  
 } 
void display() {  
 fill(c1);  
 // noStroke();  
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek));   
 beginShape();  
 float hn = sqrt(3*n*n/4); 
 if (d == 0) {vertex(-n, hn/2); vertex(-n/2, -hn/2); vertex(n/2, -hn/2); vertex(n, hn/2);}    
 if (d == 1) {vertex(0, 0); vertex(n/2, -hn); vertex(3*n/2, -hn); vertex(2*n, 0);}    
 if (d == 2) {vertex(-n/4, hn/2);vertex(n/4, -hn/2); vertex(5*n/4, -hn/2); vertex(7*n/4, hn/2);}     
 if (d == 3) {vertex(-n/2, hn); vertex(0, 0); vertex(n, 0); vertex(3*n/2, hn);}   
 if (d == 4) {vertex(-n, hn); vertex(-n/2, 0); vertex(n/2, 0); vertex(n, hn);}   
 if (d == 5) {vertex(-3*n/2, hn); vertex(-n, 0); vertex(0, 0); vertex(n/2, hn);}  
 if (d == 6) {vertex(-7*n/4, hn/2); vertex(-5*n/4, -hn/2); vertex(-n/4, -hn/2);vertex(n/4, hn/2);}     
 if (d == 7) {vertex(-2*n, 0); vertex(-3*n/2, -hn); vertex(-n/2, -hn); vertex(0, 0);}    
 if (d == 8) {vertex(-n, 0); vertex(-n/2, -hn); vertex(n/2, -hn); vertex(n, 0);}  
 endShape(CLOSE);  
 popMatrix();  
 }  
}
 
schets met de roterende, en op en neer bewegende, trapeziums
 
zie de roterende en op en neer bewegende trapeziums
 
 

 Vormen [] vorm; 
void setup() { 
  //fullScreen(); 
  size(780, 560); 
  float x = width/2; 
  float y = height/2; 
  float n = height/9;
  vorm = new Vormen[8]; 
  vorm[0] = new Trap_2nn(n, 1, x-n, y-n, -90, color(255, 255, 0, 100)); 
  vorm[1] = new Trap_2nn(n, 7, x+n, y-n, 90, color(255, 0, 0, 100)); 
  vorm[2] = new Trap_2nn(n, 8, x-n, y, -90, color(0, 0, 255, 100)); 
  vorm[3] = new Trap_2nn(n, 8, x+n, y, 90, color(0, 255, 0, 100)); 
  vorm[4] = new Trap_2nn(n, 7, x-n, y+n, -90, color(0, 255, 255, 100)); 
  vorm[5] = new Trap_2nn(n, 1, x+n, y+n, 90, color(255, 0, 200, 100)); 
  vorm[6] = new Trap_2nn(n, 8, x, y+4*n, 0, color(200, 0, 50, 100)); 
  vorm[7] = new Trap_2nn(n, 8, x, y-4*n, 180, color(255, 100, 0, 100)); 
} 
 
void draw() { 
  background(#E6FBFF); 
  //assenstelsel 
  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< 8; i++) 
  { 
  vorm[i].display(); 
  } 
   
  vorm[6].yUpDown(); 
  vorm[7].yDownUp(); 
  vorm[0].dpRotRe(vorm[0]); 
  vorm[1].dpRotLi(vorm[1]); 
  vorm[5].dpRotRe(vorm[5]); 
  vorm[4].dpRotLi(vorm[4]); 
} 
 
void keyPressed() {     
  if (key == 's') {    
    noLoop(); 
  }   
 
  if (key == 'r') {       
    loop(); 
  } 
}