返回列表 回复 发帖
练习13. 圆的极限集分形的画板实现(2)
      接下来我们练习圆的逆极限集的构造。先观察下图,它有四个基圆,分别成左右、内外反演对称,它是由左右两等圆及上下两圆间的两对互逆的Moebius变换迭代而成,其中(A,B,C) ↔(A',B',C')、(B,B',D') ↔(C,C',D),我们可选用“画板分形采用工具箱”中“Moebius变换2”工具来完成分形的绘制。
                      IFS-4 circles limit set.jpg
一、构造迭代格式:
    1.仿上图作基圆,其中D、D'分别是圆上的点,其余各点为切点(如下图);
                      图片1.jpg
      2.在空白处任取一点z,再调用“画板分形常用工具箱”中“Moebius变换2”工具,依次按(A,B,C)→(A',B',C')匹配各点得点w1,按(A',B',C')→(A,B,C)得w2,按(B,B',D') →(C,C',D)得w3,按(C,C',D) →(B,B',D')得w3。
二、构造随机变换点:
      作四等分概率轴和点P,求区间示性数,计算变换点w横纵坐标:
                      图片2.jpg
                      图片3.jpg
绘制变换点w。
三、迭代成分形:
      合并P到概率轴,作z→w,P→P,深度为n=1000的随机迭代,显示为“完整迭代”,保存后调好各区间上的概率,再改n=100000,得IFSP四圆逆极限集分形图。

      此文件中除点w外都可调,以改变分形结构,但注意先变n=1000后再调。

     IFS分形大量源文件请看帖子【迭代函数系统IFS】。下一个练习开始复分形的画板实现。

IFSP-四圆逆极限集.gsp (18.46 KB)

周帮主这种系统化的教程贴做到这里应加精了,做这样的贴子很累人的,精神鼓励一下。
向老师这大帖,很吸引我,只因这段时间忙,暂时顾不上,等忙过了,我定要好好学习操练这里的每个例子。做这种帖子,确实不易,先谢谢向老师。
练习14. 经典Julia集和Mandelbrot集的逃逸时间算法的画板实现
    设f是一个复压缩变换,f向前迭代变换f^n定义为:
        f^0(z)=z,f^1(z)=z,…,f ^t+1(z)= f ^t(z),…,
设正实数r为阈半径,以正整数n为最大迭代次数,z为扫描框内的点。当时间t(迭代次数)≤n-1时,若f ^t(z)的模≤r,则进入下一次迭代,若f ^t(z)的模>r,则终止迭代;当迭代次数t=n时终止迭代。记录终止迭代时的时间为逃逸时间et,逸出时f ^et(z)的模为em,并对点z赋以关联参数et、em的颜色。这种计算机画图法叫做逃逸时间算法。当f(z)=z^2+c时,若对z着色,迭代成的分形叫经典Julia集,若对c着色,迭代成的分形叫经典Mandelbrot集。
    下面我们先练习用这种方法来绘制Julia集(或Mandelbrot集),着色模式采用“平滑着色模式”。
一、构建迭代格式(坐标公式)
      打开“复分形扫描框架【可调小扫描线】”,调用“画板分形常用工具箱”的“z^2”工具,按窗口左下角提示求出z2的坐标,再用“z[1]+z[2]”工具计算z^2+c的坐标。
二、求取et、em
     1. 调用“迭代终点Z、T”工具,依次匹配点z、z^2+c的横纵坐标,得Z、T;
1.gif
   2. 作z→Z、p0→p0+p,作深度为n-1的迭代;
   3. 调用“et(eT)、em(eM)”工具,先后匹配点Z、T的迭代象,得et、em。
三、扫描线着色
   1. 调用“平滑过渡着色RGB”,先后匹配et、em,得s、R、G、B;
   2. 调用“RGB着色”工具,匹配点z(或c),得z(或c)的着色点(与z或c重合),此时系统默认选中z(或c)的着色点;
2.gif
   3. 不取消z(或c)的着色点选中状态,直接进入菜单“变换”\创建自定义变换\颜色变换,再取消z的着色点选中状态;
   4. 选中扫描线,按“Ctrl+1”或进入菜单“变换”\颜色变换1,将颜色变换到扫描线,此时系统默认选中扫描线的颜色变换象,直接进入菜单“编辑”\属性\绘图,填“100”,“离散的”;
   5. 系统仍默认选中扫描线的颜色变换象,不取消直接进入菜单“显示”\跟踪变换路径、点型“最小”,另存为“Julia set 1”(或“Mandelbrot set”)完成制作。
3.gif
4.gif
   6. 所附文件参数设置:
     “Julia set 1”中n=200,r=100,两行扫描,c=-0.749-0.196i,采样数200;
     “Julia set 2”中n=200,r=150,三行扫描,c=0.309+0.025i,采样数200;
     “Mandelbrot set”中,n=200,r=200,三行扫描,z=0,采样数200;
     “反Mandelbrot set”中,迭代格式为z^2+c^-1,n=100,r=10,两行扫描,z=0,采样数200。
Julia set 1.jpg
Julia set 1.gsp (15.56 KB)
Julia Set 2.jpg
Julia set 2.gsp (15.63 KB)
Mandelbrot set.jpg
Mandelbrot set.gsp (15.61 KB)
反M集.jpg
反M集.gsp (15.64 KB)
在6#、7#更新了三个文件,增加了一些重要工具,其中扫描框架预设参数一般不要删除或更改标签,因为画板分形常用工具箱设置了一些自动匹配功能。
辛苦,珍藏!
65# xiaongxp
已下载珍藏,谢过向老师。
下一个练习:M\J集的镂空方法解析
Julia set 3.jpg
向老师是个热心家,肯栽培后学,这是我辈学习分形的人的福分,一年来,我向向老师学到不少东西,向老师的奉献精神,值得我们效仿。握手向老师。
柳老师过奖了,太谦虚了,我从你那里也学习了不少。等我把这个帖子作完后,还有向你请教UF呢。
      我一直在琢磨画板分形的一体化工具,希望从迭代格式的横纵坐标直接到扫描线的赋色,这样就降低了作画板分形的门槛,但一直没能成功。昨天更新的工具就是这一努力的初级结果,还要请柳老师测试匡正。
返回列表