由鐵塊碰撞出來的圓周率計算方法

作者:亞馬遜的蝴蝶(Butterfly_of_Amazon)



果殼上有一篇文章《這一切要從碰撞的滑塊和量子搜索講起》,指出圓周率π與滑塊碰撞次數有種奇妙的關係。今天給大家說說爲什麼會有這樣的奇妙關係。

一、奇妙的關係

在光滑的平面上放着兩個1 kg的滑塊,在它們的左側有一面堅固且不可移動的牆。兩個滑塊一個離牆近一些,一個遠一些,而且後者正在向前者滑去。可以想象,接下來將會產生許多次碰撞。假設每次碰撞時都沒有動能損失,整個過程將像下面圖中展示的那樣:

右側的滑塊碰撞左側的滑塊,並將全部動量轉移給左側滑塊,左側滑塊碰到牆反彈回來,再與右側滑塊發生碰撞並將動量全部轉移過去。期間左側滑塊一共發生了3次碰撞。如果我們增大右側滑塊的質量,會發現有趣的事情:將右側滑塊質量換成100 kg,那每次碰撞時只會有一小部分動量發生轉移,將會碰撞31次;如果將右側滑塊質量換成10000kg,那整個過程將發生314次碰撞。

不斷100倍100倍地增加右側滑塊質量,你會發現神奇的現象:總碰撞次數與π每一位的數字越來越接近。

二、這是真的嗎

是不是很神奇?我通過計算,驗證100kg、10000kg和1000000kg的情況,發現都與這個結論相符。驗證過程如下:

設滑塊a和滑塊b的質量分別爲ma和mb,速度爲va和vb。速度隨着碰撞而改變,設兩個滑塊間發生第n次碰撞後的速度分別爲va,n和vb,n

由於碰撞過程中沒有動能損失,因此滑塊a碰撞左側牆壁後,速度將大小不變,方向相反。結合動量守恆定律,可列下式:

-mava,n-1 + mbvb,n-1 = mava,n + mbvb,n ........①

因爲碰撞過程中總動能不變,可列下式:

mav2a,n-1 + mbv2b,n-1 = mav2a,n + mbv2b,n ...②

設mb = K·ma(圖2中K爲1000000,圖3中K爲100),由式①、②計算可得:

當vb,n爲負,且|va,n|<=|vb,n|時,兩個滑塊將不再發生碰撞,此時如果va,n>0,則滑塊a還將與牆壁碰撞一次。將式③、④寫成Excel表格中公式,設vb初始速度爲1,通過拖拽可方便地得到下表(表中以K=100爲例):

以表1中vb爲縱座標,va爲橫座標,可得下面半圓圖形:

細心的你可能已經看出:上圖並不是真正的半圓,因爲圖中橫座標最大值是10,而縱座標最大值是1,需要把縱座標乘以10纔是真正的半圓。爲了方便描述,姑且把它稱爲半圓。

三、爲什麼會這樣

爲什麼圓周率π與滑塊碰撞次數之間有這樣奇妙的關係?計算告訴你答案。

先問一個問題:根據表1中的數據,如何估算圖4半圓的上半部分(也就是四分之一個圓)的面積S?

可能你已經想到了:可以把這四分之一個圓近似看成由8(約爲n的最大值的一半)個豎長條組成,每個豎條的寬是相鄰兩點間的橫座標距離,也就是相鄰兩次碰撞後滑塊a的速度差,高是這兩點縱座標的平均值,也就是相鄰兩次碰撞後滑塊b的平均速度。將這8個豎條的面積之和當作S的近似值,雖然與真實值存在偏差,但通過增加圓上點的數量,也就是增加碰撞數量,從而增加豎條數量,可以減小偏差。

設碰撞次數的最大值爲N,可列下式:

再換個角度:把S近似爲8個橫條的面積之和,每個橫條的高是相鄰兩點間的縱座標距離,寬是這兩點橫座標的平均值。可列下式:

⑤+⑥,得:

將③、④代入⑦,得:

因爲式②、mb=K×ma、vb初始值=1,所以

故,式⑧ =>

由式⑨可知,所有座標爲 (va,√K·vb) 的點位於一個半徑爲 √K 的圓上,此圓的面積爲 K×π ;而S爲此圓縱座標被壓扁到 1/√K 後面積的四分之一,因此有:

將⑩代入S,並考慮到在K非常大時,K/(K+1)≈1,可得:

N是兩個滑塊在前半程中相互碰撞的次數,後半程兩個滑塊相互碰撞次數也爲N,滑塊a與牆壁碰撞的次數爲2N,故4N的整數部分即爲總碰撞次數。這就是爲什麼圓周率π與滑塊碰撞次數之間有這樣的奇妙關係!

前面出現的式⑤提供了一個迭代計算圓周率π的方法。我通過迭代計算785次矩形面積,將圓周率精確到了小數點後5位(3.14159),計算過程中藉助了Excel表格,有興趣的朋友可以試試。


看完說點兒什麼吧,要不點一下贊或踩一腳也行。您的任何一點兒反饋都能給我幫助,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章