迭代树?分形树?你会做吗?嘿!还有涂色呢——GeoGebra

叫法有点多——迭代树、分形树、二叉树。

先来看个基础版的:

再来看涂色版的:

还有一种是“四季更迭”:

有那么点美的享受吧?如果进行制作,还可以更理解迭代、涂色!获取满满的成就感!

制作思路、指令

树干、树枝即为线段。将树干旋转缩放可得到树枝;再将所得树枝重复刚刚的操作(旋转缩放),得到新的树枝;……。

  • 旋转——旋转(Rotate)。
  • 缩放——位似(Dilate)。
  • 线段——线段(Segment)。

也就是可用迭代去生成树,而《学做勾股树,掌握迭代!套路在手,不怕迭代》总结了迭代的套路:

截图自制作勾股树的解说

迭代树是“一生二”,可以直接套用图中的基本形式指令。那么,最大的问题就是写出如何由对象0生成对象1和对象2。这里不妨让线段作为对象,用线段作为基础去迭代生成。

于是,需写出左、右线段如何由底下线段得到:

  • 要确定一条线段,需要确定两点
  • 一点是底下线段的一端点,另一点是由底下线段的另一端点旋转、位似得到

有了思路就可以尝试制作啦!

所有指令如下:

详细分析请看02部分视频

注:迭代列表(IterationList)、合并(Join)、映射(Zip)、 描点(Point)。

至于涂色,如果直接用涂色工具,效果如下:

若是想要让树干、树枝的颜色,可以较为自由地渐变,比如由棕色到黄色,再到绿色进行渐变。那就先要知晓这些颜色的RGB值:

属性——颜色,查看RGB值

于是:

具体请看02部分视频

原理:在折线上取点,利用点的三维坐标设置对象的RGB动态颜色。

设置动态颜色( <对象>, <红色值 0~1>, <绿色值 0~1>, <蓝色值 0~1> )

所以,需留意,得让RGB值除以255,使得值在0到1。

注:折线(PolyLine)、填充列(FillColumn)、元素(Element)、执行(Execute)、序列(Sequence)、设置线径(SetLineThickness)。

由此,l1的各个元素的颜色都不同。

至于“四季更迭”,其实是要让l1的颜色由角度α、β决定,只需将B1至B11的动态颜色改为由α、β决定。例如:

选择B1至B11,属性——高级,在动态颜色中修改

只要图中红线标示部分在0到1之间即可。像第二种情况,会从棕色(起始颜色)变化到绿色(终止颜色)。而第一种则是从棕黄(非起始颜色)变化到绿色(终止颜色)。

另外,为了效果更好——让树干到树枝,逐渐变细:

执行(序列("SetLineThickness(B"+k+","+(13-k+1)+")",k,1,11))

这条执行指令相当于输入:设置线径(B1,13)设置线径(B2,12),……,设置线径(B11,3)

制作过程【视频】

如果想看详细的解释或者制作过程,请点击链接看视频


结语

除了回顾分形树的制作,建议再回顾下勾股树(“一生二”)、毕氏螺线(“一生一”)的做法。

【点击文末的“了解更多”,关注后回复迭代,可立马获取。】

了解更多
举报
评论 0