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; int sw; float h; float l; float h1; float h2; char letter; int lr;  int d;  int r;   
  float x; float y; 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 yUp() {    
    y = y - ysnelhUp;    
    if ((y < 0) || (y > height)) {    
      ysnelhUp = ysnelhUp* -1;  
    }  
  }    
  void yDown() {    
    y = y + ysnelhDown;    
    if ((y < 0) || (y > height)) {    
      ysnelhDown = ysnelhDown* -1;  
    }  
  }    
  void xRe() {    
    x = x + xsnelhRe;    
    if ((x > width) || (x < 0)) {    
      xsnelhRe = xsnelhRe * -1;  
    }  
  }    
  
  void xLi() {    
    x = x - xsnelhLi;    
    if ((x > width) || (x < 0)) {    
      xsnelhLi = xsnelhLi * -1;  
    }  
  }  
}