python - 在python中怎么可能是一个圆圈?

标签 python geometry turtle-graphics

这是 Thinkpython 2e 书中的代码。

 import turtle
 import math

 bob = turtle.Turtle()

 def polygon(t, n, length):
     angle = 360 / n
     for i in range(n):
         t.fd(length)
         t.lt(angle)    

 def circle(t, r):
     circumference = 2 * math.pi * r
     n = 50
     length = circumference / n
     polygon(t, n, length)

 circle(bob,50)
 turtle.mainloop()

我不明白怎么可能是一个圆,我认为它会是一个 50 边形的多边形,对吗?

最佳答案

一个圆有无限多个点,一个屏幕有有限多个像素。你是正确的,你不能在屏幕上画出真正的圆圈。这并不是说绘制多边形是在屏幕上逼近圆形的唯一方法。正如@Qwerty 在评论中正确指出的那样,您也可以使用三角函数来做到这一点。

然而,用多边形近似圆是一种古老的方法,也是近似圆周率的经典方法。此外 -- 这对 turtle 来说是一项有趣的练习。

关于python - 在python中怎么可能是一个圆圈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986718/

相关文章:

algorithm - 非凸多边形 - 使用凸包算法进行预处理

Python:是否存在已经找到角度和两点之间距离的模块?

Python Turtle Graphics,如何在一个区间内绘制函数?

python - 如何找到完成的表格扫描图像的轮廓?

python - sklearn.linear_model.Lasso 不返回平凡的解决方案

python - 从两个列表创建字典?在取平均值时?

python - 无法连接 'str' 和 'list' 对象

Python - OpenCV - 使用 HoughCircles 进行圆检测

python - 将 turtle 输出保存为 jpeg

python - 改变 turtle 的外观