古人是如何寻找到π的?

π的历史简介

众所周知,π=3.141592653…可以说,它是世界上最有名的无理常数了,代表的是一个圆的周长与直径之比或称为“圆周率”。公元前250年左右,阿基米德给出了“圆周率”的估计值在223/71~22/7之间,也即是在3.140845~3.142857之间。中国南北朝时期的著名数学家祖冲之(429-500)首次将“圆周率”精算到小数第七位,即在3.1415926和3.1415927之间,他提出的“密率与约率”对数学的研究有重大贡献。直到15世纪,阿拉伯数学家阿尔·卡西才以“精确到小数点后17位”打破了这一纪录。

代表“圆周率”的字母π是第十六个希腊字母的小写。也是希腊语 περιφρεια(表示周边,地域,圆周)的首字母。1706年英国数学家威廉·琼斯(William Jones, 1675-1749)最先使用“π”来表示圆周率。1736年,瑞士数学家欧拉(Leonhard Euler, 1707-1783)也开始用表示圆周率。从此,π便成了圆周率的代名词。

π为什么是常数?

介绍完一些关于π的来历后,我准备着手沿着古人的方式去寻找π,但此时我发现忽略了一个重要的前提条件——为什么π是一个常数?即为什么所有圆的周长和直径之比为一个定值,这一点似乎并不能够自然而然地就得到。因此在寻找这个常数之前,先要做的应当是证明“圆的周长与直径之比确实是一个常数”。

如上图所示,以点O为圆心作两个半径不同的圆,小圆的半径为r1,周长为c1;大圆的半径为r2,周长为c2。分别作两个圆的内接正n边形(n为偶数),边长分别为k1k2,且保证正两个n边形过圆心的对角线重合。

那么有OA:OD=OB:OC,∠AOB=∠COD,因此△OAB∽△OCD

所以有k1/r1=k2/r2

设小正n边形和大正n边形的周长分别为c1’和c2’,则有c1’=nk1c2’=nk2

所以有c1’/r1=c2’/r2

由于当n→∞时,c1’= c1 c2’= c2,即取极限或者说是逼近的思想,当边数区域无穷,内接多边形就近似是一个圆了,后面寻找π时还会再次用到这个思想。

所以就有c1/r1=c2/r,表示的是:对于半径不同的圆,其各自周长与半径的比为定值,或者说为常数,记该常数为2π,则圆的周长与直径之比为π,当然也是一个常数,证明完毕。

好,既然圆的周长和直径之比是一个常数,下一步要做的就是去寻找这个常数或它的近似值了。

我们可以从书中、从网上、从各种我们能够想到的渠道获得这个神奇的常数。不过,如果只给你一支笔、一张纸,你能否找到它的近似值呢?

阿基米德的智慧

阿基米德(Archimedes, 287-212 BC) 在2200多年前就已经通过计算得到了精度高达99.9%的π在他那个年代还没有定义小数,甚至连“0”的定义都没有(相传“0”是到了公元5世纪才由印度人最先用于计算之中),那么他当年是怎么计算π的呢?

Archimedes

287-212 BC

(图片来源: Wikipedia)

在得到圆周率之前,阿基米德当然无法知道一个圆的周长,但是他可以从他知道的开始,比如正方形(实际上他用的是正六边形,为了演示方便,这里从正方形开始)。

(图片来源: betterexplained)

对于上图中一个已知直径为1的单位圆(其周长即为π),可以以其直径为边长作出其外切正方形,也可以以其直径为对角线作出其内接正方形。不管圆的周长是多少,其总满足大于内接正方形的周长,小于外切正方形的周长。

外切正方形周长:

P4=1×4=4

内接正方形周长根据勾股定理有:

p4≈0.7×4=2.8

假设现在π的大小未知,我们只能肯定π在2.8到4之间,先取个中间值作为π的估计值,约等于3.4。我们发现这样精度很低,因为用4边形来估算实在是太“粗糙”了,为了提高这种方法的精度,可以用边数更多的正多边形来逼近。

Archimedes pi

(图片来源: Wikipedia)

可以看出,到了正八边形时,内接八边形与外切八边形之间的“间隙”比正方形的情况小了。此时π的估算值相对于正方形的情况会有一个精度上的提升。但是,现在的问题是:八边形的周长如何计算?而且就算把八边形的周长计算出来了,那16边形、32边形岂不是精度更高,那又该怎么计算?

正多边形逼近

下面需要用到两条基本定理:

定理一:半圆的内接三角形为直角三角形,且直角顶点在圆周上。

定理二:圆的弦所对应的圆周角为其所对应的圆心角的一半

定理一的证明,证明半圆的内接三角形为直角三角形:

对于上图,令半径为r的半圆圆心在坐标原点,三角形的一边为半圆直径,一个顶点C在半圆的圆周上,坐标为(x,y)。

则有:

根据勾股定理可知,∠ACB为90°。

定理二的证明:即“圆上同一根弦所对应的圆周角为圆心角的一半”,可以用下图证明:

