veelhoeken vier roterende vijfhoeken

veelhoeken vier roterende vijfhoeken

 

tekenen met code, "Ellips" schets voor 9 cirkels

tekenen met code, "Ellips" schets voor 9 cirkels

 

tekenen met code, driehoeken en cirkels 

tekenen met code, driehoeken en cirkels 

 

animatie met 12 parallellogrammen

 animatie met 12 parallellogrammen

 

tekenen met code ,animatie met class "Vlieger"

tekenen met code ,animatie met class "Vlieger"

 

pentomino's "U" , "T" , "X" animatie

pentomino's "U" , "T" , "X" animatie

Code van de superclass "Vormen".
Voor het toepassen van de draaienRe(); en draaienLi(); 
1) De code in draw(); tussen pushMatrix(); en popMatrix();  plaatsen.
2) De vormen in setup() in het (0,0) punt  plaatsen.

3) In draw(); mbv translate(x,y); de vormen in de gewenste positie plaatsen,  zie het voorbeeld bij   "Drieh_an"

De dpAan() methode wordt gebruikt om de draaipunten van de vormen als rode puntjes zichtbaar te maken,  zie het voorbeeld in  "Drieh_nh_90"

 


class Vormen {    
  float n; float sw; float l; float h1; float h2; char letter; String text; int lr; int d; int r;   
  float x; float y; float h; float hoek;
  color c1; color c2; color c3; color c4; color c5;    
  //variabelen en constante van de methodes in de superclass    
  float s;   
  float ysnelhUp = 1; float ysnelhDown = 1;    
  float xsnelhRe = 1; float xsnelhLi = 1;    
  
  //De lege constructor    
  Vormen() {  
  }    
  
  //De lege display methode    
  void display() {  
  }   
   
  void dpAan() { 
   pushMatrix();   
   translate(x, y);  
   stroke(255,0,0);  
   strokeWeight(n/5);  
   point(0,0);  
   strokeWeight(1);  
   stroke(0);  
   popMatrix();  
  } 
  
  void dpRotRe(Vormen obj) {    
    obj.hoek = obj.hoek + 0.5;    
    if (obj.hoek >= 360) obj.hoek= 0;  
  }    
  
  void dpRotLi(Vormen obj) {    
    obj.hoek = obj.hoek - 0.5;    
    if (obj.hoek <= -360) obj.hoek= 0;  
  }    
  
  void dpRotReS(Vormen obj) {    
    obj.hoek = obj.hoek + 1.2;    
    if (obj.hoek >= 360) obj.hoek= 0;  
  }    
  
  void dpRotLiS(Vormen obj) {    
    obj.hoek = obj.hoek - 1.2;    
    if (obj.hoek <= -360) obj.hoek= 0;  
  }    
  
  void draaienRe() {   
    s = s + 0.5;   
    rotate(radians(s));   
    if (s > 360) s = 0;  
  }  
  
  void draaienLi() {   
    s = s - 0.5;   
    rotate(radians(s));  
    if (s < -360) s = 0;  
  }  
  
  void yUpDown() {    
    y = y - ysnelhUp;    
    if ((y < 0) || (y > height)) {    
      ysnelhUp = ysnelhUp* -1;  
    }  
  }    
  void yDownUp() {    
    y = y + ysnelhDown;    
    if ((y < 0) || (y > height)) {    
      ysnelhDown = ysnelhDown* -1;  
    }  
  }    
  void xReLi() {    
    x = x + xsnelhRe;    
    if ((x > width) || (x < 0)) {    
      xsnelhRe = xsnelhRe * -1;  
    }  
  }    
  
  void xLiRe() {    
    x = x - xsnelhLi;    
    if ((x > width) || (x < 0)) {    
      xsnelhLi = xsnelhLi * -1;  
    }  
  }  
}