4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

NASAなどのサイトにある、天体の位置、形状、表面の三次元データ

Last updated at Posted at 2019-02-27

はじめに

 先日、以下の記事ではやぶさ2の軌道アニメーションを描いた。

 他にも様々な天体の軌道を自分で描いてみた。その際利用したデータの出典と使用例を以下にメモしておく。特に、三次元のデータを描く際、デザインに凝り始めると位置だけでなく、形状や表面など様々なデータが必要となる。

目次

  1. 天体の位置のデータ
    1. ダウンロード方法
    2. データの整形
    3. Gnuplotでプロットした例
  2. 天体の形状のデータ
    1. ダウンロード方法
  3. 天体の表面のデータ
    1. ダウンロード方法
  4. 位置、形状、表面のデータを使ってみる
    1. three.jsでプロットした例

1. 天体の位置のデータ

 既存の天体の位置情報を使いたい時とかに必要。

1.1 ダウンロード方法

 以下のNASA JPLのサイトからダウンロードする。

 余談だが、Wikipediaで調べたところ、こういったデータを**ephemeris(天体暦)**というらしい。

天体暦(てんたいれき、ephemeris)とは、天体(太陽・月・衛星・惑星・恒星及び人工天体)の運行位置・軌道及び天象(日食、月食、天体の出没など)を推算した予報を書き下した情報である。天文暦、暦(れき)、軌道暦、天文年鑑(astronomical almanac)とも言う。
by Wikipedia 天体暦

 下へスクロールすると設定画面があるので、例えば以下のように設定する。(完成例ではTime SpanのStepを1ヶ月ごとにした。そのため以下とは少し異なっているが、それ以外はほぼ同じ設定である。)
settings.png

各行 設定の意図
Ephemeris Type X,Y,Zの3成分にした方が扱い易いと感じたので、デカルト座標系にした。
Target Body データが欲しい天体を選んだ。
Coordinate Origin 中心は太陽。
Time Span 1年ごと、1977年から現在2019年まで。
Table Settings quantities code=1 はX,Y,Zの3成分のみを出力、CSV format=YES は,(カンマ)区切りの形で出力をそれぞれ表す。その他は気分です。
Display/Output Generate Ephemeris ボタンクリックで即txtファイルをダウンロードできるようにした。

1.2 データの整形

 各行末に,(カンマ)が入っているので例えばこのままgnuplotでプロットしようとすると、All points x value undefinedと言われる。
 行末の,を削除するのにsedコマンドを使えば良いらしい。しかし、調べたところどうやらMacだとsedの使い方が特殊らしい。色々調べて出てきたやり方を試してみても、sedコマンドがうまく機能しなかった…
 そのため、結局Macにデフォルトで入っているNumbers(Excelみたいなもの)で各ファイルを1つ1つ開いて最終列を削除するという作業を行った。

1.3 gnuplotでプロットした例

 例えばgnuplotで以下のようなものが描ける。はやぶさ2のデータで描いた以前の記事と同じ要領でプロットする。
 GitHubにおいたフォルダ(名称は「NASA」)をダウンロードする。ターミナルを開き、このディレクトリへ移動し、以下のようにコマンドを打つ。

$ gnuplot
gnuplot> load "probe.plt"

 下に載せたGIF画像 **"probe.gif"**が同じディレクトリに出力される。

  • パイオニア10号・11号, ボイジャー1号・2号(+木星, 土星, 天王星, 海王星)の位置(1977年〜1990年)
    probe.gif

2. 天体の形状のデータ

 探査機の3Dデータが欲しい時とかに必要。

2.1 ダウンロード方法

 以下のNASAのサイトからダウンロードする。

3. 天体の表面のデータ

 球体の表面に惑星の画像をマッピングしたい時とかに必要。

3.1 ダウンロード方法

 NASAではないが、three.jsで球体に惑星の画像を貼り付ける場合とかには以下の方が上手くいく(経験談)。

 または、以下のNASAのサイトからダウンロードする。

4. 位置、形状、表面のデータを使ってみる

 実際にこれらのデータでどんなものが作れるのかを、以下に挙げていく。

4.1 three.jsでプロットした例

 例えばthree.jsで以下のようなものが描ける。

  • パイオニア10号・11号, ボイジャー1号・2号(+木星, 土星, 天王星, 海王星)の位置(1977年〜1990年)
    以下の画像が実際のページへのリンクとなっている。
    ※各探査機はかなりの大きさ、惑星は実際の1000倍に拡大してある。 探査機の向きとか細かいことは気にしないでもらいたい。
    probe.jpg
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?