衝突回数で円周率を求める?シミュレーションしてみよう
billiardpi
作成日:2025/3/22

皆さんは2物体の衝突回数を数えるだけで、円周率が求まる事を知っていますか?

とても不思議な現象ですが、実際にシミュレーションをしてみましょう!

シミュレーション

質量比
x 軸拡大率

2つの物体を弾性衝突させた時の衝突回数を数えます。まずは、START/STOP ボタンを押して何回衝突するかを見てみましょう。その後、2物体の質量比を変えてみて、衝突回数がどのように変化するかを見てみましょう。

ただし、質量比は緑の物体に対する青の物体の質量の比を表しています。

衝突回数が円周率 π\bm\pi の最初の数桁に一致することに気づきましたか?

具体的には、質量比が 102(n1)10^{2(n-1)} である時、衝突回数は円周率の最初の nn 桁に一致します。

なお、質量比が 10410^4 の時、最後(314回目)の衝突はとても時間がかかります。

このシミュレーションでは、n=3n=3 までを見ることができます。グラフのリンクに飛べば、任意の nn でシミュレーションを行えますが、 n4n\geqq 4 では時間がかかりすぎるのでお勧めしません...

補足

このシミュレーションでは、計算精度や計算速度の関係上、実際の衝突より長い時間がかかります。特に2物体がとても接近している間は、実際には恐ろしい速さで衝突が起こります。

なぜ π が現れる?

では、なぜ円周率 π\pi が現れるのかを考えていきましょう。様々な証明方法がありますが、最も有名な円を用いた方法について解説します。

図のように xx 軸を取り、二物体の速度を m,Mm,M 、速度を v,Vv,V とします。また、時刻 t=0t=0 において v=0,V=V0v=0,V=V_0 であるとします。

この時、物体間や壁との衝突が弾性衝突であることより、二物体のエネルギーの合計が保存します。

つまり、エネルギー保存則

12mv2+12MV2=12MV02\frac12mv^2+\frac12MV^2=\frac12MV_0^2

が成立します。ここで、 v=mv,V=MVv'=\sqrt mv,\,V'=\sqrt MV とおくと、

v2+V2=(MV0)2v'^2+V'^2=\left(\sqrt MV_0\right)^2

となります。よって、v,V\bm{v',V'} は半径 MV0\bm{\sqrt MV_0} の円周上にあることがわかります!

t=0t=0 において、上のグラフの右端の点にいます。

ではこの後、v,Vv',V' がどのように変化するかを考えます。二物体は衝突直前と衝突直後で運動量保存則が成立します。つまり、

mv+MV=Cmv+MV=C

が成立します。( CC は定数です)

つまり、

mv+MV=C  V=Mmv+C\sqrt mv'+\sqrt MV' = C\ \Leftrightarrow\ V'=-\sqrt{\frac Mm}v'+C'

となります。これは、衝突直前・直後の v,Vv',V' が傾き Mm-\sqrt{\dfrac Mm} の直線上に存在することを意味します。

よって、例えば1回衝突した後の v,Vv',V' は、先ほどの点を通る傾き Mm-\sqrt{\dfrac Mm} の直線を考えて、

図の赤い点になります。

次に軽い方の物体が左の壁に衝突します。衝突によって速度が v-v になるので、 円においては v-v' にして、

上図のようになります。

後はこの繰り返しです!このようになります。

ここで、図の θ\theta は、直線の傾きが全て Mm-\sqrt{\dfrac Mm} であることを踏まえると、

tanθ=mM  θ=arctan(mM)\tan\theta=\sqrt{\dfrac mM}\ \Leftrightarrow\ \theta = \arctan\left({\sqrt{\dfrac mM}}\right)

と求まります。ただし、arctan\arctantan\tan の逆関数です。

また、円周角の定理より、

上図のようになります。

ここで、衝突回数が一回増えるたびに点が一個増えたことを思い出してください。図を見るとわかるように、これは 2θ2\theta の数に一致しています。

つまり、衝突回数は

2π2θ=πarctan(mM)\frac{2\pi}{2\theta}=\frac{\pi}{\arctan\left({\sqrt{\dfrac mM}}\right)}

の整数部分に等しいです。

質量比が 102(n1)10^{2(n-1)} である時、これは

πarctan(102(n1))=πarctan(10(n1))π10(n1)=10(n1)π\frac{\pi}{\arctan\left({\sqrt{10^{-2(n-1)}}}\right)}=\frac{\pi}{\arctan\left(10^{-(n-1)}\right)}\\[10px]\fallingdotseq\frac{\pi}{10^{-(n-1)}}=10^{(n-1)}\pi

となります。衝突回数はこの整数部分なので、π\bm\pi の最初の n\bm n 桁に一致します!

ただし、x1x\ll 1 の時に、

tanxx xarctanx\tan x\fallingdotseq x\quad\therefore\ x\fallingdotseq\arctan x

という近似が成り立つことを用いました。

原論文

この現象は、Gregory Galperin が PLAYING POOL WITH π という論文で2003年に発表し、広く知られるようになりました。

こちらのURLで読むことができます。(2025年3月現在)

この記事では曖昧なままにしましたが、

πarctan(10(n1))π10(n1)\frac{\pi}{\arctan\left(10^{-(n-1)}\right)}\fallingdotseq\frac{\pi}{10^{-(n-1)}}

という近似の正当性についても、より深く考察しています。

SHARE
Images are created with the Desmos Graphing Calculator, used with permission from Desmos Studio PBC.
© 2024 UNS Physics. All Rights Reserved.