科学松鼠会 ? 在祖冲之以前

来源:百度文库 编辑:神马文学网 时间:2024/03/28 19:10:03
在祖冲之以前Comments>>|下面一大一小两个圆,光凭肉眼看,你能说出哪一个的 周长/直径 之比更大吗?

  

许多年前,小学数学老师说所有的圆周长和直径的比值是一样的。我信了,可是很长时间都不明白为什么。而且,即使明白了,又该如何去计算这个值是多少呢?

在我想出一个方法之前,很不幸地被历史老师提前告知了正确答案:咱老祖宗早就研究过这个了。怎么样,这个老头很眼熟吧,教室的墙上经常可以见到他。这是世界上第一个把圆周率精确到小数点后第6位的祖冲之,这纪录保持了上千年,才被欧洲人打破。哇,那他是怎么算的呢?——历史老师好像对这个不太感兴趣。

后来才知道,祖冲之的算法仍然是个未决的悬案。古书的记载只有《隋书·律历志》中一段文字:“宋末,南徐州从事史祖冲之,更开密法,以圆径一亿为一丈,圆周盈数三丈一尺四寸一分五厘九毫二秒七忽,朒数三丈一尺四寸一分五厘九毫二秒六忽,正数在盈朒二限之间。密率,圆径一百一十三,圆周三百五十五。约率,圆径七,周二十二。”也就是说,人们只知道祖冲之给出了圆周率介于3.1415926和3.1415927之间这个答案,以及两个π的近似数355/113和22/7。其他就没有线索了。

咦,这个祖先生是南北朝年间的人物,在他之前的人类文明史已有三千多年,在他之后又有一千几百年了。可为什么一提到圆周率人们想起的就是他呢?只是凭着这么简略的一小段,既没说“为什么”又没说“怎么算”的记载?合书四顾心茫然,看来得动手动脚找东西。

从哪里入手呢?嗯,一个人用什么办法解决问题可以从他的知识背景看出些端倪。他读过哪些书,在朝廷里当什么官,或者做过什么工作,都能给我们一些提示。祖冲之家学渊源深厚,祖父是南朝主管皇家土木营建的大匠卿,而冲之本人精通历法和音律。这些技术全都需要算学的功底,可现在已经很难考证当时的学界推崇哪些算学书籍。不过,晚些时候的唐代国子监里把一套《算经十书》作为标准教材,包括《九章算术》、《周髀算经》、《海岛算经》、《孙子算经》、《夏侯阳算经》、《张丘建算经》、《缀术》、《五经算术》、《五曹算经》、和《缉古算经》,用于教习和考试。其中《缀术》是祖冲之所撰,前面六部的成书要早于他的时代。既然被后来的朝廷选为官方教材,说明这些著作的权威性是比较大的,祖冲之很可能熟习了前几部古书中的计算技巧。那么其中有没有人提到过计算圆周率呢?有。而且看这个人留下的文字,闪烁的智慧丝毫不逊于后人。很可能就是这些思想,把祖冲之引向了辉煌的6位小数。

这个人叫刘徽,生于三国时期,为《九章算术》作了很详细的注解。《九章算术》在现代的名声远远盖过算经十书里其他几部,大部分功劳得归于刘先生。其余枝节且按下不表,单看他如何拆解圆周的玄机。

 

在刘徽之前的古代文字记载中,圆周率是“径一而周三”,也就是整3倍。从中国人的文化传统看,这个值很可能是匠人们(尤其是木匠)在劳动中的经验总结。想象一下,许许多多的匠人砍下大树为房屋搭柱子,他们要比较长度、面积、体积这些最基本的几何关系。在无数次测量中,柱子横截面的周长和直径之比总是在3左右,有时多点有时少些。搭房子不需要计较差的那一点零头,于是业界就把这值取为三,用起来也十分顺当。

《九章算术》里有许多关于圆的问题,原作者给出的答案都是基于这个比值3算的。好,我们在这里停一停。咳咳,你是一个生活在21世纪的新好青年,你知道圆周率至少是3.14。如果有一天寻秦记不幸在你身上上演,被派到赵国去说服他们的木匠,说柱子周长比直径的三倍还要略大,该怎么完成任务呢? 备上一条量衣皮尺去量给他们看么?你有比这更好的建议吗?

刘徽敏锐地察觉到了这个“3”的谬误,批注在《九章》相应的题目下(方田术·三十二)。他的理由聪明又简洁:在圆内画一个内接正六边形,如果圆直径是1的话,这个六边形的周长就是3。而六边形的周长显然比圆小,那么圆周和直径之比肯定大于三了。

