用python实现分形树的(弱智)函数迭代方法
Posted Leon_Xx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用python实现分形树的(弱智)函数迭代方法相关的知识,希望对你有一定的参考价值。
从每一个树杈开始
基本思路是画一个"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实现分形树的(弱智)函数迭代方法的主要内容,如果未能解决你的问题,请参考以下文章
Python 13分形树绘制1.0--五角星(turtle库)