この面白いゲームで本格的な物理学を学ぶことができます

この面白いゲームで本格的な物理学を学ぶことができます

スコアもゴールもない面白いオンラインゲームには目がありません。今回は、 xkcdコミックの著者、ランドール・マンローの著書『 What If? 2』のプロモーション用に制作された、カートゥーン風の宇宙シミュレーターです。

ここをクリックすると再生できます。(心配しないでください、待っています。)

このゲームの遊び方はこうです。まず、とても小さな惑星にロケットを打ち上げます。ロケットをクリックしてスタート。キーボードの矢印キーを使ってスラスターを起動し、宇宙船を回転させ、他の惑星を探したり、What Ifジョークのような面白い仕掛けをいくつか見つけたりできます。以上です。これがゲームです。面白くて楽しいので、大好きです。

しかし、単純なゲームでも物理学の重要な概念を探究できることがわかりました。

実軌道

初期惑星で見られるものの一つは、「ニュートンの砲弾」を再現したものです。これは、高速で移動する物体と軌道運動の関係性に関するアイザック・ニュートンの思考実験です。ニュートンは、非常に高い山から非常に高速の砲弾を水平に打ち上げることができれば、その軌道の曲線が地球の曲率と一致する可能性があると述べました。こうすると砲弾は落下しますが、地面には決して当たりません。(これは国際宇宙ステーションのような軌道上の物体で基本的に起こることです。)ただし、ISSは高い山から打ち上げられたわけではありません。)

ニュートンの砲弾を見て、宇宙船をこの小さな惑星の周りを周回させられるんじゃないかと想像しました。面白そうでした。すぐに矢印キーを使って試してみましたが、ほとんどうまくいきませんでした。安定軌道に乗せそうになっても、結局はそのままでした。それで、もし「もしも」の世界の軌道を制御する物理法則は、現実の宇宙のそれと似ているのだろうかと考えました。

軌道運動に適用される最初の物理学の概念は、もちろん重力です。質量を持つ2つの物体の間には、重力による相互作用が存在します。例えば、地球とあなたが手に持っている鉛筆の間には、どちらも質量を持っているため、引力が働いています。鉛筆を放すと、鉛筆は落ちます。

地球の表面に立っている場合、鉛筆に作用する重力は一定であるように見えます。しかし、鉛筆を地球から十分遠く(例えば、国際宇宙ステーションの周回軌道である400キロメートル)まで遠ざけると、重力の相互作用が減少することに気づくでしょう。鉛筆の重さが軽くなり、落下にかかる時間が長くなります。

2 つの物体間の重力は次の式でモデル化できます。

F equals Gravity times m 1 times M 2 over r squared

イラスト: レット・アラン

この式では、m 1と M 2は 2 つの物体 (鉛筆と地球など) の質量、r はそれらの中心間の距離、G は重力定数で、その値は 6.67 x 10 -11 N*m 2 /kg 2です。

地球の半径は637万メートルと非常に大きいため、地表から1000メートル離れたとしても、地球の中心と鉛筆の距離はそれほど変わりません。しかし、軌道に関して注目すべき重要な点は、物体に働く重力は、地球の中心からの距離の2乗に比例して減少するということです。つまり、物体までの距離が長くなるにつれて、重力は減少し、加速度も小さくなります。これは軌道において非常に重要で、特定の高度で軌道を周回するには、特定の力が必要となるからです。

2 つ目の大きな物理学の概念は、円運動する物体に関するものです。回転するメリーゴーランドに乗っているか、宇宙ステーションに乗っているかは関係ありません。どちらの場合も、物体は円運動をしています。この運動において、停止や方向転換などの変化には力が必要です。メリーゴーランドの場合、この力は足と床の間の摩擦によって生じ、円の中心に向けられます。宇宙ステーションにいる場合、この力はなんと、地球の中心に向けられる重力になります。この中心に向けられる力の大きさは、運動速度 (v)、円軌道の半径 (r)、および運動物体の質量 (m 1 ) によって決まります。

circular force equation

イラスト: レット・アラン

重力と円運動に必要な力はどちらも円の大きさ(r)に依存することに注意してください。しかし、重力を円運動に必要な力と等しく設定した場合、半径は打ち消されません。これは、重力は半径の2乗に依存しますが、円運動に必要な力は依存しないためです。質量(m 1 )は打ち消されますが、速度は打ち消されないため、特定の軌道半径に対しては、作用する速度は1つだけであることを意味します。

