- 10
- 0
- 约2.96千字
- 约 5页
- 2023-04-30 发布于上海
- 举报
正 n 边形的面积(外接圆半径为 1)为 n/2*sin(2*pi/n)。只要n 够大,我们的pi 就够精确。这里pi 近似等于内接正n 边形面积。
一下为代码:
import math
def pivalue(n):
return n/2*math.sin(2*math.pi/n)
第一句,有一个 import ,是为了加载 math 模块,math 模块里定义了各种数学函数与实现。可以使用 dir(math) 来查看相关信息。这样添加了模块math 后,就可以像math.sin(x)这样使用sin 函数。看起来是不是很简单。
这个先放在一边,有人会问,你这什么程序,你用pi 的值来计算pi 的值,哪有这样的啊。呵呵,我知道错了, 那我现在先假设我们有办法来计算外接正多边形的面积了好吧,但是精度一定不会比我们这个算法高。
运行一个值看看,
pivalue(10) 2.9389262614623659
好像精度不行啊。我们换一种方式来 ,刚计算的是外接圆的面积,那这次我们用内切圆看看。内切圆面积(半径 1)用外切正n 边形面积近似。
外切正n 边形面积:n*tan(pi/n).
这些都可以从sin(x)~x, 及 tan(x)~x 看出。
同样我们也写一个pivalue1 程序。为了方便我们建立一个模块,或者说新建一个.py 文件,类似于MATLAB 众的m 文件。如下:
#
原创力文档

文档评论(0)