码迷,mamicode.com
首页 > 编程语言 > 详细

用python实现分形树的(弱智)函数迭代方法

时间:2018-04-21 16:13:45      阅读:280      评论:0      收藏:0      [点我收藏+]

标签:ack   依赖性   nbsp   tle   修改   优化   初学   长度   col   

从每一个树杈开始

基本思路是画一个"Y"型, 从根部出发,然后再返回根部,然后根据需要进行转向与迭代。只要注意笔尖的方向就好。

 1 def GreenY():
 2     turtle.fd(40)
 3     turtle.left(30)
 4     turtle.fd(20)
 5     turtle.backward(20)
 6     turtle.right(60)
 7     turtle.fd(20)
 8     turtle.backward(20)
 9     turtle.left(30)
10     turtle.backward(40)
11 def DoubleGreenY():
12     turtle.color("green")
13     turtle.pendown()
14 #     turtle.left(90)
15     for i in [30, -60]:
16         turtle.left(i)
17         GreenY()
18     turtle.left(30)

 

然后对于后续的红色树干如法炮制 

 1 def RedY():
 2     #
 3     turtle.color("Red")
 4 #     turtle.left(90)
 5     turtle.fd(50)
 6     turtle.left(30)
 7     turtle.fd(50)
 8     DoubleGreenY()
 9     turtle.color("Red")   
10     turtle.backward(50)
11     turtle.left(-60)
12     turtle.fd(50)
13     DoubleGreenY()
14     turtle.color("Red")  
15     turtle.backward(50)
16     turtle.left(30)
17     turtle.backward(50)
18 def DoubleRedY():
19 #     turtle.setup(400,400)
20     turtle.color("Red")
21     turtle.fd(50)
22     for i in [30 , -60]:
23         turtle.left(i)
24         RedY()
25     turtle.left(30)
26     turtle.backward(50)

最后输出结果。

技术分享图片

为了美观,微调了树干的长度和角度。

Ps. 这是笔者自己一点一点微调出来的,修改和维护都不容易。而且“人工的函数迭代”让相互之间的依赖性太强。

算是初学python的第一个程序

以后有机会优化一下代码

 

用python实现分形树的(弱智)函数迭代方法

标签:ack   依赖性   nbsp   tle   修改   优化   初学   长度   col   

原文地址:https://www.cnblogs.com/leonardo-Xx/p/8901506.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!