v equals square root of G times M 2 over r

イラスト: レット・アラン

軌道速度は、惑星の質量(M 2)、重力定数(G)、そして軌道半径(r)によって決まります。これらの値を、地球表面から400キロメートル上空を移動する国際宇宙ステーションに当てはめると、軌道速度は毎秒7,666メートル、時速17,148マイルとなります。

現実世界での軌道と重力の仕組みがわかったので、ゲーム内で何が起こるかを見てみましょう。

もし重力が

仮の世界で簡単な実験をしてみましょう。まず、ロケットを漫画の惑星の表面に打ち上げ、少し推進力を与えてみましょう。ロケットはほぼ予想通りの動きをします。上昇し、減速して停止し、そして再び地表に落ちていきます。つまり、ロケットと惑星の間には何らかの引力があるはずです。しかし、これは現実の重力と同じように働くのでしょうか?

ロケットにかかる「重力」の力を調べる一つの方法は、その位置を時間の関数として見ることです。物体の位置と時間のデータがわかれば、その速度と加速度の両方が得られます。力は加速度に比例するため(正味の力 = 質量 × 加速度)、力の大きさを概算することができます。

しかし、ロケットの位置を時間の関数としてどうやって取得するのでしょうか?答えはビデオ分析です。これは、ビデオの各フレームに物体(ロケットなど)をマークするプロセスです。各フレームは時間の断片のようなものです。ビデオ内の物体の大きさがわかれば、その位置を取得できます。便利なソフトウェアがあると便利です。私はいつもTracker Video Analysisを使っています。

さて、ちょっとした問題が一つあります。What Ifの世界にあるものの大きさが実際には分からないので、推測するしかありません。ゲームでは、漫画の惑星の表面、ロケットの発射台の両側に棒人間が2人立っています。右側の人物の身長は1.75メートル、アメリカ人男性の平均身長だとしましょう。そうすれば、ロケットの大きさ(1.702メートル)と惑星の半径(約31メートル)を測ることができます。

ビデオ解析では、XY原点(距離と高度のXとYの値が測定される点)を画面上の一点に設定します。原点はどこでも構いませんが、通常は目立つ特徴点を選択します。このゲームをプレイしてみると、宇宙船が画面の中心に来るように画面が常に動いていることに気づくでしょう。つまり、原点をロケットの中心に設定できるということです。

これで、ロケットが惑星から離れていく際の惑星の一部の動きを追跡できるようになりました。これにより、ロケットの反対方向の動きが得られますが、背景のどこかに原点を設定し直して、頻繁にジャンプするよりも、この方が簡単です。

これにより、位置と時間のグラフは次のようになります。

upward opening curve

イラスト: レット・アラン

プロットされたデータは放物線のような弧を描いているため、このデータに一致する二次方程式を見つけることができるということになります(Trackerが自動的に計算してくれます)。放物線方程式は、一定の加速度を持つ物体に期待される方程式です。実際、物理学の授業で頻繁に登場するため、「運動学方程式」という名前も付けられています。方程式は次のようになります。

kinematic equation

イラスト: レット・アラン

この式では、y 0と v 0はそれぞれ開始位置と速度、a は加速度です。この場合、ロケットは13.4メートル上昇し、上昇と下降に約5秒かかりました。

このロケットのデータから、実は2つの重要なことがわかります。まず、加速度は一定であるということです。次に、フィッティングパラメータとt 2項の前の係数を用いると、垂直加速度は5.6メートル毎秒の2乗であることがわかります。加速度が一定であるということは、重力も一定であることを意味します。

現実世界では、地球の表面付近では重力は一定であることを覚えておいてください。しかし、もしもの世界では何かが違うはずです。なぜなら、この動きは惑星の表面付近では起こらないからです。棒人間を使った分析で、この惑星の半径は31メートルで、ロケットは13.4メートル上昇することが既に分かっています。現実世界では、これはロケットを地球の表面から高度280万メートル(1,710マイル)まで打ち上げるのに相当します。重力場は地表の9.8 m/s 2から4.8 m/s 2に減少します。これは一定には程遠いです。

