
( 提醒我覆蓋地球 Sherwin Williams Paint (XXH0284) - RC Maxwell Company 戶外廣告 - 杜克大學圖書館)
附加的 JSL 檔案(如下)不使用來自上一篇文章。 (但很快就會在一篇文章中發布。)現在,只需捕獲一組圖像即可製作動畫。
有很多網站描述瞭如何執行此操作。 它們看起來都很複雜,所以我嘗試了一些簡單的東西。 它似乎產生了相當正確的結果。 上圖代表 10 月下旬的 24 小時時段。 太陽已南移;南半球白天長,北半球白天短。 這個迷人的形狀從何而來?
太陽照耀著半個地球。 另一半是黑暗的。 這有點違反直覺,但上圖使用反太陽(因為需要一個更好的名字)將黑暗投射到與太陽相對的地球的一半。
根據一天中的時間和一年中的時間找到地球上直接位於太陽下的點非常簡單。 6月21日左右,太陽向北移動23.5度,12月21日向南移動23.5度。 在這個簡化的模型中,太陽遵循對稱的正弦形時間線,雖然我認為實際上它在赤道以下花費了更多的時間。 而且,在 24 小時內,太陽會穿越 360 度的經度。 所以這就是光的中心,或者在這種情況下是黑暗的中心。
邊緣在哪裡?這終結者是黃昏線。在各個方向上,它與光中心成 90 度。 在地圖上畫一個與地圖表面太陽中心成 90 度的圓,並為內部或外部著色。 我找到了我需要的數學這裡,以方程式的形式回答以下問題:“如果我從緯度、經度開始,以 B 度的方位行駛 X 英里,我將到達哪個緯度、經度?”在我們的家鄉星球上,90 度大約是 6000 英里。
下一個難題是腳本索引中的一個範例,它使用 XY 函數繪製螺旋線。

我可以在後面放一張地圖嗎?右鍵->背景地圖->SimpleEarth...

完美的!它不再是圓形螺旋,它被地圖的投影扭曲了……這也正是將太陽照明圓投影到平面地圖上所需的。 稍微移動軸(釋放滑鼠以刷新地圖)並觀察螺旋形狀的變化以保持在相同的區域上。


螺旋範例產生的 Y 值略大於 90。 尖尖投影的最尖端開始出現異常。 別去那裡。
回到日/夜圖:我嘗試了幾種變化,這是最令人滿意的。 使螺旋線的寬度變寬,但不要太寬。 並使螺旋圈的數量變大,但不要太大。 將線條顏色設為黑色,或透明(對於 JMP 的未來版本)。螺旋循環的數量在一段時間後開始減慢圖形的速度; 20 是快,200 是慢。 使用 20 時,您需要一條較粗的線來遮蔽之間的所有內容,但較粗的線會使邊緣更加粗糙。 JMP 正在即將發布的版本中更改其底層繪圖工具,在此範例中透明度看起來很棒,但對於 JMP 12,螺旋中的透明度會在粗線自身重疊處產生偽影。
另一個難題是:使用 JMP 地圖背景,您實際上會獲得兩個背景、一個點陣圖影像和一個邊界線圖。

如果您查看自訂圖形對話框,這兩個部分將顯示為單獨的圖層。

它們有自己的屬性,但更重要的是,它們有自己的位置,例如清單中的第 1 項和第 2 項。 這很重要,因為需要在背景地圖圖像的頂部繪製“夜間陰影”,然後需要在其頂部繪製邊界形狀(以獲得本文頂部的效果)。 因此,螺旋腳本將插入到位置 2。

它顯示在背景和形狀之間的自訂圖形對話方塊中。 (另一個腳本是空的,當您看到下面附加的 JSL 時,這就會有意義。)

公平地說,對於具有複雜示例的網站:它們可能很複雜,因為它們正在進行投影並弄清楚如果被分成多個區域則在哪裡進行著色。 此程式碼使用內建支援將資料座標轉換為地圖空間。
附加檔案可能仍設定為在 $temp 目錄中產生 24 幀動畫。 您可以使用 GIF 實用程式來製作動畫,也可以變更 JSL 以不循環或不關閉 24 個單獨的報告。
下次:加一些夜燈...
Projected circle of sunlightProjected circle of sunlightProjected circle of sunlightProjected circle of sunlight太陽光投影圓
2017 年 1 月 4 日編輯:所附 JSL 中至少有一個錯誤。 如所寫,由於當天數字的插值,它只會在 6 月 21 日至 12 月 21 日之間運行。 像這樣的事情應該要做得更好:
currentangle = Interpolate( currentpoint, lowpoint-365, 2 * Pi(), highpoint, Pi(), lowpoint, 2 * Pi(), highpoint+365, Pi() );
低點為 356,高點為 173;它們代表太陽位於極南和極北的日子。 LowPoint-365 是上一年的 12 月,HighPoint+365 是下一年的 6 月。 現在插值有機會獲得全年不缺失的結果。