Python演示正多边形逼近圆周过程中计算圆周率近似值

2020-06-15 15:32:07 浏览数 (1)

问题描述:

很久以前推送过这样一篇文章,Python使用matplotlib绘制正多边形逼近圆周

很容易得知,当正多边形的边数变多时,多边形的周长会越来越接近外接圆的周长。

对于圆周,我们知道周长与直径的关系,也就是下面的计算公式

(1)改写如下

(2)如果使用正多边形模拟圆周的话,把正多边形的周长和外接圆的半径带入上面的公式,可以得到圆周率的近似值,边数越多,计算得到的圆周率近似值越接近真实值。

假设我们使用正n边形模拟圆周,上图中O为圆心,A和B是正多边形上两个相邻的顶点,这两个点必然在圆周上,OD垂直于AB,那么OD平分角AOB,而角AOB=360/n。于是有,上图中多边形边长的一半,也就是AD,等于半径OA与角AOD正弦值的乘积,也就是

(3)那么多边形周长、外接圆直径和上图中角AOD之间的关系为

(4)联立公式(2)和公式(4),可得

根据上面的结论,编写程序如下:

运行结果如下:

0 人点赞