一定の重力を持つ惑星をどのように周回させるのでしょうか?まず、重力の大きさは一定ですが、それでも惑星の中心に向かっていることに注目してください。この力を m 1 × g (g = 5.6 m/s 2 )としてモデル化するとします。円軌道を描くことができるはずです。この場合、新しい重力を宇宙船の質量に円周加速度を乗じた値に設定すると、次の式が得られます。

mass 1 times gravity equals mass 1 times v squared over r. v equals square root of r times g

イラスト: レット・アラン

ゲームでは、漫画の惑星を囲む白い線があります。(その線を辿っていくと、ニュートンの大砲のイラストに辿り着きます。)棒人間の身長を基準に計算すると、この線は惑星から11メートルの高さにあることがわかります。

この高度で周回軌道に乗せたいとします。そのためには軌道半径が42メートル必要で、ロケットを毎秒15.3メートルの速度で移動させる必要があります。

ゲーム内で速度を正確に制御する方法は実際には存在しません。試行錯誤を繰り返しながらスラスターを調整し、ロケットを一定高度に保つように宇宙船を旋回させるしかありません。これはかなり難しいです。目標に近づいたとは思いますが、完璧ではありませんでした。計測によると、宇宙船は約13m/sで移動しており、計算値よりも少し遅い速度でした。これは重力計算が間違っていたためなのか、それとも完全な円軌道を描けなかっただけなのかは分かりません。

What Ifモデル

おそらく以前、私がこう言ったのを聞いたことがあるでしょう。「何かをモデル化できなければ、本当の意味で理解したとは言えません。」そこで、Pythonプログラムを作って、What Ifの世界で動きを再現できるかどうか試してみましょう。

仕組みは以下のとおりです。まず、ロケットが周回しようとしている軌道と同じ初期位置と初期速度を持つ物体を作成します。そこから、問題を0.01秒という短い時間間隔に分割します。各時間間隔では、加速度は一定であると仮定します。これにより、時間間隔の終了時におけるPythonオブジェクトの位置と速度を計算できます。そして、これを次の時間間隔、そしてそれ以降のすべての時間間隔で繰り返すだけです。これが数値計算の基本的な考え方です。(これがどのように機能するかを示す別の例はこちらです。)

では、出力を見てみましょう。これは、3Dオブジェクト用の組み込み関数を備えたオンラインPython実装であるWeb VPythonを使って作成しました。計算された動きは次のとおりです。

イラスト: レット・アラン

これを「もしも」の世界の動きと比較するとどうでしょうか? 測定されたロケットと計算されたロケットの両方について、惑星の中心からの距離を時間の関数としてプロットしてみましょう。すると、次のグラフが得られます。

compare plot graph showing blue curve and red trend line

イラスト: レット・アラン

この2つの曲線は同一ではありませんが、それほど悪くはありません。「もしも」の世界では正確な初期条件を測定するのは容易ではないので、全体的にはかなり満足しています。

もしもの世界と科学の本質

なぜこのプログラムの仕組みを解明しようと時間を無駄にしているのかと疑問に思う人もいるかもしれません。重力が一定かどうか、ゲームの開発者に聞けばいいのではないでしょうか?

はい、できます。でも、それは楽しさとは正反対です。このゲームは、ただ「もしも」の世界を探索するだけでなく、それがどのように機能するかを探求する機会も提供します。これは、データに基づいてモデルを構築し、テストするプロセスである現実の科学のウェブ版です。(ただし、モデルをテストするために実際に何かを構築する必要がないため、はるかに安価です。)

例えば、ゲームには他にも惑星が登場します。惑星は大きさが異なりますが、重力も異なるのでしょうか?重力が異なる場合、惑星の大きさと重力の間に何らかの関係があるのでしょうか?

あるいは、「ロケットにはスラスターが付いています。スラスターを噴射すると、ロケットの速度は上昇します。エンジンが作動しているときのロケットの加速度はいくらですか?」

答えを知りたいなら、探求を続けなければなりません。重力が惑星の大きさに依存するかどうかを知りたいなら、別の惑星を見つけなければなりません。スラスターがどのような加速度を生み出すかを知りたいなら、それを測定するのに適した状況(例えば、惑星から離れた深宇宙へ飛行するなど)を見つける必要があります。現実世界と同じように、独自の実験を作り出すのはあなた次第です。