昨年リニューアルした大阪市立科学館に行ってきました。そこで星の三次元分布という展示があります。地球から見ると平面的に星座線が引かれている星も実は立体的に分布していて、見る場所を変えると星座の形が変わる、という趣旨の展示です。

ちょうど半分仕事・半分遊びで Three.jsを使ってWEBで点群表示をする調査をしてる所だったので、これを使って「星座の3D表示ができるサイト」を作ってみようと思いつきました。と言っても既に作ってあった仕組みにヒッパルコス星表から造った座標データを入れるだけなのですぐできそうです。

オリオン座の星座線を表示したまま地球からどんどん離れていって、いろいろな向きに観察できる・・・まあ、これは国立天文台のアプリMitakaでもできますが、Mitakaだと地球から離れていく方向と戻る方向にしか動けないようです。(違ってたらごめんなさい)

どうせなら宇宙船でいろいろな星を訪問するみたいに、ベガからアルタイルに飛ぶ七夕ツアーとか、冬のダイヤモンドを順にたどるとか、もっと自由に動けたらと。

と言う訳で
デザインをスタートレック風にして星座の3D表示ができるサイト Constellations 3D を作ってみました。

オリオン座のベルトへ

北斗七星にある二重性ミザールの伴星アルコルへ。途中でミザールの横を通り過ぎます。

さそり座のアンタレスへ。ちょっと遠いのでゆっくりのスピードで飛ぶと周囲の景色も楽しめます。

星座名、恒星名は英語だとちょっと辛いので、設定(Engineeringメニュー)で日本語に切り替えて、50音順に並べ替えるようにしています。

データについて

  • 座標:恒星のデータはヒッパルコス星表から取得。
    赤経・赤緯だけでは三次元座標にはならないので距離データが必要だけど、星表には距離は載っていない。変わりに年周視差データがあるので、そこから距離を計算するけど誤差が多い。これは止む無し。これでX,Y,Zの三次元座標に変換した。ちなみに年周視差が無いあるいはマイナスというものもあり、距離が無限大に近くなって破綻するので、年周視差がある程度大きさのある「ご近所」の星しか座標化できていません。
  • 色:B-Vインデックスという情報から取れるらしいので、これも計算。
  • 明るさ:等級は地球から見た等級しか載っていないので、絶対等級に換算。宇宙を移動するときは自分の現在位置からの距離と絶対等級から、その場所の見た目の等級を計算。その明るさに応じて大きさを変えて表現した。
  • あと0.4光年以内に近づくと星の大きさに合わせて「到着しました」と分かるように大きく表示。それっぽい雰囲気が出た。なお、大きすぎる星は上限を決めてますので、実際の大きさの非にはなってません。
  • 星座線:星座線のデータがあまりなくて、いろいろ探した結果、こちら Satoshi Ganeko さんという方の 「Making of Constellation Viz」に星座線のCSVファイルが掲載されていました。これを元に加工して使わせてもらいました。

なお、相対性理論的な効果はガン無視です。光行差、赤方/青方変異なども無視です。そもそもワープスピードで飛んでるので、そこはフィクションです。

再生スピード:画面上の1秒は1年としました。10光年の距離を光速で飛ぶと10年かかりますが、画面では10秒かかります。こうやって見ると、遠方の星に行くにはスタートレックの最大ワープ速度でも何か月もかかるのが分かりますね。