高校レベルの数学で考える～スイングバイでなぜ加速できるのか？

# はじめに

宇宙船が効率よく加速できるスイングバイという航法がある。天体を利用してスピードアップを図るという技術だが，皆さんは疑問に思ったことはないだろうか？

天体に近づいて，そして再び天体から離れるだけでどうして加速できるのだろうか？そもそも天体から見れば，宇宙船が近づいてくると重力によって加速されるが，離れるときは逆に重力によって減速される。エネルギー保存則から考えて元の速度に戻るだけではないだろうか？

```plantuml
@startuml
<style>
root {
  margin 0
  padding 0
}
title {
  fontStyle normal
  fontSize 16
}
</style>
sprite FIGURE <svg width="320" height="320">
<g transform="rotate(-30,80,80)">
<path d="M40 84 v6 h80 v-6" fill="black">
<path d="M41 85 v4 h78 v-4" fill="azure">
<path d="M73 79 v14 h14 v-14" fill="black">
<path d="M74 80 v12 h12 v-12" fill="gold">
<ellipse cx="80" cy="94" rx="16" ry="4" fill="white">
<ellipse cx="80" cy="94" rx="16" ry="4" fill="none" stroke="black">
<path d="M78 94 l1 8 h2 l1 -8" fill="black">
<path d="M80 72 l-16 -24 h8 v-32 h16 v32 h8" fill="red">
</g>
<circle cx="160" cy="240" r="32" fill="lightyellow">
<circle cx="160" cy="240" r="32" fill="none" stroke="gray" stroke-width="2">
<g fill="black">
<ellipse cx="144" cy="220" rx="2" ry="4" transform="rotate(15,144,220)">
<ellipse cx="160" cy="220" rx="2" ry="4" transform="rotate(15,160,220)">
</g>
<text x="72" y="30" font-size="16" fill="red">v</text>
</svg>
title
<$FIGURE>
図１　天体に近づくとき
end title
@enduml
```

```plantuml
@startuml
<style>
root {
  margin 0
  padding 0
}
title {
  fontStyle normal
  fontSize 16
}
</style>
sprite FIGURE <svg width="320" height="320">
<g transform="rotate(30,240,80)">
<path d="M200 79 v6 h80 v-6" fill="black">
<path d="M201 80 v4 h78 v-4" fill="azure">
<path d="M233 79 v14 h14 v-14" fill="black">
<path d="M234 80 v12 h12 v-12" fill="gold">
<ellipse cx="240" cy="76" rx="16" ry="4" fill="white">
<ellipse cx="240" cy="76" rx="16" ry="4" fill="none" stroke="black">
<path d="M238 76 l1 -8 h2 l1 8" fill="black">
<path d="M240 100 l-16 24 h8 v32 h16 v-32 h8" fill="magenta">
</g>
<circle cx="160" cy="240" r="32" fill="lightyellow">
<circle cx="160" cy="240" r="32" fill="none" stroke="gray" stroke-width="2">
<g fill="black">
<ellipse cx="160" cy="220" rx="2" ry="4" transform="rotate(-15,160,220)">
<ellipse cx="176" cy="220" rx="2" ry="4" transform="rotate(-15,176,220)">
</g>
<text x="230" y="148" font-size="16" fill="magenta">v'</text>
</svg>
title
<$FIGURE>
図２　天体から離れるとき
end title
@enduml
```

つまり進入前の速度 $v$ と脱出後の速度 $v'$ の大きさは等しく，$|v| = |v'|$ になるのではないか？という疑問だ。

# 高校レベルの数学で考える

簡単のため一次元の運動で考えよう。質量 $m$ の宇宙船が質量 $M$ の天体と完全弾性衝突して跳ね返るものとする。衝突前の宇宙船の速さ $v$ とし，衝突後 $v'$ とする。一方，衝突前の天体の速さ $V$，衝突後 $V'$ とおく。なお座標軸の方向は左向きとする。衝突前の宇宙船は右向きに進んでいるので $v < 0$ である。

