返回列表 回复 发帖
漂亮啊,简直富丽堂皇!
New.jpg
R=1,Q=0
我竟然弄成了这个
好啊!漂亮极了
Fractal260.jpg
145# lnszdzg
好看。杜老师是用的点陷阱吗?如果是,点陷阱从z的迭代路径的第二点开始迭代可能还会更漂亮些。
我用的是7切圆陷阱,这是UF的效果。直接渲染到图片的,有一点模糊。
1.jpg
这个是8切圆陷阱,截得图,清晰一点。
这是8切圆的UF代码
8Circles2 {
init:
  int iter = 0
  float rangemun = 0
  float x = 0
  float y = 0
  float num = 8
  float Xabs = 0
  float Yabs = 0
  float Dsgd0 = 0
  float Dsgd1 = 0
  float Circle = 0
  float ZtoPsqd = 0
  float Rc = @r
  float Phi = #pi * 0.125
  float Rm = Rc * sin(Phi)
  float RcSqd = Rm^2
  bool Trapped = false
loop:
  iter = iter + 1
  x = real(#z)
  y = imag(#z)
  if iter > @skip && !Trapped
    Xabs = abs(real(#z))
    Yabs = abs(imag(#z))
    Dsgd0 = (Xabs-Rc*sin(phi))^2 + (Yabs - Rc*cos(phi))^2
    Dsgd1 = (Xabs-Rc*sin(3*phi))^2 + (Yabs - Rc*cos(3*phi))^2
   if Dsgd0 < RcSqd
      Trapped = true
      ZtoPsqd= Dsgd0
     if y >  0&& x > 0
        Circle = 2
      elseif y < 0 && x > 0
        Circle = 2
      elseif y < 0 && x < 0
        Circle = 2
      else
        Circle = 2
      endif
   elseif Dsgd1 < RcSqd
      Trapped = true
      ZtoPsqd= Dsgd1
      if y >  0&& x > 0
        Circle = 2
      elseif y < 0 && x > 0
        Circle = 2
      elseif y < 0 && x < 0
        Circle = 2
      else
        Circle = 2
      endif
   endif
endif
;这里 Circle = 2是为了使图形的颜色一致,如果需要多种颜色的话,可以选取不同的值。

final:
  if !trapped
    #solid = true
  else
    Circle = ((Circle + @off) % num)
    float Ratio = abs(ZtoPsqd/Rcsqd)
    float ColorIndex = 55 * Ratio + Circle * 60
    #index = (ColorIndex + 1) % 256 /256
  endif
default:
  title = "8 Circles2"
  param r
    caption = "Circle radius"
    default = 0.4
  endparam
  param skip
    caption = "Iters to skip"
    default = 0
    hint = "Iterations to skip."
  endparam
  param off
    caption = "Hue cycle"
    default = 0
    min = 0
    max = 7
    hint = "This rotates the coloring order of the balls."
  endparam
}
陷井技术我是一窍不通,谢谢给出代码,慢慢学吧,看能不能上得了手
2.jpg
这是多色效果
相信您一定可以的,我也是跟着几位老师学的——柳老师对UF很熟悉,您可以向他请教。
谢了,如果不是枊老师的这个贴子,我到现在还不知道newton,nova 是怎么回事,一直在瞎搞,在此一并谢过!
返回列表