如何在海龟中不使用 write() 来绘制填充字母(例如 OLEG)

问题描述 投票:0回答:1

我创建了一个代码并轻松获得了字母,但现在我才明白我不知道如何让它们填充。我只做了一个E和一个L,但我不明白如何让O和G填充。

这是我用 G 尝试过的。

import turtle
t = turtle.Turtle()
t.speed(50) # 1:slowest, 3:slow, 5:normal, 10:fast, 0:fastest

t.circle(-100,-180)
t.right(90)
t.penup()
t.setpos(0, 0)
t.pendown()
t.right(180)
t.forward(20)
t.right(270)
t.circle(-80,-180)
t.right(90)
t.forward(60)
t.left(90)
t.forward(40)
t.right(90)
t.forward(20)
t.right(90)
t.forward(60)
t.right(241)
t.circle(80,-100)


t.hideturtle()
python draw turtle-graphics fill python-turtle
1个回答
0
投票

要使形状可填充,需要以闭合电路进行绘制,就像用手绘制一样,无需将笔从纸上抬起,在同一点开始和结束,并且不交叉任何已绘制的线。

下面的代码打破了这个规则:

t.penup()
t.setpos(0, 0)
t.pendown()

相反,请保持笔向下并以一条连续的路径描绘形状的轮廓:

from turtle import Screen, Turtle


t = Turtle()
t.begin_fill()
t.circle(-100, -270)
t.right(90)
t.forward(60)
t.left(90)
t.forward(20)
t.left(90)
t.forward(40)
t.left(72)
t.circle(78, -250)
t.right(90)
t.forward(20)
t.end_fill()
Screen().exitonclick()

这里的G形状并不漂亮,只是一个快速猜测,但至少它显示了操作原理。改善外观留作练习。

© www.soinside.com 2019 - 2024. All rights reserved.