Hello, Guest the thread was called714 times and contains 8 replays

last post from Bytebreaker at the

Für alle Astronomie-Fans: Ein Sonnenstandsrechner mit grafischer Anzeige für den C64

  • Hallo zusammen,


    auf der Apple Watch gibt es ein Ziffernblatt, auf dem man ein Sonnenstandsdiagramm sieht. Es ist nur eine X-Achse eingezeichnet als Zeitachse und Horizont und die sinusartige Linie die den Horizont schneidet, ist der Sonnenverlauf in Höhengrad. Wenn man an der Krone dreht, sieht man einen Leuchtpunkt, der sich als symbolische Sonne entlang der Höhenverlaufslinie bewegt, dazu sieht man immer auch die dazu passende Uhrzeit sowie die markanten Punkte Sonnenaufgang, Sonnenhöchststand und Sonnenuntergang.


    Das fand ich so elegant und interessant dass ich dachte, das muss man doch am C64 nachprogrammieren können. Gesagt getan. ^^

    Besonders gut fand ich, dass unser 40 Jahre alter C64 exakt rechnet. Bitte vergleicht die C64 Werte mit den Werten der beiliegenen Open Office Tabellenkalkulation. Es gibt Abweichungen, aber erst in den hinteren Nachkommastellen.


    Hinweise zur Open Office Kalkulation:

    • Die Felder Tag, Monat und Jahr im Tab "Eingabe + Ergebnis" füllen sich automatisch mit dem Datum "heute" aus, sind aber von Hand überschreibbar
    • Die Felder UTC, Breite Phi und Länge Lambda sind von Hand zu ändern.
    • UTC beschreibt die Abweichung von der Greenwhich-Zeit, die bei uns auch sommer/winterzeitbedingt zu sehen ist. Für Deutschland gilt im Sommer UTC -2, im Winter UTC-1.
    • Breite Phi und Länge Lamdba sind die geographischen Breiten- und Längenkoordinaten des Ortes, für den ihr den Sonnenstand bstimmen wollt. Pforzheim ist aktuell voreingestellt. Alternative Orte auf der Welt stehen im Tab "Weitere Geokoordinaten". stat die Werte zu kopieren und einzufügen kann man auch referenzieren, d.h. anstatt =Geokoordinaten.B9 im Feld Breite und =Geokoordinaten.C9 im Feld Länge für Pforzheim kann man auch =Geokoordinaten.B3 und =Geokoordinaten.C3 für Tokio nehmen.

    Hinweise zur C64 Version:

    • Bitte das d64 astro.64 per Drag 'n Drop in VICE ziehen, so dass ein load"*",8,1 ausgelöst wird - das muss sein, denn dann wird ein Maschinenspracheprogramm vorgeladen, dass sich später um die grafische Darstellung im Hires-Modus kümmert
    • Dann mit load"sonne",8 und run starten
    • Die Koordinaten sind hier von Hand einzugeben, Pforzheim ist vorausgewählt.
    • Wann für die UTC-Eingabe Umstellungszeitpunkt Sommerzeit/Winterzeit ist, könnt ihr mit dem Programm "sowi" herausfinden, das mit auf dem astro.64 Image ist
    • Der Wochentag wird aus der Datumsangabe heraus mitberechnet - auch separat als Programm "wota" auf dem d64 ausführbar
    • Wer keine Grafik und Tabelle am Ende will sondern nur die wesentlichen Zeiten wissen will, kann das im Dialog auswählen, dann geht das Programm deutlich kürzer
    • Ich bin ein großer Fan davon, den Hires Modus im Zusammenhang mit Fließkomma-Mathematik zu bedienen und finde es befriedigend, die nativen Float-Berechnungen des C64 nicht nur grafisch, sondern auch als Text in den Hires-Modus zu übertragen. Per Joystick kann man ein kleines Sonnensprite über die Verlaufslinie in vollen Stunden-Zügen bewegen und die zugehörigen Höhenwerte werden angezeigt. Ja es ist nicht wirklich schnell, weil es für Fließkommazahlen keinen Basic Compiler gibt. Aber für Effizienz und Top-Komfort haben wir dieses Hobby schließlich nicht, sondern für den den Spaß an der Freude. Emulator-User drücken einfach Alt-W in VICE. ;-)
    • Ich musste tatsächlich noch ein x=fre(.) einbauen, um regelmäßig die Garbage Collection anzustoßen. Wenn man sonst ca. 240x die Sonne bewegt, fängt der String Heap an, die Bitmap zu überschreiben. Das ist nun abgeklemmt.

    Quellen:

    Für die Sonnenstandsberechnung: https://de.wikipedia.org/wiki/Sonnenstand

    Für die Wochentagsberechnung: https://de.wikipedia.org/wiki/Wochentagsberechnung

    Für Sonnenauf- und Untergangsberechnung: https://lexikon.astronomie.info/zeitgleichung/


    Letzte Anmerkung:

    Sonnenaufgang und Sonnenuntergang werden anders berechnet als die Verlaufslinie. Während die Verlaufslinie präzise berechnet ist, werden Sonnenaufgang und untergang nach einem anderen, vereinfachten Verfahren berechnet, bei dem sich Abweichungen innerhalb von 5 Minuten ergeben können. Das führt mitunter dazu, dass man Sonnenauf- und Untergänge nicht exakt bei 0 Grad stehen hat und so wird es auch in den Graphen gezeichnet. Vergleicht man mit Sonnenstandsrechnern im Internet, findet man es aber ebenso vor, dass ein Sonnenauf/untergang bei -3 Grad Höhe liegt, weil er vermutlich einen ähnlich vereinfachten Algorithmus wie ich benutzt. Anderswho habe ich -0.8 Grad Höhe gesehenen, der rechnet vermutlich anders, aber ich habe nunmal den Algorithmus dafür nicht parat und eine Mondlandung muss man ja mit meinem Programm nicht planen können.

  • Superthema:
    Eigentlich verwundlich, daß das Thema Sonnen-Aufgang und Untergang in den Wetternachrichten kaum Beachtung findet.
    Obwohl das ja das einzige Wetterphänomen ist, was man 100%tig berechnen kann.
    Die Wetternachrichten im Fernsehen sind tatsächlich ein Fall für sich.
    Da werden Bespielsweise die Temperaturen 2 Sekunden eingeblendet und dann verschwinden sie wieder.
    Total beknackt.

    Meiner Meinung nach sollte
    1. Sonnenaufgang und Untergang
    2. Höchst- und Niederigst-Temperatur/ Frostgefahr
    3. Windstärke/Sturm/Orkan
    4. Niederschlag Gewitter/Regen/Hagel/Schnee/Trockenheit
    5. für die Küste wäre wahrscheinlich noch Ebbe und Flut sinnvoll.

    zu jeder Wettervorhersage gehören.

    Schönen Gruß.

  • Hallo zusammen,


    das Sonnenstandsprogramm wurde aktualisiert.

    • Das Programm startet nun komplett via Autostart, keine separate load-Anweisung mehr erforderlich
    • Man kann bis zu 10 Standorte speichern und es gibt eine Dateiverwaltung zum erweitern, löschen und überschreiben
    • Die Ausgabe der Standorte ist stets sortiert
    • Die vorgespeicherte UTC-Zeit kann man bei der Parameterangabe direkt anpassen,um direkt auf Sommerzeit/Winterzeit-Abweichung abhängig vom Datum reagieren zu können