我正在尝试使用Python中的海龟图形来绘制可汗学院徽标,但在尝试绘制花朵时却卡住了。我应该使用函数来做到这一点吗?还是我应该画两个半圈来实现?
我已经开始尝试半圈,但无法弄清楚。
# circle
t.color("white")
t.up()
t.goto(-25,0)
t.down()
t.begin_fill()
t.circle(60)
t.end_fill()
# blossom
t.up()
t.goto(-25,-150)
t.down()
t.rt(45)
输出应类似于可汗学院徽标。
答案 0 :(得分:0)
我已经开始尝试半圈,但仍然不能 弄清楚。
您画了一个圆圈,但是上面的代码中缺少半个圆圈的尝试。您应该提供尽可能多的尝试。
可以仅使用乌龟的circle()
方法绘制此徽标。但是,您需要完全理解所有三个参数:
circle(radius, extent=None, steps=None)
特别是,使用负数radius
的含义。 (了解否定的extent
也不会有伤害。)
我能够简单地将徽标弄出来:
from turtle import Screen, Turtle
RADIUS = 100
screen = Screen()
screen.colormode(255)
turtle = Turtle(visible=False)
turtle.speed('fastest') # because I have no patience
turtle.penup() # we'll use fill instead of lines
turtle.color(20, 191, 150) # greenish color
turtle.sety(-RADIUS) # center hexagon
turtle.begin_fill()
turtle.circle(RADIUS, steps=6) # draw hexagon
turtle.end_fill()
turtle.color('white') # interior color
turtle.sety(2 * RADIUS / 11) # position circle (head)
turtle.begin_fill()
turtle.circle(2 * RADIUS / 9) # draw circle (head)
turtle.end_fill()
turtle.forward(5 * RADIUS / 8)
turtle.right(85)
turtle.begin_fill()
turtle.circle(-13 * RADIUS / 20, 190)
turtle.right(85)
turtle.circle(-13 * RADIUS / 20, 90)
turtle.left(180)
turtle.circle(-13 * RADIUS / 20, 90)
turtle.end_fill()
screen.exitonclick()
我建议您做的是检查Wikipedia entry for Hexagon并找出六边形的所有有用内部点,这些点可能有助于您设计基于几何的解决方案。您知道可以做到的,现在就做好吧。