返回列表 回复 发帖
30# 柳烟


确实比之前的哪种做法好看多了,这个好象三角形内部所有点的et值都一样。
请给出27楼各图片所用的开关项及参数,这样好去除代码中的枝丫部分。
我看就先拿这个开刀吧,不过即使单独开关项我估计也是有难度的:

Fractal1.jpg (62.88 KB)

Fractal1.jpg

Fractal1.rar (195.79 KB)

解压后,双击打开,图与上楼一样,但我按右边面板上的参数,打开重新打开 UF中的该范例文件,按你面板上的开关项,整了几次,怎么没有图形呢?
未命名.jpg
从你的文件来看,好象动了图片中的打钩部分与画圈部分,但我把reb系列中的文件调出按这弄,没图形,啥原因?
是这个参数,可能要等一会儿才会出图形,注意下方的进度条。或者检查一下中心与缩放倍数:(0,0),缩放1倍。
将前面的KochCurve曲线代码,删除了一段没用的代码,再浓缩成下面的代码:
KochCurve {
init:
  z = #pixel
  x = real(z)
  y = imag(z)
  sq3 = sqrt(3)
  bail =  false
  bail2 =false
  i = 1
loop:
  i = i + 1
  if i == 2
    arg = atan2(z)
      if (-y + 1/sq3 > 0) && (sq3*x + y + 2/sq3 > 0) \
         && (sq3*x - y - 2/sq3 < 0)
        bail = true
      endif

      if (arg > 5/6*pi) || (arg < -pi/2)
        z = z*exp(1i*4/3*pi)
      endif
      if (arg < pi/6) && (arg > -pi/2)
        z = z*exp(1i*2/3*pi)
      endif
      z = z - 1i*1/sq3

  elseif i > 2
    z = 3*z
    x = real(z)
    y = imag(z)
     if (y > 0) && (sq3*x - y + sq3 > 0) \
       && (sq3*x + y - sq3 < 0)
      bail2 = true
    endif
    z = z/3
    x = real(z)

    if x < -1/3
      z = 3*z + 2
    elseif x > 1/3
      z = 3*z - 2
    else
if x < 0
        z = z + 1/3
        z = z*exp(-1i*pi/3)
        z = 3*z - 1
      elseif x> 0
        z = z - 1/3
        z = z*exp(1i*pi/3)
        z = 3*z + 1
      endif
    endif
  endif
bailout:
  bail == false && bail2 == false
default:
  title = "Koch Curve1"
  helpfile = "sam-help/kochcurves.htm"
  helptopic = "kcurve"
  magn = 1.5
  center = (0.0002,0)
  maxiter = 50
}
作了几次,每次都不一样,查起来费劲,每干一次,扫出的图均不一样,怪。不过,倒是取得了进展,扫出的图有些地方可看到局部的科赫曲线影子。不知是不是我解读上面的代码,有误。
未命名.jpg
if x < -1/3
      z = 3*z + 2
    elseif x > 1/3
      z = 3*z - 2
    else
if x < 0
        z = z + 1/3
        z = z*exp(-1i*pi/3)
        z = 3*z - 1
      elseif x> 0
        z = z - 1/3
        z = z*exp(1i*pi/3)
        z = 3*z + 1
这段代码,理解起来有些费劲,可能我的解读有偏差。
未命名.jpg
未命名.jpg
干了几天,终于有了成果,源文件整理好后发,因算式多而混乱。
38# 柳烟


漂亮,功夫不负有心人哪。
39# 榕坚
谢过榕兄支持并鼓励,并帮助。
文件整理好了,发于此,希提出批评并改进意见,使我进步。
Koch Curve(1).gsp (29.35 KB)
未命名.jpg
返回列表