返回列表 回复 发帖
474# 榕坚
程序中的if abs(real(z))-1 > d
        d = abs(real(z))-1,
应作下理解:if abs(real(z))-1 > dn-1     
                 d n= abs(real(z))-1
是这个意思吗?d也要参加小循环的迭代吗?
我将d重新处理后,仍不对。我解读代码时,除上面你指出的,可能还有错误,一是扫出的图不对,二是太慢了,别说再将其作为M集外围与M集肚腹中的装饰花纹了,那更可能扫不动。程序代码中:while后循环部分中的
if ttype == 0
      if real(z) < 0 && imag(z) < 0
        z = 2*z + (.5,.5)
        z = -conj(z)
      elseif real(z) > 0 && imag(z) < 0
        z = 2*z + (-.5,.5)
        z = 1i*z
      elseif real(z) > 0 && imag(z) > 0
        z = 2*z + (-.5,-.5)
        z = 1i*conj(z)
      elseif real(z) < 0 && imag(z) > 0
        z = 2*z + (.5,-.5)
        ttype = 1
      endif
    else
      if real(z) < 0 && imag(z) < 0
        z = 2*z + (.5,.5)
        z = 1i*z
        ttype = 0
      elseif real(z) > 0 && imag(z) < 0
        z = 2*z + (-.5,.5)
        z = -1i*conj(z)
        ttype = 0
      elseif real(z) > 0 && imag(z) > 0
        z = 2*z + (-.5,-.5)
        ttype = 0
      elseif real(z) < 0 && imag(z) > 0
        z = 2*z + (.5,-.5)
        z = -conj(z)
        ttype = 0
      endif
ttype=0与ttype=1起的作用是:第一个if与第二个if交错进行,是这样的吗?
478# 榕坚
谢谢榕兄帮忙找问题,我对照我的原文件看了,果然是我解读程序时,出错了!当程序判断多时,我就有点服侍不住。再次感谢。
怪!今晚我弄这希尔伯特曲线,我将就未命名1的数据,迭代时没有在坐标系里进行,在一条直线上进行,结果扫描希尔伯特曲线时,速度还不错,比原未命名及你修改后的文件的扫描速度快了很多,这有点怪了。
希尔伯特曲.gsp (30.32 KB)
未命名.jpg
分形这条路,前途是光明的,道路是曲折的,有待大家共同努力。
566# 榕坚
此图片很是漂亮.
我的经验是,先学好M集的绘制,暂时不明道理无所谓,将这M集的描绘步骤搞熟练后,整多了,自然就会慢慢领会道理。
我提供我常用的扫描框,并摘录雪飞扬的逃逸时间算法讲稿(粗论分形大帖中):
下面我们来谈谈M集的逃逸时间算法:
1、作绘图框架(以前说过,在这里就不重复了);
2、新建参数x0,y0,xc,yc;
3、计算:x'=x^2-y^2+xc,y'=2x*y+yc;
4、计算p=0.5(1-sgn(x'^2+y^2-4));说明这里逃逸半径设为4就足够了,可以证明在迭代序列{zn}中,当zn的模大于2时,迭代的结果点列{zn}一定发散,这里计算p是为了将逃逸点拉回到初始位置,以保证迭代终点可视化效果;
5、计算:x=p*(x'-x0)+x0,y=p*(y'-y0)+y0,在绘图区里绘制点(x,y),说明:当迭代终点逃出以原点为圆心,半径为2的圆时,其p值为0,结果下一次的迭代象点会回到迭代初始点z0,为下面计算逃逸时间作准备;
6、逃逸时间et 确定:新建参数t和n,计算t+p;
7、在绘图区里作点C,选中点C,点选变换菜单里的平移,作极坐标变换,平移方向为0,平移距离为1cm得到新点C',双击点C,作为缩放中心,以t+p为缩放比缩放点C',得到点C".隐藏点C';
8、度量点C的横纵坐标xc,yc,分别作为参数xc,yc的值输入;
9、作迭代:依次选中x0,y0,t,n作其分别到x,y,t+p,迭代深度为n的迭代,得到两个迭代象,一个是点C'的迭代象,另一个是点(x,y)的迭代象;
10、选中点C'的迭代象在变换里作其终点,度量终点到点C的坐标距离,得到逃逸时间设为et;
11、选中点(x,y)的迭代象仿上作其迭代象的终点,度量其横坐标,纵坐标,到原点的坐标距离;说明这些量可以用来设置着色参数;
12、新建函数f(x)=sin(x),计算f(et),f(0.5et),f(0.8et),分别标签为r,g,b;
13、选中点C和r,g,b在显示里选颜色RGB变化范围从0到1,产生新的点C''';
14、选中扫描线和点C及C'''作轨迹,在显示里选追踪轨迹;
15、修改参数的值:x0=0,y0=0,n=100.a=-0.75,b=0;
16、点击绘图按钮,绘图。
大家作作看,有什么不对劲的地方,请及时提出来,也请你及时把你的作品发上来大家交流,不要怕作得不好!慢慢就会好起来!

可到http://www.tudou.com/programs/view/PVfbJqnn4XA/此网站看看我整的精典M集视频,照着整,也可按雪老师的整,随你便,先造一个精典M集,然后再看论坛上的帖子,各种复分形造法机理是一个样的.
缩放取景框架(柳烟定制).gsp (6.96 KB)
祝你迷上分形,并成果显赫.
未命名.jpg
好久没扫过J集了,今用画板扫一张图片.
这几幅图,十分漂亮,看着十分舒畅。
返回列表