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

 

彗星の場合は、楕円軌道の他に

放物線、双曲線軌道があります。

 

放物線と双曲線軌道は、楕円軌道とは

ケプラー方程式など異なります。

 

円、楕円、放物線、双曲線、直線軌道を

一つの式で表す方法を発表している方が

いらっしゃいます。

ネットで見つけたので勝手にリンク貼っておきます。

2つとも同じ方が書かれているようです。

http://www6338.la.coocan.jp/astrodynamics/anomaly.pdf

上記の元となる論文

http://www.asj.or.jp/geppou/archive_open/1999/pdf/19991002c.pdf

 

 

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を読んで遊んで下さい

 

 

N88-BASIC互換?VL-BASIC,NL-BASICの使い方

 

Alt+/でAlt+キーなどの説明が出ます。

Alt+q,Alt+wでスムーススクロールの調節、

Alt+4~Alt+6で速度調節など、

 

BASICのエディタは

LISTとEDITがありますが、

カットアンドペーストに慣れた方には

使いにくいと思いますので、

行番号に依存しないプログラムなら、

行番号なしセーブSAVE "ファイル名",N

で保存してメモ帳で編集するのが

良いかと思います。

LOADすれば自動で行番号が付きます。

 

メモ帳で行番号付きの行を入替えると

読み込めません

20 PRINT "B"

10 PRINT "A"

LOADすると

20 PRINT "B"

の次エラーとなります。

 

メモ帳で編集後LOADした例

A = 10

PRINT A

1000 A = 10

1010 PRINT A

 

10 A = 10

PRINT "A=";

PRINT A

10 A = 10

20 PRINT "A=";

30 PRINT A

 

10 A = 10

PRINT "A=";

20 PRINT A

10 A = 10

20 PRINT "A=";

ここでエラーとなりますので

20を消して

10 A = 10

PRINT "A=";

PRINT A

をLOADして下さい。

 

LOADするのに、パスやファイル名を

入力するのが面倒な時は、ファイルを

つまんで画面上で離す(Drag&Drop)で

LOADできます。

 

VL-BASICが起動していない状態で

VLBasic01.exeやショートカット

Drag&Dropすると読込んだ後

RUNされます。

(RUN "ファイル名"が実行される)


その他、マニュアル(Docフォルダー内)

を読んで見て下さい。

 

初期設定ファイルでは、

起動時のファンクションキーや

グラフィックスの描画速度など

を設定できます。

使用するときはDocフォルダーから

VLBasic01.exeがある場所に移動

またはコピーして下さい。

 

設定した値によっては正常に動作

しなくなる場合がありますので

注意願います。

 

VL-BASIC(N88-BASIC互換?)と、

NL-BASIC(N88-BASIC互換?)は、

このブログのメッセージボードにある

リンク先の各ホームページから

ダウンロードできます。

 

 

2020/10/6(火)に火星が最接近(次回2022/12/1)
だそうです

 

N88-BASICで惑星の軌道(7回目)

のプログラムで確認できます。

 

2020/10/6付近で、

最接近中の地球と火星の間付近で
竜宮(暗い黄で表示)が地球に近づいて
きています。


糸川(暗い緑で表示)は遠くです
 

探査機のはやぶさ2が竜宮で
はやぶさが糸川でしたね

 

DATA文の内容で日付など、

いろいろな変更できます。

 

ワードで編集した文章をコピペでブログに

張り付けているのですが、

文字サイズの変更で、以前は、

明朝体を拡大できましたが、

今は、拡大すると、明朝のままの拡大される

文字とゴシックに変換されて拡大される文字が

まだらになった状態になります。

なのでしばらく拡大できなかったのですが

ゴシック文字ならゴシックのまま拡大される

ことが分かりました。

今後、拡大文字はゴシックを使おうと思います。