なお，いくらなんでも完全弾性衝突はおかしいと思う人は図４に示すように重力を利用して180度ターンしたものとイメージされたい。

いずれにせよ宇宙船の速度 $v$ および $v'$，天体の速度 $V$ および $V'$ は，お互い十分離れた距離における速度とする。近づくと重力による加減速が生じるが，エネルギー損失は発生しないことからその過程をブラックボックスとみなして，初期状態と最終状態だけを考えようという訳だ。

```plantuml
@startuml
<style>
root {
  margin 0
  padding 0
}
title {
  fontStyle normal
  fontSize 16
}
</style>
sprite FIGURE <svg width="320" height="320">
<circle cx="200" cy="160" r="32" fill="lightyellow">
<circle cx="200" cy="160" r="32" fill="none" stroke="gray" stroke-width="2">
<g fill="black">
<ellipse cx="184" cy="144" rx="2" ry="4">
<ellipse cx="200" cy="144" rx="2" ry="4">
</g>
<path d="M240 160 l24 16 v-8 h32 v-16 h-32 v-8" fill="blue">
<text x="270" y="140" font-size="16" fill="blue">V</text>
<circle cx="80" cy="160" r="8" fill="lightpink">
<circle cx="80" cy="160" r="8" fill="none" stroke="gray" stroke-width="2">
<path d="M100 152 l12 8 v-4 h40 v-8 h-40 v-4" fill="magenta">
<text x="122" y="140" font-size="16" fill="magenta">v'</text>
<path d="M152 168 l-12 8 v-4 h-40 v-8 h40 v-4" fill="red">
<text x="122" y="190" font-size="16" fill="red">v</text>
<text x="68" y="212" font-size="16" fill="black">(m)</text>
<text x="186" y="212" font-size="16" fill="black">(M)</text>
<g fill="black">
<path d="M80 260 h160 v1 h-160">
<path d="M80 260 h12 v1 h-12" transform="rotate(20,80,260)">
<path d="M80 260 h12 v1 h-12" transform="rotate(-20,80,260)">
</g>
<text x="124" y="280" font-size="16" fill="black">座標軸方向</text>
</svg>
title
<$FIGURE>
図３　完全弾性衝突で考える
end title
@enduml
```

```plantuml
@startuml
<style>
root {
  margin 0
  padding 0
}
title {
  fontStyle normal
  fontSize 16
}
</style>
sprite FIGURE <svg width="320" height="320">
<circle cx="200" cy="160" r="32" fill="lightyellow">
<circle cx="200" cy="160" r="32" fill="none" stroke="gray" stroke-width="2">
<g fill="black">
<ellipse cx="184" cy="144" rx="2" ry="4">
<ellipse cx="200" cy="144" rx="2" ry="4">
</g>
<path d="M240 160 l24 16 v-8 h32 v-16 h-32 v-8" fill="blue">
<text x="270" y="140" font-size="16" fill="blue">V</text>
<g fill="lightpink">
<path d="M170 218 h12 v4 h-12">
<path d="M194 218 h12 v4 h-12">
<path d="M194 218 h12 v4 h-12" transform="rotate(-22.5,200,160)">
<path d="M194 218 h12 v4 h-12" transform="rotate(-45,200,160)">
<path d="M194 218 h12 v4 h-12" transform="rotate(-67.5,200,160)">
<path d="M194 218 h12 v4 h-12" transform="rotate(-112.5,200,160)">
<path d="M194 218 h12 v4 h-12" transform="rotate(-135,200,160)">
<path d="M194 218 h12 v4 h-12" transform="rotate(-157.5,200,160)">
<path d="M194 218 h12 v4 h-12" transform="rotate(-180,200,160)">
<path d="M170 98 h12 v4 h-12">
</g>
<circle cx="80" cy="220" r="8" fill="lightpink">
<circle cx="80" cy="220" r="8" fill="none" stroke="gray" stroke-width="2">
<path d="M100 100 l12 8 v-4 h40 v-8 h-40 v-4" fill="magenta">
<text x="122" y="88" font-size="16" fill="magenta">v'</text>
<path d="M152 220 l-12 8 v-4 h-40 v-8 h40 v-4" fill="red">
<text x="122" y="240" font-size="16" fill="red">v</text>
<g fill="black">
<path d="M80 260 h160 v1 h-160">
<path d="M80 260 h12 v1 h-12" transform="rotate(20,80,260)">
<path d="M80 260 h12 v1 h-12" transform="rotate(-20,80,260)">
</g>
<text x="124" y="280" font-size="16" fill="black">座標軸方向</text>
</svg>
title
<$FIGURE>
図４　重力ターンのイメージ
end title
@enduml
```

