我有一个学校作业:
建造一个没有海龟功能的雪人
雪人应该在蓝色的背景上,应该画满白色。
雪人的轮廓应该是黑色的。
雪人的身体应该是由三个充满的圆圈组成的。
每个圆的轮廓应该是3像素宽。
底圆的半径应为100像素。
中间的圆的半径应该是70像素。
顶圆的半径应为40像素。
每一个圆都应该在它下面的圆的上方居中(除了底部的圆,它可以位于任何地方)。
圆圈之间不应该有间隙。
给雪人一张嘴、一双眼睛和一个鼻子(帽子是可选的)。
确保每只手上至少有两个手指和两根杆臂。
到目前为止,我创造了这个,但我似乎无法在我继续前进之前得到正确的圆圈。 另外,不知道如何在圆圈中着色或为眼睛做点。请帮我,第一次编码。
import turtle # allows us to use turtle library
wn = turtle.Screen() # allows us to create a graphics window
wn.bgcolor("blue") # sets gtaphics windows background color to blue
import math # allows us to use math functions
quinn = turtle.Turtle() # sets up turtle quinn
quinn.setpos(0,0)
quinn.pensize(3)
quinn.up()
# drawing first circle middle
quinn.forward(70)
quinn.down()
quinn.left(90)
# calculation of cicumference of a circle
a = (math.pi*140.00/360)
#itineration for first circle
for i in range (1,361,1):
quinn.left(a)
quinn.forward (1)
# drawing second circle bottom
quinn.up()
quinn.home()
quinn.right(90)
quinn.forward(70)
quinn.left(90)
quinn.down()
b = (math.pi*200.00/360)
for i in range (1,361,1):
quinn.right(b)
quinn.forward(1)
# drawing third circle head top
quinn.up ()
quinn.goto(0,70)
quinn.right(90)
quinn.down()
c =(math.pi*80/360)
for i in range (1,361,1):
quinn.left(c)
quinn.forward(1)
wn.exitonclick()
很抱歉没有解释。 第一部分是Ramanujan对π的近似,但不是很好,因为它只在循环的300000次迭代之后达到π的近似,并且它只精确到小数点后5位。这就是这个部分:
然后我用圆的周长:
最后我让乌龟在20点前按时钟走。
“没有海龟圈函数”的大多数解决方案都涉及到编写与海龟圈函数等价的函数。但现在已经有另外两种方法可以画出轮廓分明、充满乌龟的圆圈。
一种是可以使用同心点:
记住,
dot()
表示直径,而circle()
表示半径:但是,我更喜欢使用冲压来解决这些问题:
这个想法是你扭曲海龟光标本身到你需要的,在屏幕上做一个快照,然后扭曲它到下一个你需要画的东西。
下面是一个绘制蓝色填充圆的示例函数:
然后,您可以修改上述函数,添加圆中心位置(x,y)的参数:
你可以很容易地添加点,例如:
汇总:
你应该试着自己完成任务的剩余部分。。;)
相关问题 更多 >
编程相关推荐