Toolbox Interactiondesign


Strukturen Verläufe

Linienverlauf

Strukturen Verläufe

Robert Bunk, 29.08.2013 | Generative Gestaltung Goes Analog bei Prof. Dr. Christine Goutrié

Durch 2 Schleifen überlagern sich die gezeichneten Linien und ergeben ein Karomuster. Von oben nach unten und links nach rechts steigt außerdem die Strichstärke immer weiter an.

Zuallererst hatte ich versucht Linien so anzuornden, dass sie einen Verlauf ergeben. Das Ergebnis sieht man auf dem ersten Bild wo sie von oben links nach unten rechts immer kleiner werden.

Danach habe ich zwei statt nur einer for-Schleife verwendet, um 2 Liniengruppen gleichzeitig aufzuzeichnen. Da der Programmcode auch noch in einen Fräscode übersetzt werden sollte, wollte ich nicht nur in zwei Dimensionen einen Verlauf erzeugen (wie im ersten Experiment) sondern auch in der dritten. Deshalb werden die Linien nun nach rechts und unten hin immer dicker. Die Linienstärke habe ich in die Frästiefe übersetzen lassen – je dicker die Linie, desto tiefer bewegt sich der Fräskopf ins Material.

Quellcode

Um Änderungen am Script auch auf den Fräscode zu übertragen muss man darauf achten, dass die Werte sowohl in der Schleife als auch im Fräscode-Teil geändert werden. Als erstes definiert man die waagerechten und danach die senkrechten Linien. Man kann sie beide auch unterschiedlich stark dicker (bzw. fürs fräsen tiefer) werden lassen.

PrintWriter output; 

void setup() {       
  size(210, 210);
  output = createWriter("Struktur_Verlauf_2.ngc"); 
  output.println("%");
  output.println("G 54");
}

void draw() {

  for (int i=1; i<21; i= i+1) {
    strokeWeight(0.2*i);
    line(10, 10*i, 200, 10*i);

    for (int j=1; j<21; j= j+1) {
      strokeWeight(0.2*j);
      line(10*j, 10, 10*j, 200); 


//hier wird der Hauptteil des Fräscodes erstellt

      output.println("G0 X"+(10)+" Y"+(10*i));
      output.println("G1 Z "+(-(0.2*i))+" F300");
      output.println("G0 X"+(200)+" Y"+(10*i));
      output.println("G0 Z3");

      output.println("G0 X"+(10*j)+" Y"+(10));
      output.println("G1 Z "+(-(0.2*j))+" F300");
      output.println("G0 X"+(10*j)+" Y"+(200));
      output.println("G0 Z3");
    }
  }
  noLoop();
}

void mousePressed() {
  saveFrame("Struktur_Verlauf_2.png");
  output.println("M 02");
  output.println("%");
  output.flush(); 
  output.close(); 
  exit();
}
31.08.2013 | Robert Bunk |