Upgrade to Pro — share decks privately, control downloads, hide ads and more …

重力プログラミング入門「第4回:スペースコロニーを建造する」

piacerex
March 16, 2018

 重力プログラミング入門「第4回:スペースコロニーを建造する」

piacerex

March 16, 2018
Tweet

More Decks by piacerex

Other Decks in Technology

Transcript

  1. 2 1. 宇宙空間に物体を配置する 2. ラグランジュ点 L1/L2/L3 3. ラグランジュ点 L4/L5 4.

    配置以外に宇宙空間で考えること 5. スペースコロニー内では… 6. 物理・数学をプログラミングする世界 目次
  2. 4 1.宇宙空間に物体を配置する 未だ、重力をコントロールする術を持たない人類は、以下2つの 方法で、宇宙空間への物体の定常的な配置をします ① 単一惑星の重力で落下しても着地させずに済む横方向 への移動速度 (第1宇宙速度) で周回させ続ける ②

    周回する複数惑星の重力が均衡する位置に配置する 重力プログラミング 第1回でご紹介した「人工衛星」は、①の例 であり、今回のテーマである「スペースコロニー」は、②の例です
  3. 12 2.「万有引力の法則」 あらゆる2つの物体間には、お互いを引き合う力、つまり「引力」 が発生しており、引力は、以下2つの条件が成り立ちます ➢ 各物体の質量の乗算に比例する (重い程強く引き合う) ➢ 物体間の距離の2乗に反比例する (離れると弱まる)

    質量当りにかかる引力の強さを「G 」※、物体の質量を「M 」「m」、 物体間の距離を「r 」とすると、物体間の引力は、以下となります ※「万有引力定数」と呼びます 【Column】 「重力」とは、引力に「自転の遠心力」を合わせた力を指します 宇宙空間を扱う天文学・宇宙開発では割愛し、「重力」=「引力」と扱います F = G Mm r 2 再掲
  4. 13 2.人工衛星の位置を示すxy軸座標 以下は、地球の中心を0地点とした、人工衛星のxy 座標です 人工衛星の軌道は、「運動方程式」により、以下の通りです ma = F 加速度a を、x

    軸・y 軸に分けることで、移動速度を出しましょう x α θ y F Fcosθ Fsinθ r Position( x, y ) 人工衛星の座標 0 ※m は人工衛星の質量、a は加速度 再掲
  5. 14 2.引力と人工衛星の位置から移動速度を計算 ma はmdx とmdy という偏微分に分割し、F は直交座標(xy 座標)から極座標(方向F と角度θ で表現される座標)へと変換

    します mdx = -F cosθ, mdy = -F sinθ F を前述した引力に展開し、cosθ, sinθ を人工衛星位置x, y と人工衛星までの距離r で表現すると、以下の通りです mdx = -G ・ = -G mdy = -G ・ = -G Mm r 2 x r Mmx r 3 Mm r 2 y r Mmy r 3 ※方向F は、0地点から外側に向かって いればプラス、逆方向ならマイナスと なるため、この場合はマイナスとなる 再掲
  6. 15 2.引力と人工衛星の位置から移動速度を計算 両辺のm を削除したものが、移動速度になります dx = -G , dy =

    -G 地球が0地点なので、r は、x とy から計算できます r = √ x + y G およびM は、以下の通りです ➢ 万有引力定数 G = 6.67259 x 10 m / s ➢ 地球の質量 M = 5.974 x 10 kg GM = 1.267 × 10 km / s Mx r 3 My r 3 2 2 -11 3 2 24 8 3 2 再掲
  7. 16 3.公転軌道をJavaScriptでプログラミング 前章で紐解いた、人工衛星の移動速度を用いて、人工衛星が 地球周回軌道をグルグルと回るシミュレーションをJavaScirptで 作ってみましょう dx = -G , dy

    = -G , r = √ x + y この移動速度の数式をコード化した以下は、数式そのままです (最近、関数型しか書いて無いので、状態を持てる・更新できる言語に拒否反応が(-_-u… ) … // 公転対象の位置から重力影響を計算し、速度を変更後、公転対象の位置を移動 moveOnGravityEffect: function() { var r = Math.sqrt( Math.pow( this.x, 2 ) + Math.pow( this.y, 2 ) ); this.dx = this.dx - G * M * this.x / Math.pow( r, 3 ); // x方向の移動速度 this.dy = this.dy - G * M * this.y / Math.pow( r, 3 ); // y方向の移動速度 this.x = this.x + this.dx; // x位置を、x方向の移動速度で更新 this.y = this.y + this.dy; // y位置を、y方向の移動速度で更新 }, … Mx r 3 My r 3 2 2 再掲
  8. 17 2.ラグランジュ点 L1/L2/L3 月の質量M は、以下の通りです ➢ 月の質量 M = 7.346

    x 10 kg 月の分の移動速度も、計算式は、地球と同じです dx = -G , dy = -G r は、月との距離になるので、x とy の各々から、月の座標である moon_x とmoon_y を引いて計算します r = √ (x - moon_x) + (y - moon_y) L2/L3は、月の重力分、引っ張られるため、移動速度は月より も大きくなり、間にあるL1は、相殺され、小さくなります 22 Mx r 3 My r 3 2 2
  9. 18 2.ラグランジュ点 L1/L2/L3 地球と月の距離は、以下の通りです (1日15時間、時速5kmで歩き続けたとして、13.9年の距離) ➢ 地球と月の距離 3.844 x 10

    km L1/L2/L3の月もしくは月軌道との距離は、以下の通りです ➢ L1 (月の内側に) 5.802 x 10 km ➢ L2 (月の内側に) 6.451 x 10 km ➢ L3 (月軌道の内側に) 2.725 x 10 km なお、この距離は、元JAXA勤務の、歌島 昌由 博士という方が、 高次方程式を高精度で解いた結果※として、発表しています ※NASDA-TMR-960033 宇宙開発事業団技術報告「ラグランジュ点近傍の軌道力学」 5 4 4 3
  10. 28 3.ラグランジュ点 L4/L5 【余談】 今回のような、3つの天体が、重力によって、お互いに影響し合う シチュエーションで、それら軌道を決定する問題は、「三体問題」 もしくは「多体問題」と呼ばれ、解析的には解けない …つまり、 方程式の変形で解くことは不可能… と言われています

    しかし、3体のうち、1体の質量が、他2体と比べ、無視できるほど 小さい場合は、「制限三体問題」と呼ばれ、特殊解を求めること が可能となります 更に、2体の軌道が、円軌道である場合、「円制限三体問題」 と呼ばれます 今回のラグランジュ点は、この「円制限三体問題」に該当します
  11. 30 4.配置以外の宇宙空間で考えること 以下のようなことを考察します (続編をお楽しみに) ① スペースコロニーにかかる遠心力 ② スペースコロニー周辺の重力場 (上面、下面、側面) ③

    重力を発生させるための回転 ④ 構造材料選定・輸送 (打ち上げ、マスドライバー射出) ⑤ 外壁・太陽発電・ガラス強度 (デブリ、重力場、遠心力) ⑥ ガラスの紫外線カット ⑦ 太陽発電の運用/電力コンティンジェンシー ⑧ 外壁・太陽発電・ガラスのメンテナンス ⑨ 外壁・太陽発電・ガラスの破損コンティンジェンシー ⑩ ラグランジュ点の軌道から逸れた場合の復元プラン ⑪ 想定外挙動時のトラブルシューティング/救援体制維持
  12. 32 5.スペースコロニー内では… 以下のようなことを考察します (続編をお楽しみに) ① 大気、空気の波 (圧縮性流体)、漏出率、音波 ② コロニー内重力、陸地、コロニー内飛行 ③

    陸地、地震 ④ 陸地の太陽照射に伴う窓風「ウインドウウインド」 ⑤ 気象 ⑥ 海洋、圧力影響、海の波 (非圧縮性流体) ⑦ 移住者の衣食住、経済活動 ⑧ 移住者の心理面影響 ⑨ コロニーと地球の政権、自治・独立 ⑩ 戦争対策、「コロニー落とし」への対策