教你学画画02 |
您所在的位置:网站首页 › turtlecircle函数画正方形 › 教你学画画02 |
我们可以使用turtle.circle轻松绘制一个圆,但我们将以不同的方式绘制它 import turtle as t t.tracer(10,1) for i in range(360): t.forward(1) t.right(1) t.update()在上面的代码中,使用了tracer和update命令来提高绘图速度。如果我们愿意,我们可以删除它们。
如果Turtle在每次迭代中移动更多,而不是以固定的距离移动会发生什么 for i in range(360): t.forward(i) t.right(1)i替换 one作为参数forward 我们会得到一些快速移过屏幕的东西。看看我们能不能让它转得更快 for i in range(360): t.forward(i) t.right(20)20替换1为参数right 让我们看看如何使螺旋曲线更平滑。但首先尝试以下代码 # Quadrant 1 t1 = t.Turtle() t1.penup() t1.goto(125, 125) t1.pendown() t1.circle(100) # Quadrant 2 t2 = t.Turtle() t2.penup() t2.goto(-125, 125) t2.pendown() t2.circle(100, 270) # Quadrant 3 t2 = t.Turtle() t2.penup() t2.goto(-125, -125) t2.pendown() t2.circle(100, 180) # Quadrant 4 t3 = t.Turtle() t3.penup() t3.goto(125, -125) t3.pendown() t3.circle(100, 90)代码在 4 个象限中打印 4 个圆形部分 forward和right函数调用被替换为circle circle上面的函数使Turtle向前移动,但也旋转一定的角度。这是我们得到的 但是如果我们想要一些看起来有点不同的东西——比如螺旋星系或银河系呢?我们首先需要添加更多的武器。 为此,我们将创建多个Turtle import turtle as t t.tracer(10,1) t1=t.Turtle() t2=t.Turtle() t1.setheading(0) # Looks to the right t2.setheading(180) # Looks to the right for x in range(360): radius = x angle = 1 t1.circle(radius,angle) t2.circle(radius,angle) t.update()在上面的代码中,t1和t2是最初使用setheading命令分别设置为向右和向左看的两只Turtle 我们只是更改了代码,这样可以通过更改创建任意数量的Turtle N,并且它们都以对称的方式看向不同的方向。
我们设置angle为30并平方radius 通过使每次迭代的转弯角度更大并增加螺旋增加的速率(通过平方半径 - radius*radius),我们可以防止螺旋相交。(请注意,这是我无意中发现的) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |