trap header

 

 

 

lijndelen met lengten 3n, n, a en a/2lijndelen met lengten n, 3n, a en a/2

 

 

lijndelen met lengten n, 2n, 3n en a lijndelen met lengten n, 2n, 3n en a

 

lijndelen met lengte n, a en a/2 lijndelen met lengte n, a en a/2

 

 

 

 

  Draaipunten 0 t/m 8
 
trapezium "Trap_3nan"          zie de   roterende trapeziums                           terug naar de inleiding
basis                            = 3*n
schuine zijden             = a = sqrt(2*n*n)
de hoogte    en top      =  n
 
 

class Trap_3nan extends Vormen { 
Trap_3nan(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);  
 pushMatrix();  
 translate(x, y);  
 rotate(radians(hoek));   
 beginShape();  
 if (d == 0) {vertex(-1.5*n, n/2); vertex(-n/2, -n/2); vertex(n/2, -n/2); vertex(1.5*n, n/2);}   
 if (d == 1) {vertex(0, 0); vertex(n, -n); vertex(2*n, -n); vertex(3*n, 0);}     
 if (d == 2) {vertex(-n/2, n/2);vertex(n/2, -n/2); vertex(1.5*n, -n/2); vertex(2.5*n, n/2);}   
 if (d == 3) {vertex(-n, n); vertex(0, 0); vertex(n, 0); vertex(2*n, n);}   
 if (d == 4) {vertex(-1.5*n, n); vertex(-n/2, 0); vertex(n/2, 0); vertex(1.5*n, n);}   
 if (d == 5) {vertex(-2*n, n); vertex(-n, 0); vertex(0, 0); vertex(n, n);} 
 if (d == 6) {vertex(-2.5*n, n/2); vertex(-1.5*n, -n/2); vertex(-n/2, -n/2);vertex(n/2, n/2);}     
 if (d == 7) {vertex(-3*n, 0); vertex(-2*n, -n); vertex(-n, -n); vertex(0, 0);}    
 if (d == 8) {vertex(-1.5*n, 0); vertex(-n/2, -n); vertex(n/2, -n); vertex(1.5*n, 0);}  
 endShape(CLOSE);  
 popMatrix();  
 }  
}
 
schets met de roterende trapeziums
 
zie de roterende  trapeziums        de schets maakt gebruik van de class "Trap_3nan" en de superclass "Vormen"
 
 

Vormen [] vorm;  
void setup() {  
  //fullScreen();  
  size(780, 560);  
  float x = width/2;  
  float y = height/2;  
  float n = height/8; 
  float a = sqrt(2*n*n);  
  vorm = new Vormen[8];  
  vorm[0] = new Trap_3nan(n, 7, x-1.5*a, y, 135,color(255, 255, 0, 100));  
  vorm[1] = new Trap_3nan(n, 1, x+1.5*a, y,-135,color(255, 0, 0, 100));   
  vorm[2] = new Trap_3nan(n, 7, x+1.5*a, y,-45, color(255, 255, 0, 100));   
  vorm[3] = new Trap_3nan(n, 1, x-1.5*a, y, 45, color( 255,0, 0, 100));   
   
  vorm[4] = new Trap_3nan(n, 3, x, y-a/2, 135, color(26,237, 225, 100));  
  vorm[5] = new Trap_3nan(n, 5, x, y-a/2,-135, color(100, 200, 50, 100));  
  vorm[6] = new Trap_3nan(n, 3, x, y+a/2, -45, color(26,237, 225, 100));  
  vorm[7] = new Trap_3nan(n, 5, x, y+a/2,  45, color(100, 200, 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[0].dpRotLi(vorm[0]);  
    vorm[1].dpRotRe(vorm[1]);  
    vorm[2].dpRotLi(vorm[2]);  
    vorm[3].dpRotRe(vorm[3]);  
     
    vorm[4].dpRotLi(vorm[4]);  
    vorm[5].dpRotRe(vorm[5]);  
    vorm[6].dpRotLi(vorm[6]);  
    vorm[7].dpRotRe(vorm[7]);  
}  
  
void keyPressed() {      
  if (key == 's') {     
    noLoop();  
  }    
  
  if (key == 'r') {        
    loop();  
  }  
}