前言:
此时姐妹们对“图形化编程视频”可能比较讲究,各位老铁们都想要了解一些“图形化编程视频”的相关知识。那么小编也在网络上汇集了一些对于“图形化编程视频””的相关内容,希望朋友们能喜欢,小伙伴们一起来学习一下吧!Scratch画分形图形系列82: 递归画L形生成类康托迷宫
一、问题的提出
记得在前面的头条文中,我们仿照品字形方块生成谢尔宾斯基三角,用递归画矩形生成绚丽的埃菲尔铁塔分形。
1至6级埃菲尔铁塔分形
本文就来对L形多边形进行四等分,挖去一块形成康拓迷宫状分形图。
二、画法分析
像下图那样把L形多边形分成四等分,边长缩小为上一级的一半,挖去中间那个绿色的小L形,就相当于在周围三个红黄蓝小L形,这与挖孔画谢尔宾斯基三角思路一样。只不过要注意画L形时的起始位置和方向。由此可见这个分形的豪斯多夫维数与谢尔宾斯基三角一样,也是n=ln3/ln2。
将大L形多边形平分成四等份
挖去中间那一块相当于周围画三块
画周围三个L形多边形的位置方向示意图
三、Scratch编程实现
有了上面的分析,我们就可以像画方块谢尔宾斯基三角那样,编写递归子程序了。只不过画L形多边形要比画正多边形复杂一点。
1.保存位置和恢复位置的子程序:
2.画L形多边形的子程序,如果画实心的,要用直到循环来“内卷的”的方式。
内卷法画实心L形多边形的子程序
3.画康托迷宫类分形的递归子程序:
4.递归画康托迷宫类分形的主程序:
四、10至12级分形图:
五、拓展:
(一)如果去掉的不是中间而是其它位置,例如去掉左下角的小L形,会是什么状况?
(二)如果规则改为不是去掉某一块,而是不断画四种不同颜色的L形多边形填充,结果怎么样?
是不是也很酷炫?如果是画空心的L形多边形呢?是不是填充曲线的意味再现了?
根据改变的规则,参考本文的算法,有兴趣的读者可以动手去做一做。
标签: #图形化编程视频