« SmarQ5 漢字変換と電子書籍 | Main | 小惑星の数が増えると、どう宇宙船に再接近する距離が縮まるか、計算時間が増えるか »

October 12, 2010

宇宙船で小惑星帯を通り抜けるとき、どのくらい小惑星に接近するの?

E2221先日のコンテンツ小惑星同士って、どのくらい離れているの?は、結構受けて、このブログへのコメントだけじゃなくて、 Twitter の方にも反響があった。
共通して一番聞かれたのが、「小惑星同士の距離が離れているのは判ったけど、小惑星帯の中を宇宙船で通り抜けるとき、どのくらい小惑星に接近するの?」って質問だ。

確かに、これには興味があるよね。
宇宙戦艦ヤマトにしろ、21エモンにしろ、小惑星帯の中を右へ左へ、小惑星を避けて通る宇宙船の操縦のシーンがある。あれが本当かどうか、知りたいよね。

さて、計算してみようと思ったら、ある瞬間での小惑星同士の距離を測るよりも、はるかにCPUパワーが要ることに気が付いた。

で、「CPUパワーが欲しい」って、呟いてみたんだが、呟いてみるもんだねえ。
「6コアのCPUに買い換えたので、4コアのCPUが余っているので、マザボ・メモリごと譲る」とのこと。
有難くいただくことにした。

で、うちで余っていたATX電源やHDD、キーボード、マウスなどと合わせて、Ubuntu をインストできるところまで、来た。残念ながら、ケースは無かったので、畳の上に裸で置いた状態で、計算開始だ。

体育の日を入れた三連休で、約28時間の大仕事だった。使った CPU は、Phenom X4 9350e 2GHz だ。Ruby で、その上、マルチコアに対応したプログラムではないので、3つのCPUコアが余った状態の、とっても無駄な時間を使った計算だったが、とにかく終わった。

その結果を最初のグラフに示す。
地球から木星までの約2年半のホーマン軌道で、その間に最も接近する小惑星は、なんと13万キロも離れている。13万キロまで小惑星が近づくのは一瞬だけで、ほとんどの期間は、200万キロ以上離れているのだ。

計算に使ったプログラムは、asteroidInterval3.rb だ。
例によって、JPL Solar System DynamicsEphemeridesにある情報で計算してみた。
JPL のAsteroidsSmall-Body Orbital Elements のページにある
ELEMENTS.NUMBR (圧縮版はELEMENTS.NUMBR.gz)と
ELEMENTS.UNNUM(圧縮版はELEMENTS.UNNUM.gz)が小惑星の軌道データを使う。

asteroidInterval3.rb と ELEMENTS.NUMBR と ELEMENTS.UNNUM を同じディレクトリに入れて、以下のように、コマンドすると、計算できる。
$ ./asteroidInterval3.rb 1000 >asteroidInterval.dat
なお、途中の「1000」は、小惑星の数を減らし、ランダムに 1000個選び出して計算するという意味だ。いきなり、軌道データの判っている全ての小惑星53万個で計算すると、大変な時間がかかるからねえ。「1000」の部分を「0」にすると、全ての小惑星の軌道データを用いて計算する。

E2222左に、選び出した小惑星の数と、最も小惑星に近づいた時の距離および計算時間との関係を示した。
このグラフは対数-対数の表示にしている。
グラフ上、赤い線は最も小惑星に近づいた時の距離だが、これは、ランダム性があるが、それでも細い青い線で示した小惑星の数の平方根の逆数に比例していることが判る。つまり、小惑星の個数が4倍になると、最も小惑星に近づいた時の距離が2分の1になるということ。
グラフ上、緑色の線は、計算時間だが、これは、紫色の細い線の小惑星の数の 1.5乗と比例している。

なぜ、こんなことを示したかと言うと、現在、小惑星は53万個見つかっているが、それだけじゃ無いってこと。あくまでも地球から観測できる小惑星が53万個だから、もっと小さくて見えにくい小惑星が、たくさんあるに違いない。
だから、本当は、どのくらい小惑星があったら、どのくらい接近するかの見当を付けておきたかったのだ。

で、接近する距離が、小惑星の数の平方根の逆数に比例するなら、もし、小惑星が見つかってない分も合わせて、現在の53万個の100倍の5300万個あったとすると、最短距離は、1.3万キロだって判るわけ。もし、1万倍の53億個なら、1300キロなわけだ。

小惑星って、53万個よりは多いが、100倍も無いような気がする。少なくとも1万倍って事はないだろう。
つまり、そんだけ小惑星が増えても、一番近付いたときでも1000キロも離れているってこと。

う~~ん、宇宙戦艦ヤマトの次から次に来る小惑星を避けてジグザグに通る操縦は必要ないんだなあ。

ところで、今回、公開したプログラムだけど、地球~木星間のホーマン軌道だけじゃなくて、汎用的にどんな軌道の宇宙船でも、小惑星まで最接近する距離を計算できるようにしてある。
その使い方については、いずれまた。

|

« SmarQ5 漢字変換と電子書籍 | Main | 小惑星の数が増えると、どう宇宙船に再接近する距離が縮まるか、計算時間が増えるか »

Comments

こんばんは
電子計算機の組立て及び計算、お疲れ様でした。最接近で13万kmと言う事は、タイミングを合わせずに探査機を飛ばすと小惑星を大きく写せない。
彗星探査機ロゼッタがチュリュモフ・ゲラシメンコ彗星に行く途中に、シュテインスに800kmとルテティアに3162kmまで接近したことは凄いことなんですね。

Posted by: bbsawa | October 13, 2010 at 12:34 AM

誤)共通して一番聞かれるたのが
正)共通して一番聞かれたのが

Posted by: Kow | October 20, 2010 at 11:47 AM

bbsawa さん、
これは、絶対、意図的に狙ったとしか思えませんよね。

Kow さん、
修正しました。
ご指摘ありがとうございました。

Posted by: 野田篤司 | October 20, 2010 at 09:22 PM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/94422/49725352

Listed below are links to weblogs that reference 宇宙船で小惑星帯を通り抜けるとき、どのくらい小惑星に接近するの?:

« SmarQ5 漢字変換と電子書籍 | Main | 小惑星の数が増えると、どう宇宙船に再接近する距離が縮まるか、計算時間が増えるか »