trap 2nn dp

de trapeziums in hun draaipunten geen rotatie

 

trap 2nnRot1

bewegende trapezium

 

 

trap 2nnRot2

 

 

trap 2nnRot0

de trapezium zie de schets voor de code

 

trap 2nnRot3

trap 2nnRot4

header trap 2nn
 
 
trapezium "Trap_2nn"                                     terug naar de inleiding
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, trapezium
zie de roterende en op en neer bewegende trapezium
 
 

 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].opEnNeer(); 
  vorm[7].neerEnOp(); 
  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(); 
  } 
}