这是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在评论中正确指出的那样,你也可以使用trig函数.
然而,用多边形逼近圆是一种古老的方法,并且是pi近似的经典方式.此外 – 对于海龟来说这是一个有趣的运动.