N88-BASICで惑星の軌道(番外編2)

 

昔、C言語で作った宇宙です。

恒星、惑星、小惑星、準惑星、衛星

彗星、等の星や、星座、銀河などを

表示していて、宇宙空間を自由に

移動できます。

 

星はレイトレーシングで描画して

いますので、星に落ちる星や環の陰

なども表示されますが、

太陽や、惑星などはネットなどから

ダウンロードしたテクスチャーを

貼っていて、著作権の問題で表示

出来ないのが残念です。

 

惑星の軌道などの線や銀河などの点は

OpenGLで描画しています。

 

これほど多くの星をレイトレーシング

表示してもCPUのみでほぼリアルタイム

で宇宙空間を自由に移動できます。

C言語はやはり速いですね。

 

CPUリアルタイムレイトレーシングは、

もともと、土星に落ちる環の陰や地球に

落ちる月の陰をリアルに表示した宇宙の

中を自由に移動できるものを作ろうと思い

開発しました。

 

レイを飛ばす本数をいかに減らすかで

高速化しています。

例えば

宇宙に見える星々の間の何もない空間には

レイを飛ばしていません。

計算式の工夫や、関数の代わりにマクロ

を使うなどいろいろな方法で高速化

しています。

当時のサンプル画像を、200MHzCPUで

1画面10~20秒程の速度を

1秒間に2~4画面ぐらいまで

高速化しました。

現在使用中のCPUは2GHz2Core(ファンレス)

PCは当時の20倍速なので、簡単な

図形ならリアルタイムで表示できます。

 

2GHz8Coreなら当時の80倍速。

こんなPCがファンレスで発売されたら

欲しい。

 

地球から離れると、オールトの雲が現れ

やがて描画が陳腐ですが天の川銀河が

見えてきます。

他の銀河も表示しています。

 

地球には大気があり、着陸も可能です。

地球と一緒に自転しながら地球から

日食を見る事も出来ます。

太陽などの他の星にも着陸できます。

 

軌道データは、理科年表(国立天文台)

などを使用しています。

年は2000年前後位だったと思います。

 

 

以後、余談です。

地球と一緒に自転はしませんが、

地球から日食を見たり土星の環の

陰を表示するBASICプログラム

(レイトレーシング表示)を公開しています

 

VL-BASICとサンプル(blg~.zip、nl~.zip)は

以下のリンクからダウンロードできます

https://ulprojectmail.blogspot.com

Readme.txtを読んで遊んで下さい