Scratch画分形几何图系列35: L系统画金鱼藻
前面我们用递归画过树木、蕨类、灌木等植物,本次我们画一个类似但更复杂一点的植物分形——金鱼藻。它由五个分规则VWXY和Z互相调用而成,而且L系统中出现了压栈 [ 和出栈 ] ,为了实现压出栈,可在Scratch中分别各自定义一个“保存位置”和“归位”的子程序来完成。
1..画金鱼藻的L公理系统如下:
公理: VZFFF
规则:V -> [+++W][---W]YV
W -> +X[-W]Z ,X -> -W[+X]Z
Y -> YZ ,Z -> [-FFF][+FFF]F
转角: 20度
符号意义:[ ]:压栈出栈VWXYZF都画线,
+:左转20度,-:右转20度
2. 画线F的递归子程序:
3.画金鱼藻V、W规则递归子积木代码:
4.画金鱼藻规则X和Y的递归子程序:
5. 画金鱼藻规则Z的递归子程序:
6. 画金鱼藻的主程序:
7.金鱼藻的1~10级分形图:
观察:随着级数增加,图形越高,如果要得到更高级别的金鱼藻分形图,伸缩系数要适当调整;是否发现分枝部分形组成的图形与整体图形是不是也很相似呢?这就是常说的分形的 “自相似性”,注意体会。
页面更新:2024-05-17
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号