Python使用Turtle绘制分形树
效果如下:
Code:
1 '''
2 作者:清扬
3 功能:利用递归绘制分型树
4 版本:1.0
5
6 '''
7
8 import turtle
9
10 def draw_branch(branch_length):
11 '''
12 绘制分型树
13 :param branch_length:
14 :return:
15 '''
16 if branch_length > 5:
17 if branch_length > 10:
18 turtle.pensize(10)
19 turtle.color('brown')
20 else:
21 turtle.pensize(5)
22 turtle.color('green')
23
24 # 绘制右侧树枝
25 turtle.forward(branch_length)
26
27
28 print('向前',branch_length)
29 turtle.right(20)
30 print('右转 20')
31 draw_branch(branch_length-15)
32
33 # 绘制左侧树枝
34 turtle.left(40)
35 print('左转 40')
36 draw_branch(branch_length-15)
37
38 #返回之前的树枝上
39 print('右转 20')
40 turtle.right(20)
41
42 turtle.penup()
43 turtle.backward(branch_length)
44 turtle.pendown()
45
46 print('向后',branch_length)
47
48 def main():
49 '''
50 主函数
51 '''
52 turtle.left(90)
53 turtle.penup()
54 turtle.backward(200)
55 turtle.pendown()
56 turtle.color('brown')
57 print('左转 90')
58 turtle.speed(5000)
59 draw_branch(100);
60 turtle.exitonclick()
61
62 if __name__ == '__main__':
63 main()