請給我一個π
π的歷史簡介
眾所周知,π=3.141592653…可以說,它是世界上最有名的無理常數(shù)了,代表的是一個圓的周長與直徑之比或稱為“圓周率”。公元前250年左右,阿基米德給出了“圓周率”的估計值在223/71~22/7之間,也即是在3.140845~3.142857之間。中國南北朝時期的著名數(shù)學(xué)家祖沖之(429-500)首次將“圓周率”精算到小數(shù)第七位,即在3.1415926和3.1415927之間,他提出的“密率與約率”對數(shù)學(xué)的研究有重大貢獻(xiàn)。直到15世紀(jì),阿拉伯?dāng)?shù)學(xué)家阿爾·卡西才以“精確到小數(shù)點(diǎn)后17位”打破了這一紀(jì)錄。
代表“圓周率”的字母π是第十六個希臘字母的小寫。也是希臘語 περιφρεια(表示周邊,地域,圓周)的首字母。1706年英國數(shù)學(xué)家威廉·瓊斯(William Jones, 1675-1749)最先使用“π”來表示圓周率。1736年,瑞士數(shù)學(xué)家歐拉(Leonhard Euler, 1707-1783)也開始用表示圓周率。從此,π便成了圓周率的代名詞。
π為什么是常數(shù)?
介紹完一些關(guān)于π的來歷后,我準(zhǔn)備著手沿著古人的方式去尋找π,但此時我發(fā)現(xiàn)忽略了一個重要的前提條件——為什么π是一個常數(shù)?即為什么所有圓的周長和直徑之比為一個定值,這一點(diǎn)似乎并不能夠自然而然地就得到。因此在尋找這個常數(shù)之前,先要做的應(yīng)當(dāng)是證明“圓的周長與直徑之比確實是一個常數(shù)”。
如上圖所示,以點(diǎn)O為圓心作兩個半徑不同的圓,小圓的半徑為r1,周長為c1;大圓的半徑為r2,周長為c2。分別作兩個圓的內(nèi)接正n邊形(n為偶數(shù)),邊長分別為k1和k2,且保證正兩個n邊形過圓心的對角線重合。
那么有OA:OD=OB:OC,∠AOB=∠COD,因此△OAB∽△OCD。
所以有k1/r1=k2/r2。
設(shè)小正n邊形和大正n邊形的周長分別為c1’和c2’,則有c1’=nk1,c2’=nk2。
所以有c1’/r1=c2’/r2。
由于當(dāng)n→∞時,c1’= c1, c2’= c2,即取極限或者說是逼近的思想,當(dāng)邊數(shù)區(qū)域無窮,內(nèi)接多邊形就近似是一個圓了,后面尋找π時還會再次用到這個思想。
所以就有c1/r1=c2/r2 ,表示的是:對于半徑不同的圓,其各自周長與半徑的比為定值,或者說為常數(shù),記該常數(shù)為2π,則圓的周長與直徑之比為π,當(dāng)然也是一個常數(shù),證明完畢。
好,既然圓的周長和直徑之比是一個常數(shù),下一步要做的就是去尋找這個常數(shù)或它的近似值了。
我們可以從書中、從網(wǎng)上、從各種我們能夠想到的渠道獲得這個神奇的常數(shù)。不過,如果只給你一支筆、一張紙,你能否找到它的近似值呢?
阿基米德的智慧
阿基米德(Archimedes, 287-212 BC) 在2200多年前就已經(jīng)通過計算得到了精度高達(dá)99.9%的π,在他那個年代還沒有定義小數(shù),甚至連“0”的定義都沒有(相傳“0”是到了公元5世紀(jì)才由印度人最先用于計算之中),那么他當(dāng)年是怎么計算π的呢?
Archimedes
287-212 BC
(圖片來源: Wikipedia)
在得到圓周率之前,阿基米德當(dāng)然無法知道一個圓的周長,但是他可以從他知道的開始,比如正方形(實際上他用的是正六邊形,為了演示方便,這里從正方形開始)。
(圖片來源: betterexplained)
對于上圖中一個已知直徑為1的單位圓(其周長即為π),可以以其直徑為邊長作出其外切正方形,也可以以其直徑為對角線作出其內(nèi)接正方形。不管圓的周長是多少,其總滿足大于內(nèi)接正方形的周長,小于外切正方形的周長。
外切正方形周長:
P4=1×4=4
內(nèi)接正方形周長根據(jù)勾股定理有:
p4≈0.7×4=2.8
假設(shè)現(xiàn)在π的大小未知,我們只能肯定π在2.8到4之間,先取個中間值作為π的估計值,約等于3.4。我們發(fā)現(xiàn)這樣精度很低,因為用4邊形來估算實在是太“粗糙”了,為了提高這種方法的精度,可以用邊數(shù)更多的正多邊形來逼近。
Archimedes pi
(圖片來源: Wikipedia)
可以看出,到了正八邊形時,內(nèi)接八邊形與外切八邊形之間的“間隙”比正方形的情況小了。此時π的估算值相對于正方形的情況會有一個精度上的提升。但是,現(xiàn)在的問題是:八邊形的周長如何計算?而且就算把八邊形的周長計算出來了,那16邊形、32邊形豈不是精度更高,那又該怎么計算?
正多邊形逼近
下面需要用到兩條基本定理:
定理一:半圓的內(nèi)接三角形為直角三角形,且直角頂點(diǎn)在圓周上。
定理二:圓的弦所對應(yīng)的圓周角為其所對應(yīng)的圓心角的一半。
定理一的證明,證明半圓的內(nèi)接三角形為直角三角形:
對于上圖,令半徑為r的半圓圓心在坐標(biāo)原點(diǎn),三角形的一邊為半圓直徑,一個頂點(diǎn)C在半圓的圓周上,坐標(biāo)為(x,y)。
則有:
根據(jù)勾股定理可知,∠ACB為90°。
定理二的證明:即“圓上同一根弦所對應(yīng)的圓周角為圓心角的一半”,可以用下圖證明:
對于△OBC,因為OB=OC,有β+β+2α=2β+2α=180°;對于△ABC,由定理一知: ∠ACB=90°,有:β+90°+γ=180°,即β+γ=90°,因此有γ=α。即圓上的一條弦所對應(yīng)的圓周角是其所對應(yīng)圓心角的一半。
對于內(nèi)接多邊形:
如下圖所示,設(shè)內(nèi)接多邊形的每個邊的邊長為Sn,每個邊對應(yīng)的圓心角為x。
根據(jù)定理一和二,可以得出,內(nèi)接多邊形的邊長Sn=sin(x/2)。
對于外切多邊形
如下圖所示,易得,外切多邊形的邊長為Tn=tan(x/2)。
所以,對于正方形
單位圓內(nèi)接正方形的周長為:
p4=4×sin[(360°/4)/2]= 2.8284271247
單位圓外切正方形的周長為:
P4=4×tan[(360°/4)/2]=4
而對于正八邊形
單位圓內(nèi)接正八邊形的周長為:
p8=8×sin[(360°/8)/2]= 3.0614674589
單位圓外切正八邊形的周長為:
P8=8×tan[(360°/8)/2]= 3.313708499
因此,對于正n邊形
單位圓內(nèi)接正n邊形的周長為:
pn=n×sin[(360°/n)/2]
單位圓外切正n邊形的周長為:
Pn =n×tan[(360°/n)/2]
對于我們來說,問題似乎已經(jīng)解決了,只要n足夠大,結(jié)果就會很精確,可以通過不停地增大n直到直達(dá)到想要的精度。
但是,又忽略了一個問題!阿基米德那個時代并沒有計算器,不像今天,想算sin或者tan,So easy~只需要按幾個鍵就行了。因此,直接用三角函數(shù)計算在當(dāng)時其實是行不通的!
得換換思路了!
阿基米德迭代算法
阿基米德不愧是數(shù)學(xué)大師。為了解決這一棘手的問題,阿基米德發(fā)明了一種“迭代算法”:
為了方便計算,將內(nèi)接和外切多邊形的邊數(shù)定為2n個,n為整數(shù),且n≥2,如下圖所示。
內(nèi)接2n邊形的邊長為Sn,則其周長為pn=2n·Sn;外切2n邊形的邊長為Tn,則其周長為Pn=2n·Tn。
如果令正2n邊形的邊長所對應(yīng)的圓心角為2θ,由上面的推導(dǎo)知:
內(nèi)接正2n邊形的邊長Sn=sin(θ)
外切正2n邊形的邊長Tn=tan(θ)
那么,正2n+1邊形的邊長所對應(yīng)圓心角為θ,由上面的推導(dǎo)知:
內(nèi)接正2n+1邊形的邊長Sn+1=sin(θ/2)
外切正2n+1邊形的邊長Tn+1=tan(θ/2)
有以下遞推公式:
由此,可以計算外切正2n+1邊形的周長Pn+1:
以及內(nèi)接正2n+1邊形的周長pn+1:
即:
可以注意到的是:
Pn+1是pn與Pn的“調(diào)和平均數(shù)”;
pn+1是pn與Pn+1的“幾何平均數(shù)”。
通過這樣的遞推公式,可以直接以內(nèi)接及外切正2n邊形的周長來計算內(nèi)接及外切正2n+1邊形的周長,成功避免了三角函數(shù)的引入。
通過遞推公式,可以計算得到以下結(jié)果:
可以看出,當(dāng)正多邊形的邊數(shù)到達(dá)64時,已經(jīng)有了不錯的精度,而阿基米德當(dāng)年用的是正六邊形,方法是一樣的,他計算了正12邊形、正24邊形、正48邊形和正96邊形。那他為什么沒有繼續(xù)算下去?
前面已經(jīng)說了,公元前250年人們還沒有發(fā)明小數(shù),人們只能用分?jǐn)?shù)來近似各個根號項所得到的無理數(shù),當(dāng)近似項增多,誤差就會隨之增大,在這種情況下,阿基米德算到了正96邊形,得到π的值在223/71~22/7之間,計算精度達(dá)到了99.9%,在那個時代已經(jīng)是很高的精度了。
所以在其后的很長一段時間里,人們用22/7來近似圓周率,取的正是阿基米德計算結(jié)果所在區(qū)間的上界。
中國人的貢獻(xiàn)
不過,后面有人發(fā)現(xiàn)了一個神秘的分?jǐn)?shù):355/113,其精度居然達(dá)到了99.99999%,而發(fā)現(xiàn)這個數(shù)的人正是中國南北朝時期數(shù)學(xué)家祖沖之。時間大概在公元480年左右。他給出了兩個分?jǐn)?shù):密率355/113和約率22/7。顧名思義就是密率精度高,約率的精度稍低一些。
祖沖之(429-500)
(圖片來源: Wikipedia)