返回列表 回复 发帖
希尔伯特线:

捕获.JPG (61.23 KB)

捕获.JPG

捕获.JPG (52.19 KB)

捕获.JPG

现在开始M集的内部不在单一了:

6.JPG (75.69 KB)

6.JPG

3 (2).JPG (43.46 KB)

3 (2).JPG

472# 榕坚
我昨天做上楼第一个图片分形,扫出的希尔伯特曲线不太象,我将文件发在此,榕兄抽空帮忙看看找找问题。
未命名1.gsp (28.64 KB)
还有,这病态文件,扫起来太慢了。
473# 柳烟


你注意一下那个d,我也是一直被它困扰了快半年了,计算d1时的判断用的是d0,计算d2时的判断用的是d1。
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也要参加小循环的迭代吗?
if abs(real(z))-1 > d
        d = abs(real(z))-1
      endif
     if abs(imag(z))-1 > d
        d = abs(imag(z))-1
这两个d是一样的。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交错进行,是这样的吗?
477# 柳烟


已做修改,你再试试:

未命名1.gsp (28.65 KB)

478# 榕坚
谢谢榕兄帮忙找问题,我对照我的原文件看了,果然是我解读程序时,出错了!当程序判断多时,我就有点服侍不住。再次感谢。
怪!今晚我弄这希尔伯特曲线,我将就未命名1的数据,迭代时没有在坐标系里进行,在一条直线上进行,结果扫描希尔伯特曲线时,速度还不错,比原未命名及你修改后的文件的扫描速度快了很多,这有点怪了。
希尔伯特曲.gsp (30.32 KB)
未命名.jpg
返回列表