【问题标题】:Draw circle with turtle module用海龟模块画圆
【发布时间】:2021-10-04 18:02:41
【问题描述】:
当我将我的世界坐标设置为 (-2,-2,2,2) 并尝试使用半径为 1 的 circle 函数绘制一个圆时,绘制的图形是一个 12 边多边形而不是一个圆。我如何使它成为一个圆圈?
【问题讨论】:
标签:
python
turtle-graphics
【解决方案1】:
如果您不提供显式的 steps 参数,turtle circle() 方法会尝试根据 radius 参数为您计算一个最佳参数。那个计算大致是:
steps = 1 + min(11 + abs(radius)//6, 59)
这意味着steps 的范围从最小 12 到最大 60。但是 circle() 方法不会针对 setworldcoordinates() 进行调整,因此半径为 1 的最小步数为 12。一个简单的解决方法是显式提供 steps 参数:
from turtle import Screen, Turtle
screen = Screen()
screen.setup(500, 500) # force a square window
screen.setworldcoordinates(-2, -2, 2, 2)
turtle = Turtle()
turtle.penup()
turtle.sety(-1) # center the circle
turtle.pendown()
turtle.circle(1, steps=60)
screen.exitonclick()