Excel VBA ゲーム ROCKET SIMULATOR
[home]
[Excel]
ロケットの操縦がしてみたくて作ってみました。
現実のロケットは3次元ですが、あまりにも操縦が難しそうなので2次元にしました。
それでも地球周回軌道に乗せるのも結構難しいです。

真ん中の青い○が地球、地球の上方にゴミのように小さい点がロケットです。
右に3段表示しているのは、上から地球を中心とした表示、月を中心とした表示、ロケットを中心とした表示
のサブ画面です。
さらにその右に小さい文字がたくさん並んでいますが、これらはロケットを操縦するのに欠かすことのできない情報、
地球との距離、速度(接線方向速度、半径方向速度、円軌道に必要な速度など)が表示されています。

万有引力定数:一応表示
地球半径:シミュレーションでは山も海も無い完全な円です(2次元だから円)
地球質量:地球の重さです。地球の引力の計算に使って下さい。
対地球半径速度:地球から遠ざかる速度です。近づくときはマイナス表示。
対地球接線速度:地球を回る周回方向の速度です。
対地球絶対速度:地球を中心とした座標でのロケットの速度です。
対地球距離:地球中心からの距離です。引力の計算に使っています。
円軌道速度:現在の地球からの距離で円軌道を描くのに必要な接線速度です。
地表高度:地球地面からの距離です。これがマイナスになると地球と激突です
軌道長半径:今の位置、今の速度で加速や減速を行わなければ描くであろう楕円軌道の長半径(長いほうの半径)です
起動を変更するときに参考にして下さい。
円軌道に乗せるには、半径速度がゼロになったとき、接線速度が円軌道速度になるようにロケットを操作します。

月半径:月の半径です
月質量:月の質量です。月の引力の計算に使って下さい。
対地球接線速度:月が地球の周りを回る公転の接線方向速度です。
公転半径:月と地球との距離です
対月半径速度:ロケットの月に対する半径方向速度です。月から遠ざかるときがプラス、月に近づくとマイナスです。
対月接線速度:ロケットの月に対する接線方向速度です。
対月絶対速度:月の中心を基準にしたロケットの速度です。
対月距離:ロケットと月中心との距離です。
円軌道速度:ロケットが月の周回軌道にあるとき、円軌道を描くための対月接線速度です。

質量:ロケットの全質量(燃料を含む)です。
推力:ロケットを噴射しているときの推力です。
燃料:現在の段の燃料+推進剤の残り量です。
燃料消費率:毎秒何kg燃料を消費しているかです。
加速度:ロケットの加速度です。推力/質量が加速度になります。
対衛星距離:静止衛星が一つ地球を回っています。その静止衛星との距離です。
対衛星速度:静止衛星との相対速度です。
静止衛星軌道半径:静止衛星の地球からの距離です。
操作パネル

使用するロケットはM-Vロケット4段+低推力スラスター(これは反則技^^;)
3段目までは一度点火すると、途中で止められません。
切り離しをするとその段の燃料ごと切り離しはできますが、おそらく速度が足りなくなって墜落するでしょう。
4段目は途中で停止することができます。また、逆噴射も可能です。
このロケットは自分で向きを変えることができません。常に進行方向にしか加速できません。
結局、向きを変えるのは引力による進行方向の変化に頼るしかありません。
進行方向というのは相対的なものなので、これを切り替えることができます。
切り替えられるのは、
地表座標:地球上にいるときでも地球の自転による速度があります。これをキャンセルする座標です。
地球座標:地球の中心からの相対座標。地球からある程度離れたら地球座標に切り替えて下さい。
月座標 :月の中心からの相対速度。月の周回軌道に乗せるときはこちらが使いやすいでしょう。
下のSimSpeedはシミュレーション速度、打ち上げは実時間で行ってほしいのですが、
月まで行くには1週間ほどかかりますから、時間の早送りができます。
ロケットを点火すると、あっという間に燃料を使い切ってしまうので、自動的に実時間に戻ります。
点火中にシミュレーション速度を変えることもできますが、燃料使いすぎ、加速しすぎで宇宙の藻屑と消えてしまうので、
充分注意して操作して下さい。
シミュレーション速度を大きくしても、地球や月に近いところでは精度を確保するため、
勝手にシミュレーション速度が小さくなることがあります。
一番下にEMRという文字がありますが、これをクリックするとメイン画面のモードが切り替わります。
Eは地球を中心
Mは月を中心
Rはロケットを中心に表示します。
発射地点の42,238km上空に白い点がありますが、これは静止衛星です。ランデブーやドッキングにチャレンジしてみて下さい。
静止衛星との距離、相対速度が表示されているので、これを参考にして下さい。
静止衛星との衝突やドッキングの成否判定はありません。
また、地球から384,532km右のところに月があります。
月には引力がありますので、月の周回軌道に乗せることもできます。
ラグランジュポイントに捕まったり、スイングバイも可能です。
地球や月では着陸判定はありません。地表高度がゼロになると「激突」と判定して終了です。
とても地味なシミュレーションですが、ロケットを操縦する雰囲気を味わって下さい。
遊び方
ブックを開いたら(マクロは有効にして下さいね)、一通り説明を読んでください。
Excelは最大化しておいたほうが見やすいと思います。
「2Dロケットでゴー」ボタンを押してください。
画面が切り替わり、操作用のユーザーフォームが表示されます。

