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(); }