
( erinnert mich an Cover the Earth Sherwin Williams Paint (XXH0284) – Außenwerbung der RC Maxwell Company – Duke Libraries )
Die angehängte JSL-Datei (unten) verwendet nicht die Zeitzone von vorherigen Post . (Aber das wird es bald in einem Beitrag.) Nehmen Sie vorerst einfach eine Reihe von Bildern auf, um die Animation zu erstellen.
Es gibt viele Websites, die beschreiben, wie das geht. Sie schienen alle kompliziert zu sein, also versuchte ich etwas Einfaches. Es scheint einigermaßen korrekte Ergebnisse zu liefern. Das obige Bild zeigt einen 24-Stunden-Zeitraum Ende Oktober. Die Sonne hat sich nach Süden verschoben; Die Südhalbkugel hat lange Tage und die Nordhalbkugel hat kurze Tage. Woher kommt diese faszinierende Form?
Die Sonne scheint auf die halbe Erde. Die andere Hälfte ist dunkel. Es ist ein wenig kontraintuitiv, aber die obige Grafik verwendet die Anti-Sonne (in Ermangelung eines besseren Namens), um Dunkelheit auf die der Sonne gegenüberliegende Hälfte der Erde zu projizieren.
Es ist ziemlich einfach, den Punkt auf der Erde direkt unter der Sonne basierend auf der Tages- und Jahreszeit zu finden. Die Sonne wandert um den 21. Juni bis zu 23,5 Grad nach Norden und am 21. Dezember auf 23,5 Grad nach Süden. In diesem vereinfachten Modell folgt die Sonne einer symmetrischen sinusförmigen Zeitachse, obwohl ich denke, dass es in Wirklichkeit mehr Zeit unter dem Äquator verbringt . Und im Laufe von 24 Stunden durchquert die Sonne 360 Längengrade. Das ist also das Zentrum des Lichts oder in diesem Fall des Dunkels.
Wo sind die Kanten?Der Terminator ist die Dämmerungslinie.Es ist 90 Grad vom Zentrum des Lichts entfernt, in jede Richtung. Zeichnen Sie einen Kreis auf der Karte, 90 Grad vom Mittelpunkt der Sonne entfernt auf der Vorderseite der Karte, und färben Sie die Innenseite oder die Außenseite. Ich habe die Mathematik gefunden, die ich brauchte Hier , in Form einer Gleichung, die die Frage beantwortet: "Wenn ich bei Breitengrad, Längengrad starte und X Meilen mit einer Peilung von B Grad reise, welchen Breitengrad, Längengrad werde ich erreichen?"90 Grad sind ungefähr 6000 Meilen auf unserem Heimatplaneten.
Das nächste Puzzleteil ist ein Beispiel aus dem Scripting-Index, das mit der XY-Funktion eine Spirale zeichnet.

Kann ich da eine Karte hinterlegen?Rechtsklick->Hintergrundkarte->SimpleEarth...

Perfekt! es ist keine kreisförmige Spirale mehr, sie wird durch die Projektion der Karte verzerrt ... genau das, was benötigt wird, um den Kreis der Sonneneinstrahlung auch auf die flache Karte zu projizieren. Bewegen Sie die Achsen ein wenig (lassen Sie die Maus los, um die Karte aufzufrischen) und beobachten Sie, wie die Spirale ihre Form ändert, um über denselben Bereichen zu bleiben.


Das Spiralbeispiel generiert Y-Werte etwas über 90. Die äußerste Spitze der spitzen Projektion zeigt allmählich eine Anomalie. Gehen Sie nicht dorthin.
Zurück zum Tag/Nacht-Diagramm: Ich habe mehrere Varianten ausprobiert und diese ist am befriedigendsten. Machen Sie die Linienbreite der Spirale breit, aber nicht zu breit. Und machen Sie die Anzahl der Spiralschleifen groß, aber nicht zu groß. Machen Sie die Linienfarbe schwarz und vielleicht transparent (für eine zukünftige Version von JMP).Die Anzahl der Spiralschleifen beginnt den Graphen nach einer Weile zu verlangsamen; 20 ist schnell, 200 ist langsam. Mit 20 benötigen Sie eine dickere Linie, um alles dazwischen zu schattieren, aber dickere Linien erzeugen ausgefranste Kanten. JMP ändert seine zugrunde liegenden Zeichenwerkzeuge in einer kommenden Version, und die Transparenz wird in diesem Beispiel großartig aussehen, aber bei JMP 12 erzeugt die Transparenz in der Spirale Artefakte, wo die dicke Linie sich selbst überlappt.
Ein weiteres Puzzleteil: Mit den JMP-Kartenhintergründen erhalten Sie tatsächlich zwei Hintergründe, ein Bitmap-Bild und eine Linienzeichnung von Grenzen.

Diese beiden Teile werden als separate Ebenen angezeigt, wenn Sie im Dialogfeld „Diagramm anpassen“ nachsehen.

Sie haben ihre eigenen Eigenschaften, aber was noch wichtiger ist, sie haben ihre eigenen Positionen als Elemente 1 und 2 in der Liste. Das ist wichtig, denn der „Nachtschatten“ muss auf das Hintergrundbild der Hintergrundkarte gezeichnet werden, und dann muss die Grenzform darauf gezeichnet werden (um den Effekt oben in diesem Beitrag zu erzielen). Die Spiralschrift wird also an Position 2 eingefügt.

die im benutzerdefinierten Diagrammdialog zwischen Hintergrund und Form angezeigt wird. (Das andere Skript ist leer, was Sinn macht, wenn Sie die unten angehängte JSL sehen.)

Um fair zu den Websites mit komplizierten Beispielen zu sein: Sie können kompliziert sein, weil sie eine Projektion durchführen und herausfinden, wo die Schattierung durchgeführt werden soll, wenn sie in mehrere Bereiche aufgeteilt ist. Dieser Code verwendet die integrierte Unterstützung zum Umwandeln von Datenkoordinaten in den Kartenraum.
Die angehängte Datei ist wahrscheinlich noch so eingerichtet, dass sie die 24 Frames für die Animation in Ihrem $temp-Verzeichnis erzeugt. Sie können ein GIF-Dienstprogramm verwenden, um die Animation zu erstellen, oder Sie können die JSL so ändern, dass sie die 24 einzelnen Berichte nicht wiederholt oder nicht schließt.
Nächstes Mal: Ein paar Nachtlichter hinzufügen ...
Projected circle of sunlightProjizierter Kreis des Sonnenlichts
Bearbeiten 4. Januar 2017: Es gibt mindestens einen Fehler in der angehängten JSL. Wie geschrieben, wird es wegen der Interpolation der aktuellen Tageszahl nur zwischen dem 21. Juni und dem 21. Dezember laufen. So etwas sollte besser funktionieren:
currentangle = Interpolate( currentpoint, lowpoint-365, 2 * Pi(), highpoint, Pi(), lowpoint, 2 * Pi(), highpoint+365, Pi() );
LowPoint ist 356 und HighPoint ist 173; Sie stellen die Tage dar, an denen die Sonne weit im Süden und weit im Norden steht. LowPoint-365 ist im Dezember des Vorjahres und HighPoint+365 ist im Juni des nächsten Jahres. Jetzt hat die Interpolation die Chance, das ganze Jahr über ein nicht fehlendes Ergebnis zu erzielen.