Kreis Uhr

Aus BraLUG-Wiki

Wechseln zu: Navigation, Suche


Funktionsweise

Zu dieser Uhrzeit-Darstellungsform wurde ich durch einen Beitrag im Tcl/Tk-Wiki angeregt. Auf dieser Webseite findet man auch den Vorschlag den Zeitpunkt von Sonnenaufgang und -untergang in die Uhrzeitdarstellung zu integrieren. Nachdem es ein paar Stunden in meinem Kopf gearbeitet hatte, bin ich zu diesem Ergebis gekommen:

Tcl/Tk-Version der Kreis Uhr (15:51:41 Uhr)


Die einzelnen Kreise haben folgende Bedeutung (von aussen nach innen):

  • Sekunden (in üblicher Darstellungsweise)
  • Minuten (...dito...)
  • Stunden; ein Umlauf sind 24h; 0 Uhr beginnt da, wo auf der "normalen" Uhr 06:00 bzw. 18:00 ist
  • Sonnenaufgang/-untergang; das (gelbe) Kreissegment deutet die Phase am Tag an, an der die Sonne am Betrachtungsstandort am Himmel sichtbar sein sollte (deshalb sollten auch die entsprechenden geografischen Koordinaten im Scriptquelltext angepasst werden). Die Darstellung der Aufgangs-/Untergangszeiten bezieht sich auf die der Stunden.


Derzeit besteht noch die Idee,

  • den aktuellen Stand der Sonne,
  • Mondaufgang/-untergang und dessen Phasen

in die Uhr zu integrieren.

Tcl/Tk-Version

Warum eigentlich schon wieder Tcl/Tk? Beim ersten Gedankenblitz hatte ich an eine native X11-Version des Programmes gedacht. Dann musste ich aber an die Eigenheiten von Xlib denken: bei vielen X-Events (also z.B. ein anderes Fenster überdeckt die Uhr o.ä.) muss die Uhr jedesmal neu gezeichnet, also auch die ganzen mehr oder weniger umfangreichen Berechnungen und die daraus resultierenden grafischen Ausgaben neu angestossen werden, was den Prozessor schon einiges belasten könnte. Desweiteren bedeutet Neuzeichnen auch wirklich Berechnen und Neuzeichnen! Unter Tk ist es anders, hier zeichnet man nur neu, wenn sich Datum/Uhrzeit ändert, alles andere verwaltet Tk selbst. Ein Neuzeichnen durch das Script ist es eigentlich auch nicht ganz, denn dieses ändert nur die Parameter einzelner Grafikelemente, die vorher einmal definiert und gezeichnet wurden. Den Rest macht Tk dann eigenständig. Tcl/Tk ist in dieser Hinsicht einfach nur genial...!


Kontakt

Uwe

'Persönliche Werkzeuge