視覺化地球自轉:Zenith 背後的工程技術

對大多數人而言,地球的自轉是一個抽象概念——我們在小學時學到卻很少真切感受到的東西。雖然我們知道星星在夜空中移動,但這種運動如此緩慢,以至於感覺像是靜止的。若要真正感受到地球的旋轉,通常需要一台沒有赤道儀的望遠鏡,星星會在幾秒鐘內明顯漂出視野。

Zenith 是一個旨在將這種直觀體驗帶入瀏覽器的專案。透過建立即時、以本地為先、固定視口的天文館,Zenith 將天空放大到讓地球自轉成為即時可見的運動。它將天球轉變為一條「個人星帶」,星星在螢幕上即時掃過。

「個人星帶」的幾何結構

為了讓地球自轉可見,開發者根據特定的時間目標定義了視野 (FOV):在 30 秒內轉過的天空量應覆蓋整個螢幕。

這樣得到的視野極為狹窄——約 180 倍放大。為了讓人感受,作者形容此視角如同「手臂伸長時握在手中的一粒米」般大小。由於視口如此纖細,體驗變得超本地化。相同緯度的人會看到相同的星星序列(相同的「影片」),但因經度不同而在不同時間看到。相反地,僅相距五英里(約 8 公里)之北或南的人,會看到完全不同的星帶。

技術實作

在瀏覽器中構建即時天體觀測器需要結合高解析度天文資料與高效的客戶端渲染。

資料來源與解析度

Zenith 使用來自 Pan-STARRS1 資料集(2010 至 2014 年收集)的影像,該資料集由太空望遠鏡科學研究所 (STScI) 托管。選擇 Pan‑STARRS 是因為其具備特定的解析度與覆蓋範圍。對於標準 1,000 像素寬的瀏覽器視窗,Pan‑STARRS 提供每像素 0.26 角秒的解析度,產生約 4.33 角分的視野——正好足以讓自轉可見。

使用 Leaflet.js 進行切片與渲染

有趣的是,Zenith 使用 Leaflet.js,這是一個通常用於 2D 地圖的函式庫。雖然天球是球形且運動為旋轉,但在 Zenith 所使用的極端放大層級下,曲率可以忽略不計。開發者將每個切片視為矩形,將運動視為線性,讓 Leaflet 能處理 Pan‑STARRS 影像、座標格線與物件標籤的疊加。

目標辨識

為了為所觀測的模糊天空區域提供上下文,Zenith 會查詢 SIMBAD 天文資料庫。這使得應用程式能在即時畫面上疊加恆星與星雲的名稱。開發者指出了一個令人驚訝的精度:即使來自完全獨立的來源,SIMBAD 的十字準線仍能與 Pan‑STARRS 影像精確對齊至像素。

影像處理的挑戰

原始天文資料很少是「可直接使用」的。Zenith 實作了兩步驟的客戶端處理管線來清理影像:

  1. 白邊去除: 清理在邊緣出現白色區塊的不完整切片。
  2. 噪聲過濾: 使用具有激進設定的閾值函式來去除背景噪聲。

仍然存在一項持續的挑戰:過飽和。由於 Pan‑STARRS 的設計目的是偵測移動天體(如近地小行星)與深場靈敏度,較亮的恆星常會使感測器過曝,導致星星中心出現「綠色斑點」。開發者目前正在探索基於拓撲的解決方案,以辨識並校正這些偽影,同時不會削減真實紅星的顏色。

人文面向:觀點與尺度

Zenith 的技術成就不僅在於渲染本身,更在於它帶來的觀點轉變。此專案呼應了業餘天文愛好者的常見體驗:當赤道儀失效的瞬間,觀測者意識到星星並未移動——是自己在移動。

這種感受在社群討論中也被呼應,使用者指出類似的效果可以在自然中體驗到。一位使用者描述了在阿爾卑斯或落基山脈,月亮被尖銳山峰部分遮擋時,相對運動變得格外明顯的體驗。

透過將 Zenith 投射到天花板上,該專案將房間變成活生生的天文台,消除昂貴設備的門檻,讓任何人都能即時感受到地球的自轉。

Sources