Digital Bauhaus Vorkurs/Projekte/Tobias

From Medien Wiki

Experimente mit Processing und Adobe Illustrator

Generativesdesign1.jpg Generativesdesign2.jpg


Generativesdesign3.jpg Generativesdesign4.jpg



Durch klicken der Maus werden an der Mausposition Kreise gezeichnet. Die Größe des Kreises/Ellipsen variiert in einem begrenzten Bereich durch die Zufallsfunktion. Je langsamer man die Maus mit gedrückter Taste bewegt, desto dichter werden die Kreise. Ein "Tunnel" wird sichtbar.

Patchtunnel1.jpg Patchtunnel2.jpg


float x;
float y;

void setup () {
  size(1600,900);
  smooth();
  background(255);
  frameRate(2000);
}

void draw () {
  if(mousePressed) {
  x = random(100, 110);
  y = random(100, 110);
  noFill();
  stroke(0, 50);
  color(50,20,80);
  ellipse(mouseX,mouseY,x,y);
  x = constrain(x,140,width);
  y = constrain(y,100,height);
  }else{
    point(width/2,40);
  }
}




2 Ellipsen, deren Größenparameter sich durch Mausbewegung verändern lassen.

Patchkreisgroeße.jpg

void setup() {
  size(600,600);
  background(255);
  smooth();
}

void draw() {
  background(255);
  noStroke();
  fill(40);
  ellipse(200,300,mouseX,100);
  ellipse(400,300,100,mouseY);
}

Bei gedrückter Maustaste werden rotierende Linien um die Mausposition gezeichnet. So entstehen Kreise, Halbkreise oder auch nur einzelne Kreissektoren.

Patchrotation.jpg

float linienlaenge = 50;
float winkel = 0;
float geschwindigkeit = 1.0;


void setup() {
  size(600,600);
  smooth();
  background(255);
}

void draw() {
  if(mousePressed) { 
   pushMatrix();
   translate(mouseX,mouseY);
   rotate(radians(winkel));
   line(0,0,linienlaenge,0);
   popMatrix();
  
   winkel += geschwindigkeit;
  }
  
}




Ein Kreis springt in dem Fenster herum. Horizontale und vertikale Geschwindigkeit wird zufällig festgelegt.

Springenderkreis.jpg

//Position Horizontal des Kreises
float x= random(0,600);
//Position Vertikal des Kreises 
float y= random(0,600);
//horizontale Geschwindigkeit 
float vx = random(5,15);
//vertikale Geschwindigkeit
float vy = random(5,15);
//Größe des Kreises 
float s = random(40,100);



void setup() {
  size(600,600);
  smooth();
  background(255);
  frameRate(3000);
}


void draw() {
  
  
  background(255);
  fill(29,7,48);
  ellipse(x,y,s,s);

  x = x + vx;
  y = y + vy;
  
  
  if(y >= height || y <=0){
    vy = -vy;
  }
    
  if(x >= width || x <=0) {
    vx = -vx;
  }
}