まず，エネルギー保存則より

```math
\frac{1}{2}mv^2 + \frac{1}{2}MV^2 = \frac{1}{2}m(v')^2 + \frac{1}{2}M(V')^2 \tag{1}
```

となる。一方，運動量保存則より

```math
mv + MV = mv' + MV' \tag{2}
```

が得られる。式 $(1)$ の両辺を２倍したものと式 $(2)$ の両辺をそれぞれ $M$ で割る。宇宙船と天体の質量比 $a = m/M$ とおくと

```math
av^2 + V^2 = a(v')^2 + (V')^2 \tag{3}
```

```math
av + V = av' + V' \tag{4}
```

が得られる。式 $(4)$ より，$V' = a(v - v') + V$ を式 $(3)$ に代入して $V'$ を消去する。

```math
av^2 + V^2 = a(v')^2 + \left( a(v - v') + V \right)^2 \tag{5}
```

両辺から $V^2$ の項が消せる。

```math
\require{cancel}
av^2 + \xcancel{V^2} = a(v')^2 + a^2(v - v')^2 + 2a(v - v')V + \xcancel{V^2} \tag{6}
```

式 $(6)$ の両辺を $a$ で割る。

```math
v^2 = (v')^2 + a(v - v')^2 + 2(v - v')V \tag{7}
```

式 $(7)$ の右辺を左辺に移項する。

```math
v^2 - (v')^2 - a(v - v')^2 - 2(v - v')V = 0 \tag{8}
```

うっすらと共通項 $v - v'$ が見えるので因数分解してまとめると

```math
(v - v')(v + v') - a(v - v')^2 - 2(v - v')V = 0 \tag{9}
```

```math
(v - v')\left\lbrace (v + v') - a(v - v') - 2V \right\rbrace = 0 \tag{10}
```

```math
(v - v')\left\lbrace (1 - a) v + (1 + a)v' - 2V \right\rbrace = 0 \tag{11}
```

となる。これより

```math
\left\lbrace\begin{align}
v - v' = 0\\
(1 - a) v + (1 + a)v' - 2V = 0 
\end{align} \right. \tag{12}
```

が得られる。$v'$ について求めると，有意な解は（$v' = v$ を除いて）

```math
v' = \frac{2}{1 + a}V - \frac{1 - a}{1 + a}v \tag{13}
```

となる。宇宙船と天体の質量比 $a = m/M \ll 1$ だから

```math
v' \approx 2V - v \tag{14}
```

と近似できる。仮に天体が静止していた場合 $V = 0$ を考えると $v' \approx -v$ となる。これは壁に衝突して跳ね返ったようなもので，速度の大きさを維持したまま向きが正反対になっている。

衝突後の天体の速度 $V'$ も求めてみよう。

```math
V' = a(v - v') + V \tag{15}
```

式 $(15)$ に式 $(13)$ を代入する。

```math
V' = a \left[v - \left( \frac{2}{1 + a}V - \frac{1 - a}{1 + a}v \right) \right] + V \tag{16}
```

```math
V' = a \left(v - \frac{2}{1 + a}V + \frac{1 - a}{1 + a}v \right) + V \tag{17}
```

