図1-1 |
---|
とりあえず走らせると図1−1のような画面が現れる。
どこかで見たような画面だと思う人もいるかもしれない。まぁ、プラネタリウムソフトなのだから、再現する夜空が同じなのは不思議でも何でもない。ただこのXplnsはもともとStella
Navigatorの商用コードを含んでいるので、画面構成などを見たことがあるような気がするのはそうしたことも関係するだろう。
普通はLinux系のフリーソフトはソースも添付されたりするのだけども、このソフトの場合は商用コードが含まれているため配布はバイナリー形式のみである。
RPM形式の配布も行われており、この場合は、Xplns(Xplns本体)、xplns−elm(軌道要素データ)、xplns−cat(追加恒星データ)、xlns−img(画像データ)の4ファイルをインストールする。Red Hat系はこれで簡単にインストールできる。RPM形式を採用していないディストリビューションについては何か方法があるらしいが俺は知らない。
もともと商用ソフトだった物なので使いやすい割には機能も豊富で図1−2みたいな正座早見盤のような画面も表示できる他、図1−3のように天球上を星が移動する様を再現する事もできる。この図では光跡を残しているが、残さないようにすることも可能だ。
図1-2 | 図1-3 |
---|
ちなみにひょっとすると気になる人もいるかもしれないので書いておくと、図のデスクトップ環境はKDEを使用してます。
関連URL:
http://www.astroarts.com/products/xplns/index-j.html
図2-1 |
---|
図2−1なんかを見るとプラネタリウムソフトそのものだが、これはこのソフトの能力のほんの一部に過ぎないという。
本来の使い方は天体の観測計画を立てるような場合に、目標の天体が何時にどこからどのように現れるかなどを知るためのものらしいのだ。じっさい最新バージョンではこのxephemは天体望遠鏡の制御もできるのだという。そういう点でまさに本格的な天体ソフトであろう。
このソフトの多機能ぶりは多くの人々の唱える所で、正直言って私などはとても使いこなしておりますなどとはとても口にできないが、その一部の機能だけでも感心させられることが多い。
例えば図2−2の写真。これは見てわかるとおり、ある時間における太陽系の惑星配置図だ。この機能もなかなか重宝だが、いまどきの天体ソフトでは比較的ありふれた機能だろう。ところがxephemでは太陽系表示でも一味違う。それがわかるのが図2−3の写真。太陽系の惑星配置の視点を変えることができるのだ。真上からも斜め上からも、真下からさえ眺めることができる。しかもこの惑星の運行は自由に過去・未来へと動かすことができるのであります。もちろん縮尺の調整も可能で、内惑星だけをクローズアップもできる。
図2-2 | 図2-3 |
---|
さらに驚嘆すべきなのは、天体観測支援ソフトならではの機能。図2−4を見れば一目瞭然だが、土星の主要な衛星の配置もわかってしまうのである。もちろん土星だけでなく木星や火星などめぼしい惑星で同じことができる。
宇宙SFを考える時に、木星や土星の衛星配置が重要になるようなこともあるわけだが、そういう時にこのような機能は非常に強力な道具となろう。
宇宙SFを書く場合の強力な機能としては図2−5の機能なども忘れられない。
基本的に土星の衛星配置と同じ物なのだが、火星や月に関してはこのように満ち欠けまで再現してくれる。まぁ、『宇宙船から火星がどう見えるか?』みたいな描写ではそのまま使えないが、それでも計算のためのとっかかりにはなる。
図2-4 | 図2-5 |
---|
また火星では無く地球を選ぶと地球上の昼夜の境界線表示なども行ってくれる。もともと天体観測支援ソフトであるので、国際天文連合(IAU)のホームページなどから軌道ファイルを入手し、最新の彗星や小惑星のデータを表示させることも可能。天体のデータフォーマットは決まっているから、自分で宇宙船の軌道データを読ませれば、それがいつごろどこにいて、どの惑星からどういう位置関係にあるかを表示させることも可能だ。俺はそこまでやってないけど。
関連URL:
http://www.ClearSkyInstitute.com/xephem/xephem.html
図3-1 |
---|
起動画面が終わると図3−1のような画面からプログラムは始まります。このプログラムインストールのときにGLUIライブラリーも先んじて入れておくとGUIによりマウスで操作できるそうですが、私はやってません。
しかし、立上がって表示されるのはこの画面だけで、果たしてこれをどうするのかというと、昔のDOSプログラムのごとくキーボードで操作します。
しかし、いきなりキー操作もわかんないでしょうから、最初はデモ画面を表示させるのが良いでしょう。とりあえずキーボードの「d」を押すとデモンストレーションで太陽系をまわってくれます。
図3−2はそのひとこまですが、太陽周辺をまわる時のレンズのフレアを再現しています。これを見て「ここまでやるか!」と思うか、「なんでこんなことをやるわけ?」と感じるかは個人の資質でしょうから私からはとやかくは申しません。ともかくこういう風な絵もあるということで。
図3-2 | 図3-3 |
---|
デモ画面はわかったとして、例えば適当な惑星に行きたい時はどうするか? このような時には表示する対象を切り替える。具体的には「Home」「End」キーにて行う。このキーを順に押して行くと追尾する天体が変わって行く。だから例えば土星を選ぶと図3−3のような姿を見ることができる。もちろんカメラの視点なども変えることができるのは言うまでもない。こういうことができるなら、惑星に接近した時に、それがどのように観察できるかを具体的に知ることができるわけだ。
Openuniverseの凄い所は、そうして観察できるのが惑星にとどまらないという点にある。例えばそれは図3−4でもわかるだろう。これは何かと言えば、いまその筋では注目度No1の天体、木星の衛星エウロパである。ボイジャーとかガリレオなどの惑星探査機のおかげで、こうした画像作製に必要なテクスチャーが使えるので、彼のごとくリアルな惑星映像を表現できる。ちなみにOpenuniverseのインストール用のファイルにouhires.zipというのがあるのだが、これは標準画像では無く、探査機等などのデータを利用したハイレゾ画像のファイルである。これを使うとメモリーは食うし、CPUにも負荷がかかるらしいのだが、それはそれは美しい画像を再現するという。俺は生憎と入れてませんけど。まぁ、標準画像の木星でも図3−5程度の画質は保ててます。
図3-4 | 図3-5 |
---|
ちなみに今回、画像としては表示していないが、Openuniverseには宇宙船の画像も幾つか用意されている。2001年のディスカバリー号はいうに及ばず、スペースシャトル、APOLLO13などが人工天体として含められている。
これらも「Home」、「End」キーで選択できるわけだが、そこで「w」キーを押すとカメラ自動追尾モードになり、宇宙船と一緒に視点を移動させることができる。あとは適当にキーを操作すると、宇宙船の操縦を行うことも不可能ではない。
これがあれば太陽系の惑星などが理解できるわけでは無いが、絵的なイメージはつかめることは間違いない。まぁ、原理も理解できないで絵的なイメージだけあっても意味は無いですけどね。
関連URL:
http://openuniverse.sourceforge.net/
図4-1 | 図4-2 |
---|
図4-3 |
---|
さて、Gnuplotは計算結果を表示するだけでなく、色々と応用が利く。たとえば図4−3がそう。これは何かと言えば太陽を中心として半径20光年以内に存在する恒星の立体配置を描いた物だ。図4−3では視点は固定だが、Gnuplotにはもちろん視点を変える機能がついている。だからこうした恒星の立体図などもコマンドラインからのパラメーターの設定を変えるだけで真上からみたり、真下から見たりするようなことも可能となる……はずだ、やったことは無いけど。
10年くらい前に同じことをBASICでプログラムを組んで表示したことがあるのだが、その時の手間を考えるならGnuplotは非常に強力な道具と言えるかもしれない。
関連URL:
http://www.cs.dartmouth.edu/gnuplot_info.html
時として宇宙SFに計算が必要なことを不思議がる人がいる。計算などしなくても――時として計算の代りに調査などが入ることもあるが――想像力だけでできる云々というような意見である。これはもっともらしく聞こえるが、無意味な主張だ。
計算しようがしまいが、小説を書く以上は想像力などあって当たり前であって、計算などの行為を想像力と対比すること自体がおかしいのである。
計算とは宇宙を認識するための行為であって、計算の必要性はまさにそこにある。認識というプロセスがあるからこそ、自由な発想が生まれるわけだ。
なるほど時に計算や知識が制約条件として働くかもしれない。だが制約条件があるからこそ、それを解決するために自由な発想が要求され、想像力の拡大を招くのだ。
たとえば光速の制限を無視して話を作ることはできる。宇宙船はあっという間に恒星間を飛行し、通信装置は100万光年の隔たり、でも普通の会話を実現するような話は「いわゆる科学知識が自由な発想を妨げる」から、科学知識など無視してしまえばできるだろう。しかし、このような「自由な発想」の中からワームホールなどというものは絶対に生まれないだろうし、双子のパラドックスなど生じることは無いだろう。量子コンピュータやゲーデルの不確定性原理とも無縁だ。
で、どちらの方が本当の意味で自由な発想を保証するか?
怠惰の言い訳に知識が自由な発想を阻害する云々という話を持ち出す立場か、制約条件を認めつつ、それに正面から向かい合う立場か。それは自明の事だろう。
SFには色々な種類があるから、みんなが計算を行う必要はまったく無い。ただ宇宙SFの場合、計算という行為は書き手の創作態度の表明ではあるかもしれない。
まず最初に、本項では対象となっているOSはLinuxである。林譲治氏が使っているのはVine
LinuxというLinuxディストリビューションである。Linuxについてはかなり有名であろうから説明は省く。
X Window Systemの名称についてであるが、MIT内で開発されていたWというウインドウシステムを元にしたので、次の文字“X”が使われたとの事である。とかくUnix系の文化においてはこのような適当な命名が行なわれており、たとえばUnixのコマンドでもコマンドの動作を端的に表わした英文を、再現不能なほどに短縮したものなどが多く、たった十数年の間に元の言葉がわからなくなってしまったものもあるほどである。つまり、「まぁ適当でいいか」って事だ。でも公の場では間違いは嫌われるし、特にWindowsという言葉がMicrosoftのWindowsを連想させるために余計に“X
Windows”などの間違いは毛嫌いされているようだ。しかし、X Window SystemのIntel CPU搭載PC用のものであるXFree86の名称が、それまで主流であったX386が商用になってしまったためにフリー版を作る際、X386をもじってXFree86になった(“えっくす・すりー”を“えっくす・ふりー”にしたわけですな)話などを聞くと、やっぱりどうでも良いんじゃないかと思えるが、こんな事をバリバリのUnix
like OSユーザの前で言うと顰蹙ものなのかもしれない。
なお、“Unix系OS”という言い方であるが、これはUnixが発展していく上で辿った紆余曲折による。簡単に言えば登録商標化されてしまったために、誰もが“Unix”という名称を使えなくなったのである。現在では厳密な物言いを好む人達の間では“Unix
like OS”と呼ばれている。もっともこのような一括りの言い方はせずにLinuxならLinux、もっと厳密にはディストリビューション名で呼ばれるのが一般的だろう。「Vine使ってるんですが、日本語対応いいっすよ」みたいな感じである。(Vine
Linuxという日本で作られた配布セットがある) ちなみに、人口が少なく肩身の狭いBSD/OS, FreeBSD, NetBSD, OpenBSDなどのBSD仲間は“*BSD”などとひとまとめにして身を寄せあっている。これも語弊のある言い方だなぁ。
RPM形式について。RPMというのは、Red hat Package Managerの略で、普通ならばソースをどこからか貰ってきて、makeする必要がある(makeというのはプログラミングツールの名前だが、makeを使ってプログラム一式を作成する行為も“makeする”などと言う。なおmakeは猛烈に高機能な自動実行ツールであり、大抵のものはmake
install などとmakeコマンドに「インストールまでしてね」とお願いすればインストールまでしてくれる)。
で、RPMファイルというのは、Red HatというLinux配布元が作ったもので現在Linux界では標準になっているようである。RPMファイルにはコンパイルしおわった実行ファイルと、それらをどこに置けば良いかなどの情報が入っており、ごにょごにょすれば簡単にアプリケーションのインストールが出来るのだそうだ。
デスクトップ環境という言葉であるが、Unix系OSは実は基本部分はGUIではなく、派手に使うためにはX Window SystemなどのGUI環境をその上で動作させる必要がある。さらにX Window Systemは最も基本的な機能(といっても一般人にとっては基本機能すら提供していないと思えるかもしれないが)しか提供しない。さらにその上にウインドウマネージャーと呼ばれる便利な機能を乗せて使うものである。X Window System単体では、ウインドウを開く事が出来ても移動やリサイズなどは出来ないのだ。本項で使われているKDEは先進的な、単なるウインドウマネージャーを越えたデスクトップ統合環境である。これ以上はいくら説明しても伝わらないだろうからここでストップ。
最後に。FreeBSDもいいよ。