Willkommen auf unserem Seminar-Blog

Immer auf dem aktuellen Stand bleiben

Dieser Seminar-Blog befindet sich noch im Aufbau und wird in den kommenden Tagen entsprechend verfeinert.

Member Login

Lost your password?

Registration is closed

Sorry, you are not allowed to register by yourself on this site!

You must either be invited by one of our team member or request an invitation by email at viad.info {at} zhdk {dot} ch.

Lektion 7 – Uhren

25. Oktober 2011

Erste Versuche mit Balken und Kreisen.

Stunden, Minuten und Sekunden werden als Balken dargestellt

Kreisdarstellung. Die Kreise werden von der Mitte ausgehend immer grösser.

Konzept I: Sekunden, Minuten und Stunden werden als Punkte dargestellt. Dabei haben die verschiedenen Einheiten unterschiedliche Grössen, Farb- und Transparenzwerte. Diese Punkte werden zufällig verteilt platziert.

Prototyp für Konzept I

Beim ersten Aufrufen des Programms werden sofort die die aktuellen Werte angezeigt, d.h. wenn es 16:17:35 Uhr ist, werden 16 Punkte für die Stunden platziert usw. Die Punkte bleiben immer bestehen, nehmen aber mit fortschreitender Zeit an Sichtbarkeit ab. Das ganze kann als Metapher dafür verstanden werden, dass vergangene Zeiten immer mehr in die Ferne rücken und man sich schwerer daran erinnern kann. Die Punkte sollten sich bewegen (rein/rauszoomen oder drehen), wenn sie mal gesetzt sind. Anstelle der Punkte könnte die Strasse oder ein Waldweg als Szenario genommen werden. Auf der Strasse würden sich dann statt Punkte Müll ansammeln - Zigarettenstummel, Becher, Kaugummis etc. Auf dem Waldweg würden sich verschiedenfarbige Blätter ansammeln und wieder verschwinden.

Prototyp II mit herbstlichen Farben

Code Prototyp I:
void setup()
{
  size(600, 600);

  PFont font;
  font = loadFont("Monospaced-48.vlw");
  textFont(font, 12);
  smooth();
  //noLoop();
  frameRate(1);
  background(255);
}

void draw()
{
  //background(255);

  drawSec ();

  drawMin ();

  drawHour ();

  fill(0);
  text(hour(),500,580);
  text(minute(),520,580);
  text(second(),540,580);
}

void mousePressed() {
  redraw();
}

void keyPressed()
{
  switch(key)
  {
  case 's':
    saveFrame("screenshot-##.png");      // Speichern eines Screenshots auf Druck von 's'
    println("Saved screenshot-##.png");
    break;
  }
}

void drawSec ()
{
  int randomX = (int)random(20,580);
  int randomY = (int)random(20,580);
  int randomAlpha = (int)random(30,128);
  noStroke();
  fill(0,255,0,randomAlpha);
  ellipse(randomX,randomY,30,30);
  fill(0);
  text("s",randomX,randomY);
}

void drawMin ()
{
  int randomX = (int)random(20,580);
  int randomY = (int)random(100,500);
  int randomAlpha = (int)random(30,128);
  noStroke();
  fill(0,0,255,randomAlpha);
  ellipse(randomX,randomY,40,40);
  fill(0);
  text("m",randomX,randomY);
}

void drawHour ()
{
  int randomX = (int)random(20,580);
  int randomY = (int)random(100,500);
  int randomAlpha = (int)random(30,128);
  noStroke();
  fill(255,0,0,randomAlpha);
  ellipse(randomX,randomY,50,50);
  fill(0);
  text("h",randomX,randomY);
}
Konzept 2: Die Zeit wird als rekursive Fraktalfunktion dargestellt. Aus den Tagen spriessen in Spiralenform die Stunden, aus den Stunden wiederum die Minuten und aus den Minuten die Sekunden. Die verschiedenen Einheiten werden wiederum als Punkte dargestellt, man sieht die Linien der Spirale nicht, wie bei meinem vorherigen Beispiel.