
2026/05/16 0:45
ゼニス:ライブ配信によるローカルファースト、固定ビューポート型プラネタリウム
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Zenith ウェブサイトは、JavaScript を使用したクライアントサイド処理により、MAST アーカイブから直接ストリーミングされた高解像度画像を用いて、地球の自転によって駆動されるリアルタイムかつパーソナライズされた天体運動シミュレーションを提供します。画像はハワイの Pan-STARRS1 望遠鏡(2010-2014 年)によるデータから取得され、0.26 角秒/ピクセルの解像度で提供されています。ホワイトエッジ除去およびノイズフィルタリングが施されていますが、一部の中程度の明るさを持つ星では過剰露光により緑色の斑が見られます。画面では、ズームインした各視点が腕を伸ばして持ちた米粒ほどの大きさの空のパッチを表示し、これは 30 秒間に天体が変化する領域に相当します。視点は垂直方向に「個人のリボン」として固定され、高さは 1 つの米粒分、長さは 2,500 の米粒分となっており、恒星の日(23 時間 56 分)ごとに繰り返し表示されます。位置情報へのアクセスを許可することで現地緯度を表示するか、拒否するとストーンヘンジをデフォルトとして採用でき、この選択により、わずかな緯度のシフト(例えば 5 マイル)でも宇宙への視点が劇的に変化する様子を体験できます。同じ緯度にある観測者は同一の「映画」を見ますが、東側または西側にいる観測者は異なる時刻に同じコンテンツを確認します。Leaflet.js がタイルを矩形としてレンダリングし、恒星の日サイクルにわたる曲面空を近似させます。格子線は赤経(北極方向で収束)と赤緯(一定の高さ)を表します。天体の名称は SIMBAD 由来であり、すべての処理はクライアントサイドで行われ、サーバーサイドのアプリケーションロジックは不要です。
本文
ゼニスについて
これは、現在あなたの上空に見える星空の実況表示です。視界が拡大されているため、これまでに見たことのある天体の動きよりも速く星々が進んで見えます。これはタイムラプスや速度補正などではありません。画面に表示される動きは、地球の自転に由来するものです。地図上で配送トラックを追跡するような経験があれば、詳細を確認するためにズームインしたことがあったかもしれません(Uber Map のアイデアには Max Harms さん께感謝)。ズームインすることでより詳細な情報が得られ、動きが速く見えるようになりますが、その一方で周囲の文脈は狭くなります。
写真撮影やコンピュータディスプレイでは「ズーム」という用語が使われますが、望遠鏡の場合は「視野角(Field of View)」または「倍率」と呼ばれます。これは同一概念です。「視野角が小さい」ことは「倍率が大きい」「つまりズームインした状態」を意味します。本プロジェクトの倍率は約 180 倍です。
このプロジェクトの目的: 地球の自転を目に見えるようにするため、星が 30 秒間で移動する距離が画面全体にわたるようにズームする必要があります。したがって、私たちは「天球が 30 秒間に回転する範囲」を視野角として定義しました。これには、腕の長さで持たせた場合のご飯粒一つ分程度の星空領域が含まれます。
Q: 高倍率で観測すると星は地球の自転によって移動してしまいますが、天文学者はどうやって対象を見失わずに観測しているのでしょうか? A: それらの望遠鏡には、地球の自転とは逆向きに回転させ、天体の見かけ上の動きを相殺する精密な電動化されたシステム(赤道儀/Equatorial Mount)が搭載されており、これにより視野内の天体の位置が保たれています。
宇宙空間からの眺め(クリックして 3D モデルをご覧ください)
このアニメーションは、地球の自転と、あなたの上の点(ゼニス)が天球上を移動する軌跡を示しています。
Q: なぜウェブサイトは私の場所を取得することになりましたか?また、その情報はどのように扱われますか? A: あなたがいる特定地点上空の星空を表示するため、位置情報を求める必要があります。しかし、そのデータはあなたのコンピュータから外部に流出するものではなく、当サイト(smorgasb.org)も決して閲覧しません。利用者は位置情報の提供を拒否することもでき、その場合デフォルトではストーンヘンジ上空の表示になります。また、デバイスの設定によっては、ブラウザが位置情報共有のオプションを表示しないように抑制されている可能性もあります。
Q: グリッドライン(目盛り線)とは何ですか? A: それは「天球儀」上の座標グリッドです(上記インタラクティブモデル参照)。1 つの格子は 0.5 アーク分(アークマイン)四方です。地球上の緯度・経度に似ており、RA ライン(経度の役割)は北に行くほど間隔が狭くなり、赤緯ライン(緯度の役割)は高さ一定に保たれています。
あなたの個人的な「リボン」
ZenithTrack は、星空の細長い帯(リボン)、ご飯粒幅分の高さを持ち、長さは約 2,500 粒分です。これは恒星日(23 時間 56 分)ごとに正確に繰り返し、季節によって変化しません。地球上でちょうど同じ緯度にいるすべての人がこの同じ視界を共有しています。あなたの真東・真西にいる人々は同じ映像を見ますが、開始時刻が異なります。
- あなたより北・南にいる人々: 別々の映像
- あなたより真東・真西にいる人々: 同じ映像だが、時間がずれている
イメージ画像について
Zenith が表示する画像は、ハワイにある Pan-STARRS 望遠鏡によって撮影されたものです。2010 年から 2014 年に収集された Pan-STARRS1 データセットを使用しており、これはCoverage(観測範囲)と解像度の要件を満たす最新の天体観測調査として残っています。画像は、スペース・テレスコープ・サイエンス・インスティテュート(STScI)にある MAST アrchive にホストされており、あなたのデバイスは直接 STScI から画像を受信します。このウェブサイト上に画像はホストされていません。
Space Telescope Science Institute
STScI のヘルプデスクに最高のサポートをご支援いただき感謝申し上げます!
なぜその望遠鏡と観測データなのか? 地球の自転を目に見えるようにするためには、視野角をアーク分のオーダーに合わせる必要があります。ブラウザの画面幅が約 1,000 ピクセルの場合、PanSTARRS は 1 ピクセルあたり 0.26 アーク秒という解像度でこの要件を満たしています。
$$1000px \times 0.26\text{"}/px = 260\text{"} = 4.33'$$
PanSTARRS は、必要な以下の条件を備えているため、この望遠鏡による観測を実現可能にしました:
- 十分な解像度
- 広範な空の Coverage
- 可視光線バンドでの観測
一方で、これは本来の意味合いとしては理想的な画像セットではありません。PanSTARRS の主なミッションは移動物体(近地小惑星など)の検出や深宇宙への感度の向上であり、既知の星々の「見やすい」画像を提供することを主目的としていませんでした。そのため、トレードオフとして頻繁にオーバーサチュレーション(露出しすぎ)という問題が発生します。主要な恒星はセンサーを飽和させ、色歪みを引き起こします(後述)。
天体名:SIMBAD データベース
https://simbad.cds.unistra.fr/simbad/
SIMBAD 天文データベースは、太陽系外の天体に関する基本データ、クロス識別情報、参考文献、測定値を提供します。私たちは現在の視野内に存在する天体を SIMBAD から照会しています。このように極めて拡大表示しているため、すべての天体は未発見(おぼつかない)ものです。「ホースヘッド・ネイブーラ」のような天体を取得するのは、当たった時のような奇跡に等しいでしょう。
テイリングとレイヤー - leaflet.js
Leaflet は通常、インタラクティブな(地球の)地図制作に使われます。しかし、天球は球体であり、動きは回転していますが、この極端なズーム倍率においては、各テイル(画像タイル)を長方形とみなし、動きを単純な直線運動として扱うことができます(これは Earth のナビゲーションで Leaflet が行う近似と同様です)。Leaflet は、PanSTARRS 画像、グリッドライン、SIMBAD の名称などのレイヤー処理を行います。驚くべきことに、完全に独立したソースから得られた SIMBAD の十字線は、PanSTARRS 画像内の実際の星とピクセル単位で一致しています。
言語: JavaScript - クライアントサイドのみ(サーバーサイドコンポーネントなし。daserver 様のご負担ゼロです)。
画像処理
Pan-STARRS の生画像では見た目が良好ではありません。そのため、2 つの処理ステップを行います:
- 白エッジの除去 - 一部のテイルが不完全で、縁に白い部分が残っています。(画面に細い白い線が見える場合、これは白エッジ除去が過度に慎重になりすぎた残像です)。
- ノイズフィルター - シンプルな閾値処理機能ですが、非常に厳しく設定しています。
Before: [画像プレースホルダー] After: [画像プレースホルダー]
未解決の問題:オーバーサチュレーション
この望遠鏡の観測データでは、中程度の明るさの星であってもセンサーが飽和してしまう現象があります。「Before」画像の中心にある星の緑色のブローン( Blob )のように、これがノイズフィルターで不適切に処理されています。解決策の研究仍在継続中です。近モノクロームなピクセル(ほぼ純粋な緑や赤)を白く加工しようとしましたが、これも逆に小さな赤い星の色を薄めてしまうというトレードオフが生じます。現在、トポロジーベースの解決策(「白い周囲に囲まれた緑色の blob」など)を検討していますが、これらは悪いピクセルの一部しか検出せず、おざなりの着色絵本のような外観になります。しかし、「緑い星は存在しない」という事実に基づいて最適化すれば解決できるはずです。
インストールコンセプト:天井への投影
- Github ページでの公開
- 詳細技術情報:Battle Hardening Zenith
インスピレーション
初めて中程度の倍率の望遠鏡を覗き、赤道儀を搭載していない状態で天体を観測し、その対象が視野からゆっくりと移動して消えていくのを確認した瞬間。おそらく先生らしき誰かが、「あの天体が動いているのではなく、我々(地球)が動いているんです」と教えてくれた経験がきっかけでした。「あのお星は動いていません。私たちが動いています。あなたが感じているのは、地球の回転です」という発見に至ったのです。