```math
V' = a \left(\frac{2}{1 + a}v - \frac{2}{1 + a}V \right) + V \tag{18}
```

```math
V' = \frac{1 - a}{1 + a}V + \frac{2a}{1 + a}v \tag{19}
```

これも $a \ll 1$ とすれば

```math
V' \approx V \tag{20}
```

と近似できる。これは予想通りであり，天体レベルの質量になれば宇宙船がぶつかってもビクともしないのだ。

式 $(14)$ から式 $(20)$ を引いて天体から見た衝突後の宇宙船の相対速度 $v' - V$ の近似値を求めてみると，

```math
v' - V = (2V - v) - V = V - v \tag{21}
```

となり，衝突前の相対速度 $v - V$ と大きさは同じで向きが正反対になる。念のため，厳密に求めてみよう。式 $(13)$ から 式 $(19)$ を引くと

```math
v' - V' = \left( \frac{2}{1 + a} V - \frac{1 - a}{1 + a} v \right)
         - \left( \frac{1 - a}{1 + a} V + \frac{2a}{1 + a} v\right) \tag{22}
```

```math
v' - V' = \left( \frac{2}{1 + a} - \frac{1 - a}{1 + a} \right) V
         - \left( \frac{1 - a}{1 + a} + \frac{2a}{1 + a} \right) v \tag{23}
```

```math
v' - V' = V - v \tag{24}
```

となり，厳密に計算しても同じ結果になることが示された。

# まとめ

衝突前後の速度を表１にまとめる。静止座標系から見た絶対速度としては，宇宙船は元の速度とは正反対の方向に跳ね返り，さらに天体の速度 $V$ の２倍だけ加速されている。 ただし，天体から見た宇宙船の相対速度としては衝突前後で大きさは変わらず，向きが正反対になっただけである。

<table>
<caption>表１　完全弾性衝突前後の速度</caption>
<thead>
<tr><th></th>
    <th style="text-align:center">記号</th>
    <th style="text-align:center">衝突前</th>
    <th style="text-align:center">衝突後</th></tr>
</thead>
<tbody>
<tr></tr>
<tr><th>宇宙船の絶対速度</th>
    <td style="text-align:center">①</td>
    <td style="text-align:center">$v$</td>
    <td style="text-align:center">$\approx 2V - v$</td></tr>
<tr></tr>
<tr><th>天体の絶対速度</th>
    <td style="text-align:center">②</td>
    <td style="text-align:center">$V$</td>
    <td style="text-align:center">$\approx V$</td></tr>
<tr></tr>
<tr><th>天体から見た宇宙船の相対速度</th>
    <td style="text-align:center">①－②</td>
    <td style="text-align:center">$v - V$</td>
    <td style="text-align:center">$V - v$</td></tr>
</tbody>
</table>

# 最後に

冒頭で完全弾性衝突はさすがに非現実的過ぎるので，重力ターンをイメージして欲しいと述べたが，たぶん重力だけで180度ターンするのは無理だ。というのもスイングバイの単純な軌道は放物線または双曲線になるので，来た方向に戻ることはできないからだ。

# 高校レベルの数学シリーズ

筆者の過去シリーズである。

- [高校レベルの数学でケプラーの法則を導く - Qiita](https://qiita.com/TETSURO1999/items/698f15304a6a98562e13)
- [高校レベルの数学で歳差周期2万6000年を導く - Qiita](https://qiita.com/TETSURO1999/items/bdb8a0a19ea093eacb72)
- [高校レベルの数学で考える～スペースコロニーの中でジャンプしたら無重力状態になるの？ - Qiita](https://qiita.com/TETSURO1999/items/480983e6f806f8b61cbb)

# 参考文献

- [よくあるご質問「スイングバイとは何ですか」- JAXA](https://humans-in-space.jaxa.jp/faq/detail/000751.html)

- [高校数学・物理で学ぶスイングバイ軌道の作り方① 〜軌道伝播をしてみよう〜 - JAXA](https://edu.jaxa.jp/contents/english/homework/swingby.html)