Python Turtles颜色填充

时间:2019-04-17 19:31:00

标签: python turtle-graphics

这可能是我的三角形出现的问题,也许边缘没有正确连接,但是我的三角形没有填充我想要的三角形:

#Draw
bob.pen(fillcolor="#b11874")
bob.pensize(3)
#Sierpinski 1
bob.begin_fill()
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.end_fill()
#colouring2
bob.pen(fillcolor="#ff6600")
bob.begin_fill()
bob.left(180)
bob.forward(75)
bob.right(60)
bob.forward(75)
bob.right(120)
bob.end_fill()

第一个填充效果很好,并且将三角形着色为紫色,但是当我开始第二个填充时,它将三角形切成两半。

我正在绘制Sierpinskis,并尝试为外部三角形着色一种颜色,为内部三角形着色。这是完整的代码:

https://drive.google.com/file/d/1BaPrU0N4AaVL9w4zp9WIe-c4LOFp9EPO/view?usp=sharing,如果您想自己进行测试。

1 个答案:

答案 0 :(得分:0)

您没有显示如何想要将三角形着色,因此很难确定正确的答案。基本上,如果您不填充第二次未填充的 closed 多边形,那么turtle会在填充之前为您连接第一个和最后一个点。因此,如果我们希望底部填充不同的颜色,我们可以这样做:

import turtle         
bob = turtle.Turtle()
window = turtle.Screen()

# Draw
bob.pen(fillcolor="purple")
bob.pensize(3)

# Sierpinski 1
bob.begin_fill()
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.left(120)
bob.forward(150)
bob.end_fill()

# colouring 2
bob.pen(fillcolor="orange")
bob.begin_fill()
bob.left(180)
bob.forward(75)
bob.right(60)
bob.forward(75)
bob.right(60)
bob.forward(75)
bob.end_fill()

window.exitonclick()

我也没有在此处关闭多边形,只是让乌龟连接端点。

enter image description here