header hoek n3n
 
hoek   "Hoek_n3n"          ga naar de animatie met  roterende hoeken                                        terug naar de inleiding
 
 

class Hoek_n3n extends Vormen { 
 Hoek_n3n(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 a; 
    a =  sqrt(2*n*n); 
    if (d == 0) {vertex(-a,a/2);vertex(-3*a/2,0);vertex(0,-3*a/2);vertex(3*a/2,0);vertex(a,a/2);vertex(0, -a/2);}     
    if (d == 1) {vertex(0,0);vertex(-a/2,-a/2);vertex(a,-a*2);vertex(5*a/2, -a/2);vertex(2*a, 0);vertex(a, -a);}     
    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 == 3) {vertex(-a/4,5*a/4);vertex(-3*a/4, 3*a/4);vertex(3*a/4,-3*a/4);vertex(9*a/4,3*a/4);vertex(7*a/4,5*a/4);vertex(3*a/4,a/4);}      
    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 == 5) {vertex(-7*a/4,5*a/4);vertex(-9*a/4,3*a/4);vertex(-3*a/4,-3*a/4);vertex(3*a/4,3*a/4);vertex(a/4,5*a/4);vertex(-3*a/4,a/4);}       
    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);}            
    if (d == 7) {vertex(-2*a,0); vertex(-5*a/2,-a/2);vertex(-a,-2*a); vertex(a/2,-a/2);vertex(0,0);vertex(-a,-a);}     
    if (d == 8) {vertex(-a,a);vertex(-3*a/2,a/2);vertex(0,-a);vertex(3*a/2,a/2);vertex(a,a);vertex(0,0);} 
     endShape(CLOSE); 
    popMatrix(); 
  } 
}

 
schets met 5 roterende hoeken
 
 

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