脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python递归函数绘制分形树的方法

python递归函数绘制分形树的方法

2021-03-08 00:15prairie97 Python

这篇文章主要为大家详细介绍了python递归函数绘制分形树的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质。

我们先看一下我们最终要绘制的图形:

python递归函数绘制分形树的方法

案例分析:

python递归函数绘制分形树的方法

python递归函数绘制分形树的方法

代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
## 绘制分型树,末梢的树枝的颜色不同
 
import turtle
 
 
def draw_brach(brach_length):
 
 
  if brach_length > 5:
    if brach_length < 40:
      turtle.color('green')
 
    else:
      turtle.color('red')
 
    # 绘制右侧的树枝
    turtle.forward(brach_length)
    print('向前',brach_length)
    turtle.right(25)
    print('右转20')
    draw_brach(brach_length-15)
    # 绘制左侧的树枝
    turtle.left(50)
    print('左转40')
    draw_brach(brach_length-15)
 
    if brach_length < 40:
      turtle.color('green')
 
    else:
      turtle.color('red')
 
 
    # 返回之前的树枝上
    turtle.right(25)
    print('右转20')
    turtle.backward(brach_length)
    print('返回',brach_length)
 
def main():
  turtle.left(90)
  turtle.penup()
  turtle.backward(150)
  turtle.pendown()
  turtle.color('red')
 
  draw_brach(100)
 
  turtle.exitonclick()
 
if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/prairie97/article/details/78864285

延伸 · 阅读

精彩推荐