试图用乌龟画这幅画,只是停留在画正方形的最后一点成一个圆上。 squares to make circle 到目前为止,我尝试仅画出每条直线的点,但由于存在一些不一致之处,所以需要花费很长时间。到目前为止,我是
def square(side_length):
for i in range(4):
turtle.fd(side_length)
turtle.lt(90)
square (150)
turtle.penup()
####New Square###
turtle.left(90)
turtle.forward(75)
turtle.left(90)
turtle.forward(30)
turtle.right(180)
turtle.right(45)
turtle.pendown()
def square(side_length):
for i in range(4):
turtle.fd(side_length)
turtle.lt(90)
square (150)
这将绘制两个正方形。现在,我只需要找出一种方法可以将两个正方形顺时针旋转30度4次。我可以使用一个函数来执行此操作吗?还是只需要做大量数学运算并计算得出每条直线?
答案 0 :(得分:1)
尽管其名称为turtle.circle
,但可用于绘制其他常规多边形。它也可以仅用于绘制多边形的一部分。结合上下提笔,您可以轻松绘制一系列共享同一中心的旋转形状。
例如,
for i in range(19):
turtle.circle(100, 360, 4) # draw a square
turtle.penup()
# "draw" 10 degrees of the same circle, with the pen up, just to move the pen
turtle.circle(100, 10, 4)
turtle.pendown()
(圆只是具有足够多的边可以逼近圆的多边形。如果未明确指定第三个参数,turtle
将根据半径选择足够大的值。)
答案 1 :(得分:0)
这是两者的结合。您需要做一些数学运算才能找到每个正方形的起点。但是,一旦将乌龟移到该点并将其转到正确的标题,则绘制四边的语句块就可以正常工作。
绘制正方形的最后一侧后,乌龟坐在外圆上,与该点的半径成45度角。
为每个添加的方块重复这些步骤。