当前位置:   article > 正文

Python编程小记:turtle库_turtle.seth(d)

turtle.seth(d)

一、基础小结

turtle库是python标准库之一,入门级绘图库。import turtle之后即可使用。

1、绘图窗口设置命令

turtle.setup(400,300,200,100):参数以此(宽,高,距离屏幕左边距离,距离屏幕上方距离),屏幕左上角原点,单位像素。

2、运动命令

turtle.goto(x,y):直接跳转到(x,y)点,以绘图窗口中心为原点,向右为x轴,向上为y轴。

turtle.fd(d)、turtle.forward(d):以当前方向,往前行进d像素。

turtle.bk(d)、turtle.backword(d):保持当前方向不变,往后退行d像素。

turtle.circle(r,angle):从当前位置以r为半径圆的angle角度旋转。

 

    circle(100,180)              circle(100,-180)            ciecle(-100,180)            circle(-100,-180) 

                            

3、方向设置命令

turtle.seth(angle):以x轴方向为起点将方向偏转为angle度,逆时针为正。只改变行进方向但不行进。

turtle.left(angle):在当前行进方向的基础上,向左旋转angle度。

turtle.right(angle):在当前行进方向的基础上,向右旋转angle度。

4、画笔控制命令

turtle.penup():台笔

turtle.pendown():落笔

turtle.pensize(width):画笔粗细

turtle.pencolor(颜色名red/RGB三元组/颜色编码):画笔颜色

turtle.fillcolor(colorstring):绘制图形的填充颜色

turtle.begin_fill():开始填充

turtle.end_fill():结束填充

turtle.filling():返回当前是否在填充状态

二、牛刀小试

1、使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个等边三角形,边长为 200 像素,效果如下图所示。

  1. import turtle as t
  2. for i in range(3):
  3. t.seth(i*120)
  4. t.fd(200)

2、使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个边长为 200 的正方形,效果如下图所示。

  1. import turtle
  2. d = 0
  3. for i in range(4):
  4. turtle.fd(200)
  5. d=d+90
  6. turtle.seth(d)

3、使用 turtle 库的 turtle.right() 函数和 turtle.fd() 函数绘制一个菱形四边形,边长为 200 像素,效果如下图所示。

  1. import turtle as t
  2. t.right(-30)
  3. for i in range(2):
  4. t.fd(200)
  5. t.right(60*(i+1))
  6. for i in range(2):
  7. t.fd(200)
  8. t.right(60*(i+1))

4、用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制一个五边形,边长为 200 像素,效果如下图所示。

  1. import turtle
  2. d = 0
  3. for i in range(5):
  4. turtle.fd(200)
  5. d += 72
  6. turtle.seth(d)

5、用 turtle 库的 turtle.fd() 函数和 turtle.left() 函数绘制一个六边形,边长为 200 像素,效果如下图所示。

  1. import turtle as t
  2. for i in range(6):
  3. t.fd(200)
  4. t.left(60)

6、使用 turtle 库的 turtle.circle() 函数、turtle.seth() 函数和 turtle.left() 函数绘制一个四瓣花图形,从左上角花瓣开始,逆时针作画,效果如下图所示。

  1. import turtle as t
  2. for i in range(4):
  3. t.seth(90 * (i + 1))
  4. #90,180,270,360
  5. t.circle(200,90)
  6. #-90,0,90,180
  7. t.seth(-90 + i * 90)
  8. t.circle(200,90)

7、使用 turtle 库的 turtle.right() 函数和 turtle.circle() 函数绘制一个四叶草,效果如下图所示。

  1. import turtle
  2. for i in range(4):
  3. turtle.right(90)
  4. turtle.circle(50,180)

8、使用 turtle 库的 turtle.right() 函数和 turtle.circle() 函数绘制一个星星图形(半径为90),如下图所示。

  1. import turtle
  2. for i in range(4):
  3. turtle.circle(-90,90)
  4. turtle.right(180)

9、使用 turtle 库的 turtle.circle() 函数和 turtle.seth() 函数绘制套圈,最小的圆圈半径为 10 像素,不同圆圈之间的半径差是 40 像素。效果如下图所示。

  1. import turtle
  2. r =10
  3. head = 90
  4. for i in range (4):
  5. turtle.seth(head)
  6. turtle.circle (r)
  7. r = r + 40
  8. turtle.done()

10、使用 turtle 库的 turtle.circle() 函数和 turtle.seth() 函数绘制同心圆套圈,最小的圆圈半径为 10 像素,不同圆圈之间的半径差是 40 像素,效果如下图所示。 

  1. import turtle
  2. r = 10
  3. dr = 40
  4. head = 90
  5. for i in range (4):
  6. turtle.pendown()
  7. turtle.circle(r)
  8. r += dr
  9. turtle.penup()
  10. turtle.seth(-head)
  11. turtle.fd(dr)
  12. turtle.seth(0)
  13. turtle.done()

11、使用 turtle 库的 turtle.fd() 函数和 turtle.seth() 函数绘制螺旋状的正方形,正方形边长从 1 像素开始,第一条边从 0 度方向开始。效果如下图所示。

  1. import turtle
  2. d = 0
  3. k = 1
  4. for j in range(10):
  5. for i in range(4):
  6. turtle.fd(k)
  7. d += 91
  8. turtle.seth(d)
  9. k += 2
  10. turtle.done()

12、使用turtle库绘制类似斯洛克形状图案,效果如下图所示。 

  1. import turtle
  2. def drawCircle():
  3. turtle.pendown()
  4. turtle.circle(20)
  5. turtle.penup()#向某个方向前进40,抬笔
  6. turtle.fd(40)
  7. def drawRowCircle(n):
  8. for j in range(n,1,-1):#从上往下画圆圈
  9. for i in range(j):
  10. drawCircle()#这一句应该是要画图
  11. turtle.fd(-j*40-20)#下面这部分是在换行
  12. turtle.right(90)
  13. turtle.fd(40)
  14. turtle.left(90)
  15. turtle.fd(40)
  16. drawCircle()
  17. drawRowCircle(5)
  18. turtle.hideturtle()
  19. turtle.done()

13、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制嵌套六角形,六角形边长从1像素开始,第一条边从0度方向开始,边长按照3个像素递增,效果如下图所示。

  1. import turtle
  2. edge = 6
  3. d = 0
  4. k = 1
  5. for j in range(10):
  6. for i in range(edge):
  7. turtle.fd(k)
  8. d += 360/edge
  9. turtle.seth(d)
  10. k += 3
  11. turtle.done()

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/874223
推荐阅读
相关标签
  

闽ICP备14008679号