返回列表 回复 发帖
正五边形的迭代也可以这样作:
正五边形.gsp (4.34 KB)
练习3. 带对称左右生成元格式的L分形的制作方法
    前面通过对五角繁星的制作,我们介绍了简单进退格式的L-分形的制作方法。那么什么叫“进退格式”呢?按作画板L分形的经验,所谓进退,就是将生成元A-B按如图箭头的指向从A依次向前压缩(迭代)到生成元的各线段上,其中由B''到B'''后又后退到B'',再继续向前直到B,若保留虚线箭头B''到B'''的迭代,最后得到的是柳烟老师的专贴《看分形书,用画板作分形画小系列》1#的分形Durer五边形,而去掉B''到B'''的迭代即得五角繁星。
                     
图片4.jpg
2010-11-27 16:27

      L-分形中存在许多带左右格式的生成元的分形,如龙曲线、Hilbert曲线、线型Sierpinski三角等。下面借助线型Sierpinski三角的练习,介绍带对称左右格式生成元的L分形的迭代方法:
一、作初始元和生成元A-B:
    如图,作两点A、B,以A为中心旋转B得B'(此点也可任取),分别以A、B为中心,0.5为比缩放B'得B''、B''',隐藏B',顺次连接AB''B'''B,得初始元和左生成元(画板作L分形,对称右生成元效果可通过逆向压缩左生成元得到,所以可省去不作);
                     
图片5.jpg
2010-11-27 16:27

二、生成元上执行一次迭代:
      新建参数n,以n为度在AB''上逆向压缩左生成元(即A→B'',B→A),在B''B'''上压缩左生成元(即A→B'', B→B'''),再在B'''B上逆向压缩左生成元;
三、隐藏初始元和各点,增大迭代次数n,得线型L-Sierpinski三角。
     说明:由于分形集实际是n→∞时的极限集(即不动点),所以只与初始元和生成元的格式(代码)有关,而与生成元是点型、线型、多边形型、圆型等几何形式无关(将下面文件中n增大看看),由此我们可以把生成元用三角形或圆等图形来表现,赋以斑斓的色彩。如前例,我的生成元分别用了线型和多边形内部,而xuefeiyang老师用了正五边形,正是用了多边形内部,第二个图才群星闪烁起来。

L-Sierpinski三角.gsp (10.31 KB)

20# 柳烟
谢谢柳老师。你制作时长这么久的视频文件怎么这样小,如何设置的?
23# xiaongxp
不久前我在帖子中问蚂蚁,才知这GIF动画是gifgifgif小软件制作,我基本按软件中的默认进行,只是把每秒播放的帧数设为2fps.文件大,用这软件不行。通常一个文件要作好几次,满意了,才发在坛子。制作中尽量避免误操作,并加快点击速度等等。不知还有无更好的减少制作文件的体积的方法。
21# xuefeiyang
又一种思路,学习。制成视频,方便板友。先制作好正五边形的五个顶点,备用。
333.gif
2010-11-27 20:16
24# 柳烟
谢谢解答。
练习4. 分枝结构的进退格式L分形的制作方法
    L-system对植物结构的绘制,是L分形中最令人感兴趣的部分。前两种压缩形式是从一个起点到一个终点止的,而要模拟植物形态,就要有一个起点多个终点。所以L-system作为一种计算机符号指令系统,必须有一个指令符号,在画完一个分枝后,使计算机退回到主干再进入另一个分枝继续画图。而画板采样“人脑+电脑”的方法,这个转向过程却是轻而易举的事。下面以分形树的制作来介绍这一格式L-分形的制作方法:
一、作初始元、生成元:
    作竖直线段AB,以A为中心,按比0.618缩放B为C,按向量CB平移B为D;以C为中心,按角度36°旋转B为B', 以B为中心,按角度-36°旋转D为D',得初始元、生成元A-B如图
           
图片6.jpg
2010-11-27 23:41
               
图片7.jpg
2010-11-27 23:38

                       生成元A-B                                       分形树
二、将生成元A-B分别在A-C、C-B'、C-B、B-D、B-D'以参数n为深度执行一次迭代(最终迭代),隐藏生成元,增大参数n,得分形树。

L-分形树.gsp (3.77 KB)

几个L-分形树比较.gsp (7.45 KB)

前面用L-系统模拟植物形态还属于线性分形,所做的是保角的仿射变换,没能得到生动逼真的图形。要模拟出栩栩如生的植物形态,就要引入随机L-system或用迭代函数系统(IFS)。而随机L-system的画板实现,我们还没有找到有效的方法,也是我们努力的方向。下一个练习,就从IFS-Sierpinski三角开始。
做这样的贴子是一件吃力不讨好的事情,下载学习,并致谢。
练习5. 二维IFS分形确定性算法的画板实现
     迭代函数系统(IFS)的理论与实践在分形几何中占有十分重要的地位。二维IFS分形实际就是复平面上的点集,在一组压缩仿射变换之下的像经反复迭代而产生的分形。
     下面以IFS-Sierpinski三角为例,介绍其原理和制作方法。
               
图片8.jpg
2010-11-29 14:15

        如图,Sierpinski三角由以下三个仿射变换确定:
    W1.:(x,y)→(0.5x,0.5y),                   (一次变换效果:△ABC→△ADF)
    W2.:(x,y)→(0.5x+0.5,0.5y)                (一次变换效果:△ABC→△DBE)
    W3.:(x,y)→(0.5x,0.5y+0.5)                (一次变换效果:△ABC→△FEC)
我们把系统{ W1 ,W2,W3}叫做一个迭代函数系统,将给定点集(复平面)反复施加这组仿射变换(迭代)就形成Sierpinski三角。具体作法如下:
一、构建三个仿射变换
     任作一点z,度量其横、纵坐标x、y,计算0.5x、0.5y、0.5x+0.5、0.5y+0.5,作点A(0.5x,0.5y)、B(0.5x+0.5,0.5y)、C(0.5x,0.5y+0.5);
二、迭代成ISF分形
    新建参数n,作z→A、z→B、z→C,深度为n的迭代(显示为“最终迭代”),增大n,得ISF-Sierpinski三角。

    下一个练习介绍几个常见的确定性IFS作法。

IFS-Sierpinski三角.gsp (4.56 KB)

返回列表