Scratch画分形几何图系列59:IFS画汉字“天人合一”的分形
上一篇文章末尾留了一个问题,即能否画一个笔划较少的汉字词语例如“天人合一”的分形?本篇我们来一个用IFS迭代系统画一下这个汉字分形。
(1)这个分形由四个汉字构成,整个分形图可由4个汉字的共15(5 2 7 1)个部分构成。
(2)定义迭代函数的通用子程序:
(3)根据前面用IFS迭代系统画分形几何图的经验,我们需要15组迭代函数参数。要根据每一个笔划构建,相对基准位置(本例是以屏幕上(0,-60)为基准位置)的平移和旋转情况,生成迭代函数的数据,还有要根据这个笔划的大小规模确定这个笔划占有的概率(份额)。
以天字的第一横为例,按横向1:25,纵向1;30的比例,基准元素的长为r,宽为s,横向距离决定横向平移量e=-6,纵向距离决定纵向平移量f=3.48,这里的方向是旋转0度,长为r=0.28,宽都是s=0.15。参考下图:
以最左天字第一横为例的数据参数示意图
字符分形的IFS数据表如下:
n | r | s | θ | e | f | p |
1 | 0.28 | 0.15 | 0 | -6 | 3.48 | 0.075 |
2 | 0.1 | 0.1 | 90 | -6 | 3 | 0.024 |
3 | 0.3 | 0.15 | 0 | -6 | 2 | 0.095 |
4 | 0.28 | 0.15 | 45 | -7.5 | 0.7 | 0.063 |
5 | 0.28 | 0.15 | 120 | -5.32 | 0.6 | 0.063 |
6 | 0.36 | 0.2 | 60 | -2 | 2 | 0.095 |
7 | 0.2 | 0.15 | 135 | -0.8 | 0.5 | 0.075 |
8 | 0.21 | 0.15 | 45 | 1.12 | 3.33 | 0.063 |
9 | 0.21 | 0.15 | 135 | 3.8 | 3.1 | 0.063 |
10 | 0.15 | 0.1 | 0 | 2.3 | 2.6 | 0.063 |
11 | 0.12 | 0.1 | -90 | 0.5 | 0.5 | 0.05 |
12 | 0.15 | 0.1 | 0 | 2 | 1.5 | 0.063 |
13 | 0.12 | 0.1 | 90 | 3.3 | 0.6 | 0.05 |
14 | 0.15 | 0.1 | 0 | 2 | 0.0 | 0.063 |
15 | 0.21 | 0.25 | 0 | 7 | 1.5 | 0.095 |
(4)根据IFS数据给出有概率决定变换模式的控制子程序,