【问题标题】:Draw circle with turtle module用海龟模块画圆
【发布时间】:2021-10-04 18:02:41
【问题描述】:

当我将我的世界坐标设置为 (-2,-2,2,2) 并尝试使用半径为 1 的 circle 函数绘制一个圆时,绘制的图形是一个 12 边多边形而不是一个圆。我如何使它成为一个圆圈?

【问题讨论】:

  • 欢迎来到 Stack Overflow。请通过tour 了解 Stack Overflow 的工作原理,并阅读How to Ask 了解如何提高问题的质量。然后edit您的问题将您的源代码包含为minimal reproducible example,其他人可以对其进行测试。还要添加用于海龟图形的程序/语言/引擎。

标签: 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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多