当前位置:   article > 正文

python的turtle库绘制分形树和雪花形状的科赫曲线图_科赫雪花turtle

科赫雪花turtle

1.请使用递归函数设计和绘制一颗分形树。

  1. import turtle
  2. p = turtle.Turtle ()
  3. turtle.colormode(255)
  4. p.speed(0)
  5. r=0
  6. g=0
  7. b=0
  8. length=120
  9. size=14
  10. p.home()
  11. p.penup()
  12. p.left(90)
  13. p.backward(length)
  14. p.pendown()
  15. p.pensize(size)
  16. p.forward(length)
  17. #随树枝生长颜色变化
  18. def tree(l,lv):
  19. l*=3/4
  20. size=p.pensize()
  21. p.pensize(size*3/4)
  22. global r,g,b
  23. r+=20
  24. g+=40
  25. b+=60
  26. p.pencolor(r%256,g%256,b%256)
  27. #左边树枝运用递归画图
  28. p.left(45)
  29. p.forward(l)
  30. if lv < 14:
  31. tree(l, lv + 1)
  32. #右边树枝运用递归画图
  33. p.backward(l)
  34. p.right(90)
  35. p.forward(l)
  36. if lv < 14:
  37. tree(l, lv + 1)
  38. p.backward (l)
  39. p.left(45)
  40. p.pensize(size)
  41. tree(120,9)
  42. turtle.done()

        运行图例:

2.请绘制能表现雪花形状的科赫曲线图。

  1. import turtle
  2. #定义函数实现科赫曲线绘画
  3. def koch(t, n):
  4. if n < 5:
  5. t.fd(n)
  6. return
  7. m = n / 3
  8. koch(t, m)
  9. t.lt(60)
  10. koch(t, m)
  11. t.rt(120)
  12. koch(t, m)
  13. t.lt(60)
  14. koch(t, m)
  15. #定义函数实现雪花
  16. def snowflake(t, n):
  17. for i in range(3):
  18. koch(t, n)
  19. t.rt(120)
  20. bob = turtle.Turtle()
  21. bob.color('black')
  22. bob.penup() #提笔
  23. bob.goto(-150,90) #去点
  24. bob.pendown() #落笔
  25. snowflake(bob, 300) #画雪花
  26. turtle.speed(0)#设置绘画速度
  27. turtle.mainloop()

         运行图例:

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

闽ICP备14008679号