更进一步地,从比较正六边形和圆的思路出发,刘徽找到了一个计算圆周长的方法——割圆术,即不断增加圆内接多边形的边数。他说,“割之弥细,所失弥少。割之又割,以至于不可割,则与圆周合体而无所失矣。”边数越多,周长和圆周越接近;无限地割下去,就可以无限趋近于圆周。这样,算出多边形的周长作为圆周长的近似值,除以直径,就得到圆周率的近似值了。边数越多,就越精确。

这个思路并不复杂,落实起来却有个问题需要解决:怎么实现“割之弥细”这个过程呢?在地上画一个大大的圆,然后在圆里画一个很多很多边的多边形,然后计算多边形的周长?你能告诉我96边形的周长有多少吗?有点难。直接算很多边的形状有点无从下手。刘徽迂回了一下,使用递推的办法,从边数少的形状开始往上增加。观察下图:对于一个圆内接正多边形,把每条边对应的圆弧平分,就能得到一个边数是原来两倍的正多边形。如果我们从原来的边长AB能推出新多边形的边长AC,问题就解决了。

 

因为C是个平分点,整个图形是对称的,那么OC就垂直平分AB,也就是说ADC是一个直角三角形。其中AD的长度是AB的一半,很好算;只要求出CD就能用勾股定理得到AC。而CD又恰好在半径OC上,那么CD等于半径减去OD。OD是多少?哈,ODA也是个直角三角形呀,而且OA就是半径,AD又已知,OD不就用勾股定理算出来了吗?跨过这道坎,通往圆周率的路上就只剩下计算了。

刘徽选择了正六边形作为递推的起点,因为它的边长很容易算,就等于半径的长度,在图中就是OA=AB。把半径设为1尺,他一直算到了96边形的周长。他由96边形求出来的圆周率是3.14。

哦,原来祖冲之还没生下来的时候,算圆周率的方法就已经出来了!而且只要努力地“割之又割”,总能算到更精确的值。虽然祖冲之的结果比3.14多了四位小数,可开创性的工作是来自刘徽嘛!即使祖先生有更好的算法,也已经遗失无记载,而刘先生的评注清清楚楚地写在《九章算术》里面。为什么前者的知名度比后者高那么多呢?挂在墙上的应该是刘先生的画像才对啊!

冷静,冷静。如果数一下从六边形到96边形,不过是6、12、24、48、96,迭代了四次而已,可是计算量已经非常惊人了。那时连算盘都还没发明(我们引以为豪的算盘是宋朝以后才出现的),人们的工具是“算筹”。计算规则和我们今天用阿拉伯数字进行笔算的方法大同小异,只不过每个数字都用相同数目的小棍儿来代替。想象一下这会产生什么麻烦吧:你写在纸上的3决不会自己变成了12,可是如果摆在个位的三根小棍,有一根不小心被碰到了十位上,接下来的计算就差得十万八千里了。最麻烦的是,在使用勾股定理求边长的时候得开平方。想一想,用一堆小棍子手动开平方啊!从六边形到96边形,这平方一开起来可是昏天暗地,如果边长还带着小数点。。。所以,虽然祖冲之很可能直接采纳了刘徽的思路,他可不是吃干饭捡便宜的闲人。你可以作个弊,用计算器来试试,看祖先生精确到第六位需要一个几边形,算出它的边长需要给哪些数开几次平方。当然,还不过瘾的话可以自己手动开一个看。

 更有趣的,祖冲之不仅算得准确无误,他给出的还是上限(盈)和下限(朒),“正数在盈朒二限之间”。这显然是一个考虑更周详的提法。不禁让人猜想,祖先生是不是用外切多边形和内接多边形分别逼近,来求出一大一小两个边界的呢?还有那两个作为近似圆周率的355/113和22/7,是怎么来的呢?尤其这个22/7,和地球另一边一个遥远希腊国度里的数学家,阿基米德,在公元前2世纪得到的结果一模一样。他们的思想会不会有巧合?不得而知,不得而知。 

 

我很庆幸读过了刘徽对《九章算术》的注解,很庆幸知道了祖冲之并不是唯一对圆周率做出大贡献的中国人,还有个牛人能站出来和他“PK”。这些为我解开了不少长久的疑惑。不过,最无聊的人大概还是我,拿两个不同朝代的人出来说三道四。他们本来哪有什么PK关系,明明是前辈开垦,后辈传承的一个好例子。我想祖先生一个人待在墙上,看小学生们呆滞地背诵他的世界第一,也许会倍感寂寞吧。他会不会更想和那些伟大的不该被忽略的先辈们站在一起,看这悠远的学术血脉重获新生? 

 

推荐阅读:
关于刘徽对圆周率的注解,这里有一篇文很靠谱,但愿大家打得开: 

http://www.nsc.gov.tw/_newfiles/popular_science.asp?add_year=2004&popsc_aid=142