如何使用Turtle图形将星形插入智利旗帜

时间:2017-12-12 23:59:03

标签: python-3.x turtle-graphics

我使用乌龟图形,我能够创造出大部分智利国旗。到目前为止,这是我的代码。

import turtle


def rectangle(wdth, ht, c):
  turtle.fillcolor(c)
  turtle.begin_fill()
  for i in range(2):
    turtle.forward(ht)
    turtle.left(90)
    turtle.forward(wdth)
    turtle.left(90)
   turtle.end_fill()


rectangle(50, 250, "red")

turtle.left(90)
turtle.forward(50)
turtle.right(90)

rectangle(50, 100, "blue")
turtle.right(360)
turtle.forward(50)

rectangle(50, 200, "white")

turtle.done()

我想要一个白色的星星放在蓝色的盒子里,我似乎无法把它弄好。

1 个答案:

答案 0 :(得分:1)

我的第一个建议是你在维基百科中查找智利国旗并更正你的宽高比。

使用海龟的axis函数绘制星星是微不足道的:

figure(1)
for t=1:1:length(s2)
    plots{t}=plot(s1(t),s2(t),'ro','MarkerSize',10);
    axis([0 xvel*6 0 double(h)])
    pause(0.001)
end

但是如果/当我们想让它成为填充的明星时会出现并发症。在tkinter的Windows实现中,填充的星应该看起来很好。但是在基于Unix的实现上,你得到了这个:

enter image description here

为了在两种环境中获得合适的明星,我们必须以不同的方式绘制它。我建议你搜索SO标签[turtle-graphics]和术语'star'以查看可能的解决方案。这是我的个人方法,即使用标记而不是绘图来制作星形和旗帜本身:

.circle()

enter image description here

当然,您可以使用冲压来混合和匹配绘图。