Skip to content

U0206 Die vier Jahreszeiten

Visualisiere die vier Jahreszeiten (Frühling, Sommer, Herbst, Winter) mit Hilfe von verschiedenen Punktgrößen. A) Überlege zuerst die typischen Eigenschaften und Gefühle und wie diese visuell am besten umgesetzt werden können. B) Entwickeln Sie in einem zweiten Schritt Hilfswerkzeuge, die Ihnen bei der Umsetzung helfen.

Reflektieren Sie den Entwurfsprozess? Wie vollzog sich der Entstehungsprozess für A) und B)? Dokumentieren sie ihr Ergebnis in MKDocs.

Punkte

Reflexion:

Zu dieser Übung lässt sich sagen: ich habe sie gemacht. Es ist mir sehr schwer gefallen, ich bin nicht zufrieden und ich glaube es liegt daran, dass ich noch nicht einmal klare Eigenschaften und Gefühle der Jahreszeiten benennen kann. Ich denke recht selten in Jahreszeiten und habe selbst wenn ich diese Struktur auf Zeiträume presse, noch keine Konsistenz in meinen Gefühlen dazu gefunden. Schnee liegt keiner mehr, Bäume verlieren ihre Blätter mittlerweile auch im August und treiben im Oktober nocheinmal neu aus. Im September ist es genau so unberechenbar trocken und nass, wie im Januar und der März kann 35 Grad haben. Ich glaube, diese Aufgabe ist aus der Zeit gefallen.

Der Versuch war, über Leichtigkeit und Schwere Stereotype darzustellen. Der leichte, zarte Frühling, sich erhebend aus der Winterruhe, übergehend in die Überschwänglichkeit des Sommers. Man geht nach draußen, macht mehr mit Freunden, die Leute werden freundlicher und Lachen bis tief in die Nacht, unter der prügelden Hitze. Der Herbst dämpft die stimmung wieder und die seichte Erinnerung an die Hochzeit des Sommers liegt noch in der Luft. Symbolisiert durch den großen Punktabstand der kleinen, lieblich an die Übergangszeit des Frühlings anmutenden Pünktchen, noch schwebend über dem Trauertal der allwinterlichen, kollektiven, nassgrauen Dauerdepression. Der winter ist genau das. Schwer, undurchsichtig, ganz am Boden. Die Punkte sich noch in Teilen gegen den gesamtpunktheitlichen Kollaps, im Verschmelzen ineinander wehrend.

Auf zur nächsten Übung!

Code:



// --- Einstellungen ---

int cols = 3;

int rows =3;

int mousefactor = 2;

float padding = 10;

float pointSize = 10;




float cellSize;

float startX, startY;



ArrayList<Dot> dots;



void setup() {

  size(1000, 700);

  dots = new ArrayList<Dot>();



  // Quadratgröße richtet sich nach Höhe

  cellSize = (height - padding * (rows + 1)) / rows;

  float totalWidth = cols * cellSize + (cols + 1) * padding;

  startX = (width - totalWidth) / 2 + padding;

  startY = padding;

}



void draw() {

  background(200); // Hintergrund leicht grau für Kontrast



  // Raster zeichnen

  for (int i = 0; i < cols; i++) {

    for (int j = 0; j < rows; j++) {

      float x = startX + i * (cellSize + padding);

      float y = startY + j * (cellSize + padding);

      fill(255);

      stroke(0);

      rect(x, y, cellSize, cellSize);

    }

  }



  // Punkte zeichnen

  for (Dot d : dots) {

    d.display();

  }



  // Punktgröße anzeigen

  fill(0);

  text("Punktgröße: " + pointSize, 10, height - 10);

}



void mousePressed() {

  // Punkt an Klickposition hinzufügen

  dots.add(new Dot(mouseX, mouseY, pointSize));
 // mousefactor ++; // Schnipsel für U0209 (vergrößert Punkt nach jedem Klick)
 // pointSize = pointSize + 0.75 * mousefactor;
}



void keyPressed() {

  if (key == '+' || key == '=') {

    pointSize += 10;

    if (pointSize > 1000) pointSize = 1000;

  }

  if (key == '\t') { // Lifeimprovement -> löscht alle Punkte nach TAB
   dots.clear();
   //mousefactor = 2; // Schnipsel für U0209
   //pointSize = 10; // Schnipsel für U0209
  }
  if (key == 'z') { // Lifeimprovement -> löscht letzten Punkt nach z
    if (dots.size() - 1 >= 0) {
     dots.remove(dots.size() - 1);
    }
  }

  if (key == '-' || key == '_') { // Punktgröße

    pointSize -= 10;

    if (pointSize < 2) pointSize = 2;

  }

}



// Punktklasse

class Dot {

  PVector pos;

  float size;



  Dot(float x, float y, float s) {

    pos = new PVector(x, y);

    size = s;

  }



  void display() {

    fill(0);

    noStroke();

    circle(pos.x, pos.y,  size);

  }

}