
( 提醒我Cover the Earth Sherwin Williams 油漆 (XXH0284) - RC Maxwell Company 戶外廣告 - Duke Libraries )
附加的 JSL 文件(下方)不使用來自上一篇. (但它很快就會出現在帖子中。)現在,只需捕獲一組圖像來製作動畫。
有很多網站描述瞭如何做到這一點。 它們看起來都很複雜,所以我嘗試了一些簡單的東西。 它似乎產生了相當正確的結果。 上圖代表 10 月下旬的 24 小時時段。 太陽已經向南移動;南半球白晝長,北半球白晝短。 那個迷人的形狀從何而來?
太陽照耀著半個地球。 另一半是黑暗的。 這有點違反直覺,但上圖使用反太陽(因為缺少更好的名稱)將黑暗投射到與太陽相對的地球的一半。
根據一天中的時間和一年中的時間,找到地球上位於太陽正下方的點非常簡單。 太陽在 6 月 21 日左右向北移動 23.5 度,在 12 月 21 日向南移動 23.5 度。 在這個簡化模型中,太陽遵循對稱的正弦形時間線,雖然我認為實際上它在赤道以下花費更多時間. 而且,在 24 小時的過程中,太陽穿過 360 度經度。 所以這是光的中心,或者在這種情況下是黑暗的。
邊緣在哪裡?這終結者是暮光之線。它在每個方向上都與光中心成 90 度角。 在地圖上畫一個圓圈,與地圖表面的太陽中心成 90 度角,並在內部或外部塗上顏色。 我找到了我需要的數學這裡,以方程式的形式回答“如果我從緯度、經度開始,以 B 度方位行駛 X 英里,我將到達什麼緯度、經度?”在我們的地球上,90 度大約是 6000 英里。
拼圖的下一部分是腳本索引中使用 XY 函數繪製螺旋線的示例。

我可以在後面放一張地圖嗎?右擊->BackgroundMap->SimpleEarth...

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


螺旋示例生成略微超過 90 的 Y 值。 尖尖的投影的尖端開始出現異常。 不要去那裡。
回到晝夜圖:我嘗試了幾種變化,這是最令人滿意的。 使螺旋的線寬變寬,但不要太寬。 並使螺旋圈的數量變大,但不要太大。 使線條顏色為黑色,並且可能是透明的(對於 JMP 的未來版本)。螺旋循環的數量開始使圖形變慢; 20是快,200是慢。 對於 20,您將需要一條更粗的線來遮蔽中間的所有內容,但更粗的線會產生更多參差不齊的邊緣。 JMP 將在即將發布的版本中更改其基礎繪圖工具,本例中的透明度看起來很棒,但對於 JMP 12,螺旋線中的透明度會在粗線自身重疊處產生偽像。
另一塊拼圖:使用 JMP 地圖背景,您實際上得到了兩個背景,一個位圖圖像和一個邊界線圖。

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

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

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

公平地對待具有復雜示例的網站:它們可能很複雜,因為它們正在進行投影並確定如果它被分成多個區域則在哪裡進行著色。 此代碼使用內置支持將數據坐標轉換為地圖空間。
附加文件可能仍設置為在 $temp 目錄中為動畫生成 24 幀。 您可以使用 GIF 實用程序製作動畫,或者您可以將 JSL 更改為不循環或不關閉 24 個單獨的報告。
下一次:添加一些夜燈......
Projected 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() );
LowPoint為356,HighPoint為173;它們代表太陽在遙遠的南方和遙遠的北方的日子。 LowPoint-365是上一年的12月份,HighPoint+365是次年的6月份。 現在,插值法有機會全年獲得不丟失的結果。