万有引力の法則を利用したゲームの制作

万有引力の法則を利用した
ゲームの制作
大阪工業大学
情報科学部 情報科学科
学生番号 A05-027
苧谷 真行
研究目的
• 本研究では、万有引力の働く空間での物体の動き
や変化を目で見てもらうことで、背景の物理につい
ての理解を深めてもらうことを目的として制作した。
• プログラムの使用言語はJavaを使用し、物体の運
動はニュートンの運動法則をRunge-Kutta法で計算
し解くことで表現する。
• 疑ニュートンの要素として重力源をブラックホールと
模倣し、ブラックホール周辺での物体の運動を体感
してもらう。
ニュートン力学での運動法則
• 1つの物体Aとその周りを運動する物体Bを考えたと
きのニュートンの運動方程式
d2r
Mm
m 2 
G2
dt
r
を解くことで物体の運動を表す。
• このとき、G:万有引力定数
M:物体Aの質量
m:物体Bの質量
r:物体A、B間の距離である。
• この式を応用することで重力源の数を増やすこともで
きる。
疑ニュートンの要素での運動法則
• ニュートン力学での運動に疑ニュートンの要素を追
加したときの運動方程式
2
d
r
Mm
m2

G
dt
(
r
a
)2
物体A、B間の距離:rをr-aと置き換えた式である。
疑ニュートンとはブラックホールを模倣することがで
きる要素であり、ブラックホールの半径をシヴァ
ルツシルト半径:aで表す。
本研究のプログラムではシヴァルツシルト半径の
大きさを変えることができる。
ニュートン力学での運動
• 黄色の線が運動す
る物体の軌道、赤い
点が重力源である。
• 物体が閉じた楕円
運動をしていること
がわかる。
疑ニュートンの要素での運動
• ニュートン力学での運
動と同条件のときに
シヴァルツシルト半径
a=1.5としたときの物
体の運動である。
• 閉じた運動ではなく、
模様を描くよう運動して
いることがわかる。
設定パネル
• START&STOPボタンで計算の開始と
中止を切り替えることができる。
• RESETボタンで計算を中止し、入力さ
れている数値を読み込む。
• 軌跡ボタンで物体の運動の軌跡の
ONOFFを切り替える。
• 物体の座標、初速度、発射角度を入
力することで物体の初期位置を指定す
ることができる。
• 疑ニュートンポテンシャルを入力するこ
とで物体の運動に変化を与えられる。
• 重力点ボタンを押すことで重力点の数
を1と2で切り替えることができる。
モード1:シミュレータ
• ゲームではなく物体の運動をシミュレータとして見ることができるモード。
• 図は重力源1のときの楕円運動と、重力源2のときの八の字運動である
。
モード2:ブロック崩し
•
•
•
中心点が斥力を発する空間でのブロック崩しである。斥力のため物体は赤い矢
印のような動きをする。
ブロックを1つ壊すごとにSCOREに100加算される。
中心点にぶつかるか、画面下枠から外にでると残数が減り、残数が0で
GAMEOVERとなる。
モード3:的当て
• 物体の発射角度と初速度を設定して目標の青い玉を狙うゲームである。
• このとき物体のX座標とY座標は固定されている。
• 黒のフィールド内のみ運動が可能で灰色の枠外に出た場合は物体の運
動が止まり、そこから再度発射することになる。
まとめ
• 万有引力という物理法則を体感、理解してもら
うために考えたルールや設定をゲームとして
の形に成せた。
• 万有引力を生かしたゲームのルールや設定を
考えるためにシミュレータ部分を強化し、様々
な物体の動きを検証する必要があった。