【问题标题】:How to draw a semicircle in Python turtle only如何仅在 Python 乌龟中绘制半圆
【发布时间】:2015-06-09 01:51:57
【问题描述】:

如何仅在 python turtle 中绘制半圆(半圆)?

我只能使用 Python 乌龟。我已经尝试寻找资源,但没有找到只使用 Python turtle 的资源。

【问题讨论】:

    标签: python-2.7 turtle-graphics


    【解决方案1】:

    请参阅圆圈上的Python turtle reference。 例如,对于半径为 100 的半圆,它将是:

    import turtle
    turtle.circle(100,180)
    

    【讨论】:

      【解决方案2】:

      尝试以下方法:

      import turtle
      t = turtle.Pen()
      t.left(90)
      for x in range(180):
          t.forward(1)
          t.right(1)
      t.right(90)
      t.forward(115)
      

      【讨论】:

      • 你是怎么想出118直径的?由于海龟每次向前移动 1,我预计直径为 360 周长/math.pi,接近 115 可以正常工作 - 118 超调(如果你隐藏海龟本身。)
      • 我不知道@cdlane。那是2年前。我将编辑为 115。
      【解决方案3】:

      你也可以只使用圆圈来做到这一点。 turtle.circle(radius, extent,steps) 例如。

      turtle.circle(50,180) # - step is optional 
      

      【讨论】:

        【解决方案4】:

        为了完整起见,一种使用 stamping 而不是 drawing 来创建带有海龟的半圆的方法:

        from turtle import Turtle, Screen
        
        screen = Screen()
        
        DIAMETER = 200
        STAMP_SIZE = 20
        BACKGROUND = screen.bgcolor()
        
        yertle = Turtle('circle', visible=False)
        yertle.penup()
        
        yertle.shapesize(DIAMETER / STAMP_SIZE)
        yertle.color('black', BACKGROUND)  # drop second argument for a filled semicircle
        yertle.stamp()
        
        yertle.shape('square')
        yertle.shapesize(stretch_len=(DIAMETER / 2) / STAMP_SIZE)
        yertle.color(BACKGROUND)
        yertle.forward(DIAMETER / 4)
        yertle.stamp()
        
        screen.exitonclick()
        

        它有明显的缺点,但有时它正是你所需要的。

        【讨论】:

          【解决方案5】:

          如果你还想要半圆下的一条线(比如月亮),试试这个

          import turtle
          turtle.circle(100, 180) #Draws a circle with 180 degrees and 100 pixels radius(a half circle)
          turtle.left(90)
          turtle.forward(200)
          

          【讨论】:

            【解决方案6】:

            用python海龟画半圆很简单,你要做的就是

            import turtle
            tom=turtle.Turtle()
            tom.circle(100,180)
            

            对于圆,第一个数字是圆的半径,第二个数字是您想要绘制半圆的量,您可以使用 180 度,如上面的代码所示,但您可以做四分之一一个圆然后如果你想连接半圆只需左转然后向前半径*2

            【讨论】:

              猜你喜欢
              • 2015-07-04
              • 2023-03-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2022-01-06
              • 1970-01-01
              相关资源
              最近更新 更多