ユーザーフォームは画面が見やすい位置に移動して下さい。
まず、発射準備です。打ち上げ角度を指定します。真上が90度、
90度以下は地球の回転方向に、90度以上はその逆方向に傾きます。
85〜89ぐらいがいいでしょう。(初心者は88度ぐらいがお勧め)
打ち上げ角度が決まったら、準備完了ボタンを押して、いよいよ秒読み開始です。
あ、秒読みは自分でカウントして下さいね。)

点火ボタンを押して発射です。
燃料が無くなったら切り離しボタンを押してください。第2段に切り替わります。
続けて第2段も点火、高度が100kmを超えたらそこはもう宇宙です。
第2段も燃料が無くなったら切り離しして下さい。第3段に切り替わります。
このあたりで地表座標から地球座標に変更しておきましょう。
ロケットは上に打ち上げただけでは落ちてきますから、横方向(接線方向)の速度が必要です。
このロケットは進行方向にしか加速できませんから、進行方向が横を向くまでしばらく待ちましょう。
半径速度が0.8km/sぐらいまで低下したら第3段ロケットを点火します。
点火したら接線速度に注目です。接線速度が円軌道速度以上になったら地球周回軌道に乗れるでしょう。
第3段の燃料がなくなっても円軌道速度に達しなかったら、3段を切り離して第4段ロケットで加速して下さい。
4段ロケットは、途中で停止、再加速や減速ができます。

4段ロケットの燃料がなくなると、再び燃料残量が10000SECに戻りますが、このとき推力は0.5kNの小さなものになります。
これを駆使して衛星とのランデブーや、月周回軌道に挑戦してみて下さい。
このプログラムにはポイントやクリア判定などがありません。
自己満足の世界でお楽しみ下さい。
mission 1 地球周回軌道に乗せろ
とにかく、地球を周回する軌道にロケットを打ち上げましょう。
打ち上げ角度は85度ぐらいがいいと思いますが、いろいろ試してください。
ロケットが点火していない(燃焼完了または、4段ロケットなら停止の状態)で、
地球を1週すればクリアです。
地表高度がゼロ以下になると、地球と激突です。
空気摩擦は考慮していませんが、一応宇宙の定義としては高度100km以上
なので、最低高度を100km以上にしましょう。
mission 2 地球周回円軌道に乗せろ
ロケットを打ち上げると、普通は楕円軌道になります。
地球から最も離れたところで再加速をして、半径速度ゼロ、接線速度=円軌道速度
になるようにコントロールしましょう。
高度のコントロールもできるといいですね。
mission 3 静止軌道に乗せろ(地球との距離42237.955km)
円軌道で地球との距離が42238kmにできれば静止軌道になります。
日本上空の静止軌道に静止衛星が飛んでいるのでランデブーしてみましょう。
mission 4 月軌道まで行って戻ってくる
楕円軌道で、最も高度が低いときに加速をすると、細長い楕円軌道になり、
最大高度が高くなります。月の軌道(384000km)近辺まで行って見ましょう。
加速しすぎると、地球に戻ってこられなくなってしまうので少しずつ加速するようにしましょう。
mission 5 月周回軌道に乗せろ
月起動まで行ったら、月の周りを回る月周回軌道に乗せてみましょう。
ロケットを停止して月の周りを回れたら成功です。
月の円周回軌道にも挑戦してみましょう。
mission 6 月周回軌道から、地球周回軌道に戻れ
月の周回軌道を離れ、地球に帰還しましょう。
高度100km以下の円軌道に戻れたら成功としましょう。
ダウンロードは
Excel VBA アクションゲーム博物館 レース・他
からお願いします。
フリーです。