对于△OBC,因为OB=OC,有β+β+2α=2β+2α=180°;对于△ABC,由定理一知: ∠ACB=90°,有:β+90°+γ=180°,即β+γ=90°,因此有γ=α。即圆上的一条弦所对应的圆周角是其所对应圆心角的一半。

对于内接多边形:

如下图所示,设内接多边形的每个边的边长为Sn,每个边对应的圆心角为x

根据定理一和二,可以得出,内接多边形的边长Sn=sin(x/2)。

对于外切多边形

如下图所示,易得,外切多边形的边长为Tn=tan(x/2)。

所以,对于正方形

单位圆内接正方形的周长为:

p4=4×sin[(360°/4)/2]= 2.8284271247

单位圆外切正方形的周长为:

P4=4×tan[(360°/4)/2]=4

而对于正八边形

单位圆内接正八边形的周长为:

p8=8×sin[(360°/8)/2]= 3.0614674589

单位圆外切正八边形的周长为:

P8=8×tan[(360°/8)/2]= 3.313708499

因此,对于n边形

单位圆内接正n边形的周长为:

pn=n×sin[(360°/n)/2]

单位圆外切正n边形的周长为:

Pn =n×tan[(360°/n)/2]

对于我们来说,问题似乎已经解决了,只要n足够大,结果就会很精确,可以通过不停地增大n直到直达到想要的精度。

但是,又忽略了一个问题!阿基米德那个时代并没有计算器,不像今天,想算sin或者tan,So easy~只需要按几个键就行了。因此,直接用三角函数计算在当时其实是行不通的!

得换换思路了!

阿基米德迭代算法

阿基米德不愧是数学大师。为了解决这一棘手的问题,阿基米德发明了一种“迭代算法”:

为了方便计算,将内接和外切多边形的边数定为2n个,n为整数,且n≥2,如下图所示。

内接2n边形的边长为Sn,则其周长为pn=2n·Sn;外切2n边形的边长为Tn,则其周长为Pn=2n·Tn

如果令正2n边形的边长所对应的圆心角为2θ,由上面的推导知:

内接正2n边形的边长Sn=sin(θ)

外切正2n边形的边长Tn=tan(θ)

那么,正2n+1边形的边长所对应圆心角为θ,由上面的推导知:

内接正2n+1边形的边长Sn+1=sin(θ/2)

外切正2n+1边形的边长Tn+1=tan(θ/2)

有以下递推公式:

由此,可以计算外切正2n+1边形的周长Pn+1

以及内接正2n+1边形的周长pn+1

即:

可以注意到的是:

Pn+1pnPn的“调和平均数”;

pn+1pnPn+1的“几何平均数”。

通过这样的递推公式,可以直接以内接及外切正2n边形的周长来计算内接及外切正2n+1边形的周长成功避免了三角函数的引入

通过递推公式,可以计算得到以下结果:


可以看出,当正多边形的边数到达64时,已经有了不错的精度,而阿基米德当年用的是正六边形,方法是一样的,他计算了正12边形、正24边形、正48边形和正96边形。那他为什么没有继续算下去?

前面已经说了,公元前250年人们还没有发明小数,人们只能用分数来近似各个根号项所得到的无理数,当近似项增多,误差就会随之增大,在这种情况下,阿基米德算到了正96边形,得到π的值在223/71~22/7之间,计算精度达到了99.9%,在那个时代已经是很高的精度了。

所以在其后的很长一段时间里,人们用22/7来近似圆周率,取的正是阿基米德计算结果所在区间的上界。

中国人的贡献

不过,后面有人发现了一个神秘的分数:355/113,其精度居然达到了99.99999%,而发现这个数的人正是中国南北朝时期数学家祖冲之。时间大概在公元480年左右。他给出了两个分数:密率355/113和约率22/7。顾名思义就是密率精度高,约率的精度稍低一些。

祖冲之(429-500)

(图片来源: Wikipedia)

密率355/113是一个很好的分数近似值,因为至少要取到52163/16604才能够比密率的精度更高一点,但这样的分数就显得不太实用了。完美主义者可能会纠结于没有找到精确的π,但要知道,发现π是一个永远都不会停止的过程,这也是其魅力之所在。没有最精确,只有更精确。

寻找π的过程就是这样神奇,一开始它的模型看起来很“粗糙”,随着边数的增多,边长的细化,计算结果越发逼近理想值,其实这就是“微积分”思想的雏形。而且有意思的是,微积分的出现最后又导致了很多更好的计算π的公式的出现。


Reference

[1]Archimedes

https://en.wikipedia.org/wiki/Archimedes

[2]Zu Chongzhi

https://en.wikipedia.org/wiki/Zu_Chongzhi

[3]Prehistoric Calculus: Discovering Pi

https://betterexplained.com/articles/prehistoric-calculus-discovering-pi/


发表评论

电子邮件地址不会被公开。 必填项已用*标注