返回列表 回复 发帖
109# changxde
这多出的东西,好象将上面代码再精简,就可得到你的这张图。我昨天在UF中试,得到过这个效果。昨晚再试,试不出来了。按下面代码,造出水平的一枝:
KochCurvecir {

init:
  z = #pixel
  float arg =0
  bool bail = false
  int i = 0
loop:
  i = i + 1
  if i > 1
    if |z| < 1
      bail = true
    endif
  arg = atan2(z)

  if  i > 2
    if arg > 0
      arg2 = 2*pi/3
    else
      arg2 = -2*pi/3
    endif
  endif
    z = z*exp(-1i*arg2)
    z = - @s*z + (1 +@s)
  endif
bailout:
  bail == false
default:
  title = "Circly Koch Curve"
  helpfile = "sam-help/kochcurves.htm"
  magn = .5
  center = (0.00021,0.0002)
  maxiter = 50
  periodicity = 0

  param s
    caption = "Magnification step"
    default = 1.7
  endparam

}
New.gif
将代码改写成画板作M集J集的常用符号的形式,将代码GSP化:
KochCurvecir {

init:
  z = #pixel

loop:
  arg = atan2(z)
  if |z|>1
    if arg > 0
      arg2 = 2*pi/3
    else
      arg2 = -2*pi/3
    endif

    z = z*exp(-1i*arg2)
    z = - @s*z + (1 +@s)
    endif
bailout:
     |z|>1
default:
  title = "Circly Koch Curve"
  helpfile = "sam-help/kochcurves.htm"
  magn = .5
  center = (0.00021,0.0002)
  maxiter = 50
  periodicity = 0

  param s
    caption = "Magnification step"
    default = 1.7
  endparam

}
用画板扫得如下形式:
New.gif
代码意义渐渐清晰起来了,中间那个最大的圆是|Z|<1的圆,其它的圆的内部的点的|z|>1,从et 值看,中间大圆et最小,向外发展,圆越小,et 越大。现在缺右边那根。
KochCurvecir变种.gsp (9.84 KB)
112# 柳烟
终于在柳老师的耐心指导下理解了算法,谢谢。
New.gif
New.gif
勾股树[扫描].gsp (10.18 KB)
勾股树2[扫描].jpg
勾股树2[扫描].gsp (12.45 KB)
New.gif
五角星外围迭代[扫描].gsp (12.28 KB)
向老师真厉害,很快解决了外围长芽苞的算法,我思考了一天,头脑混乱不堪。只是感觉到圆迭代这个UF例子与此类分形有关。好好学习学习,感谢分享研究成果。
原以为此算法可以—举解决不重叠进退格式的LS&IFS的扫描,现在又出现新问题了。此算法得以实现的条件是要把平面划分成若干个交集为空集的区域,使每个区域内恰含—个仿射变换的初象,其中难点不在仿射变换和共同终象的定义上,而是如何有效地对各区域进行编号。
      柳老师那个让我非常受益的圆柯赫迭代,@设为黄金分割数的倒数最理想,这样各枝在极限状态下是刚触的,永不相交。
圆科黑雪花分形平面三个交集为空集的区域是按幅角进行画分的。
用点陷阱作的
New.jpg
仿球Koch迭代[扫描].gsp (11.54 KB)
学习了向老师前面勾股数的几何版本,试搞一个代数版本,空了看看能否将其UF文件搞出来,大家如有兴趣,特别是UF功力好的,赐教赐教,人多智慧大。
勾股树扫描(代数版本).gsp (19 KB)
New.gif
如果取自弧的中点向形外作二个正方形,则勾股树成轴对称,画圈部分放大颇好看的,不失为一种漂亮的分形。但不知能否拿掉?常老师前面自造的那个圆科黑雪花多出的枝叶部分,我估计也与此处画圈的部分相类。
119# 柳烟
      中间画圈部分不仅应有,而且缺少了重叠部分。柳老师在思考拿掉,我还想补遗呢,真有意思。如果有办法补上重叠部分,那这种扫描法就完美了。
      常老师那多出的部分是由于用了相互成120°的三个相似变换迭代而形成的,如用左右旋转60°作两个相似变换迭代,再把其中一支旋转120°,就不会多了。
      打算扫一蕨叶,平面的分区太恼人了,怎么看还是像棵树。
仿射蕨叶[扫描].jpg
仿射蕨叶[扫描].gsp (20.02 KB)
返回列表