Python用积分思想计算圆周率

Posted 目前在腾讯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python用积分思想计算圆周率相关的知识,希望对你有一定的参考价值。

[文本出自天外归云的博客园]

早上起来突然想求圆周率,1单位时圆的面积。

代码如下:

from math import pow, sqrt


def calc_circle_s_with(r, dy, x_slices):
    x_from_start_to_cc = sqrt(1 - pow(dy, 2))
    dx = x_from_start_to_cc / x_slices
    x_to_edge = 1 - x_from_start_to_cc
    quarter_circle_s = 0
    while x_to_edge < 1:
        rect_s = dy * dx
        quarter_circle_s += rect_s
        x_to_edge = x_to_edge + dx
        dy = sqrt(1 - pow((1 - x_to_edge), 2))
    circle_s = 4 * quarter_circle_s
    print(circle_s)


calc_circle_s_with(1, 0.0001, 10000000)

运行结果接近3.1415926,dy传的越小,x_slices传的越大,就越接近。

半径为:1

初始小矩形到圆周的距离:1 - x_from_start_to_cc

其中dy代表四分之一圆中初始小矩形的高度,x_slices代表小矩形的宽度:(1 - x_from_start_to_cc) / x_slices

四分之一圆的面积积分为:quarter_circle_s

以上是关于Python用积分思想计算圆周率的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript计算圆周率(解析几何+定积分)

怎样计算定积分的近似值?

今天用python完成的是带进度条的圆周率计算

现代计算机是如何计算圆周率的?

求用python计算圆周率小数点后五万位的最快的方法,需要代码,谢谢

圆周率近似值的计算方法都有哪些啊