Einblick in die generative Gestaltung mit «Processing»

Sechs Kursabende à vier Stunden an der EB Zürich

Kurskonzeption und Leitung Hanna Züllig


< back

						/*
Autor: Theres Waeckerlin
Kurs: Einblick in die generative Gestaltung mit processing ip971231
Kursleitung: Hanna Zuellig
Veroeffentlicht unter der creative common license Attribution-NonCommercial-ShareAlike
CC BY-NC-SA  http://creativecommons.org/licenses/
*/
float angle=0;//######## Definition des Startwinkels
float angleinc=0.8;//######## Definition des Zählwerts, dieser Wert bestimmt den Schritt zur nächsten Drehung

void setup(){
  
  size(500,500);
  smooth();
  
}

void draw(){
  
  if(mousePressed==false){
    
    background(255);
    
    //Variante 
    /*fill(255,10);
    rect(0,0,width,height);*/    
  
  noStroke();
    
  }else{
   background(0);
   //Variante 
   /* fill(0,10);
    rect(0,0,width,height);*/
    stroke(255);
    
  }
  
  
  
  for(int y=5;y<=height;y+=20){
    
    for(int x=5;x<=width;x+=20){
    
       pushMatrix();  //######## 1. hier wird das aktuelle Koordinatensystem gespeichert
       
       //######## 2. hier wird der Mittelpunkt des Koordinatensystems zur aktuellen Position von x,y hin verschoben
       translate(x,y); 
       
       //######## 3. dann wird rotiert: Winkelmasse mit radians() in Bogenmasse umwandeln
       rotate(radians(angle));
       
        //######## 4. dann wird gezeichnet: Achtung, weil das Koordiatensystem nun auf x,y liegt muss die Zeichnung um diese Masse verschoben werden
        //statt  line(x,y,x+20, y+20); ergibt das line(0,0,20, 20);
       //line(0,0,20, 20);
       
       fill(0,20,100, 100);
       ellipse(0,0,15,40);
        
        
       popMatrix(); //######## 5. hier wird das Koordinatensystem wieder zurückgesetzt
     
     
    }
     
  }
  
   //######## 6. hier wird der Winkel um einen Schritt erhöht 
    angle+=angleinc;
  
  //Bild exportieren
  if(keyPressed && key=='s'){
    
    // deaktiviert bei display ueber processing.js  saveFrame("Theres_####.jpg");
    
  }
  
}