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: Uhr

6. November 2010

Diese Lektion fand ich sehr gut! Wir durften eine eigene Uhr programmieren. Voraussetzung war jedoch, dass die Uhr nicht nach einer gewöhnlichen Uhr aussehen soll. Wir sollten etwas Eigenes programmieren. Ich habe mich zuerst auf eine Uhr mit Balken konzentriert. Diese funktionierte so, dass sich die Balken mit der Zeit die verging zu füllen begonnen haben. Kurze Zeit später verwarf ich jedoch dieses Konzept wieder und kam auf meine jetzige Uhr. Diese sollte einfach zum ablesen sein und klar strukturiert. Die türkisen Punkte stellen die Sekunden dar, die Orangen die Minuten und die Weissen die Stunden. Schwierigkeiten welche bei dieser Aufgabe auftraten waren, die Stunden (welche in 24h aufgeteilt waren in 12h aufzuteilen. Hier mein Resultat: Ausgangslage: Mein Produkt: Code:

int radiuss = 250;
int radiusm = 200;
int radiush = 150;

float stundenhoehe = 10.0;
float minutenhoehe = 400/60.0;
float sekundenhoehe = 400/60.0;

void setup()
{
  size(800, 700);
  PFont font;  
  font = loadFont("Futura-Medium-30.vlw");
  textFont(font, 30);
  smooth();
}

void draw()
{

float stunden = (hour()*stundenhoehe);
float minuten = (minute()*minutenhoehe);
float sekunden = (second()*sekundenhoehe);
  
  background(51);
  translate(width/2, height/2);
  rotate(radians(-90));
  
  int i = 0; 
  
  while(i<=(second()*6)){
      
  pushMatrix();
  rotate(radians(i));
  noStroke();
  fill(17,247,215);
  ellipse(radiuss,0,20,20);
  i = i + 6;
  
  println(second());
  popMatrix();
  }
  
  
    int s = 6;
  
  while(s<=(minute()*6)){
  
  pushMatrix();
  rotate(radians(s));
  noStroke();
  fill(250,164,35);
  ellipse(radiusm,0,20,20);
  s = s + 6;
  popMatrix();
  }
  
  if(hour()<12) 
  
   {
     stunden = hour()*30;
    
   }
   
   else {
     
     stunden = (hour()*30)-360;
   }
   
    int h = 30;
  
  while(h<=stunden){
  
  pushMatrix();
  rotate(radians(h));
  noStroke();
  fill(237);
  ellipse(radiush,0,50,50);
  h = h + 30;
  popMatrix();
  }
  rotate(radians(90));
    pushMatrix();
  String  clockStr = str(hour()) + ":" + str(minute()) + ":" + str(second());
  text(clockStr,-50,0);
  popMatrix();
}