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


这个分形你已经做的非常成功了。你只要跳过这一段代码最后的图形就跟它一样了:
if @insout
    st = 1/st
  endif
它是一个开关项,可以选择两个图形中的某一个。其中一个就是你做出来的图形。
一点小收获:

捕获353.JPG (100.63 KB)

捕获353.JPG

捕获352.JPG (83.29 KB)

捕获352.JPG

感谢榕坚兄的点醒,已经作出来了,整了两个按钮开关,以控制扫出这两个不同的M集。
未命名.JPG
未命名1.JPG
Meet10_10_0一.gsp (39.62 KB)
这个牛顿迭代很吸引眼球,有兴趣的不妨一试:
IPolNewtonJulia {
init:
  complex z=#pixel
  complex zold=0
  complex t=0
  complex u=0
  complex v=0

loop:
  zold=z
  if zold==0
    zold=1e-20
  endif
  if @formula==0
    t=zold^@n1
    u=zold^@n0
    z=zold-(u-@r*(1+t)^@n2)/(u/zold*(@n0-@n2*@n1*t/(1+t)))+@pixfu(@seed)
  elseif @formula==1
    t=zold^@n1
    u=zold^@n0
    v=1+sin(t)
    z=zold-(sinh(u/v^@n2)-@r)/(cosh(u/zold*(@n0-@n2*@n1*zold*cos(t)/v)/v^@n2))+@pixfu(@seed)
  elseif @formula==2
    t=zold^@n1
    u=zold^@n0
    v=log(u)
    z=zold-(v-@r*(1+sin(t))^@n2)/(@n0/zold-(@n1*@n2*t/zold*v*cos(t))/(1+sin(t))^@n2) \
      +@pixfu(@seed)
  elseif @formula==3
    t=zold^@n1
    u=zold^@n0
    v=1+log(t)
    z=zold-(sin(u)-@r*v^@n2)/(@n0*u/zold*cos(u)-(@n1*@n2/zold*sin(u)/v))+@pixfu(@seed)
  endif
bailout:
|z-zold|>@bailout
  
switch:
  type="IPolNewton"
  pixfu=pixfu
  bailout=bailout
  init=init
  zinit=zinit
  n0=n0
  n1=n1
  n2=n2
  r=r
  formula=formula
  
default:
  title = "IPolNewtonJulia"
  periodicity=0
  method=multipass
  angle=90.0
  
  

  func pixfu
    caption="Pix-func"
    default=ident()
  endfunc
  
  param formula
    enum="z^n0/(1+z^n1)^n2" "sinh(z/(1+sin(z)))" "ln(z)/(1+sin(z))" "sin(z)/(1+ln(z))"
    default=0
  endparam
  
  param seed
    caption="Seed"
    default=(0,0)
  endparam
  
  param n0
    caption="z^n0"
    default=(2,0)
  endparam

  
  param n1
    caption="1+z^n1"
    default=(-3,0)
  endparam
  
  param n2
    caption="(1+z)^n2"
    default=(3,0)
  endparam
  
  param r
    caption="root"
    default=(1,0)
  endparam

  param init
    enum="auto" "z-init" "pixel-init"
    default=0
    hint="z initiates by the actual pixelvalue."
  endparam
  
  param zinit
    caption="z-init"
    default=(1.0,0)
  endparam
  
  param bailout
    caption="bailout"
    default=1E-5
  endparam
}

Fractal1.jpg (91.33 KB)

Fractal1.jpg

不知道什么原因精彩的地方数据溢出,整体形状应该是正确的:

捕获.JPG (48.95 KB)

捕获.JPG

36# 榕坚
试试增大阈半径能行吗。
37# xiaongxp


增大、减小都不行。好象有两类溢出情况:一种是值太小了指数运算无意义,一种是值太大了溢出。
再一个Uf难题,如何把两种分形合并在一个画面上(两个分形的空白逃逸区内分别画另一个分形):
JD-SG-04 {
; Sylvie Gallet [101324,3444], 1996
          ; use p1 and p2 to adjust the inverted Mandel
          ; modified for UF multi-layer capability by
          ;   Erik Reckase, March 2000
init:
  IF (@p3==1)
    z=c = pixel
  ELSEIF (@p3==0)
    z=c = @p1/(pixel + @p2)
  ELSE
    IF (whitesq)
      z=c = pixel
    ELSE
      z=c = @p1/(pixel + @p2)
    ENDIF
  ENDIF
loop:
  z = z*z + c
bailout:
  |z| < 4
default:
  title = "JD-SG-04"
  periodicity = 0
  maxiter = 500
  magn = 1
  center = (0,0)
  method = multipass
  param p1
    caption = "2nd Mandel Scalar"
    default = (-1,0)
    hint = "Controls the rotation and scale of the second \
            mandel. If multi-layer ,only affects Layer Option '1'"
  endparam
  param p2
    caption = "2nd Mandel Const"
    default = (0,0)
    hint = "Controls the X/Y position of the second mandel. \
            If multi-layer, only affects Layer Option '1'"
  endparam
  param p3
    caption = "Layer Option"
    enum = "Option 1" "Option 2" "Original"
    default = 2
    hint = "Options 1 and 2 are the two separate layers of this \
            formula.  The 'Original' option uses the original \
            PHC formula."
  endparam
}

Fractal1.jpg (76.65 KB)

Fractal1.jpg

这是我做的结果,两个相处的并不十分融洽:

捕获502.JPG (33.51 KB)

捕获502.JPG

40# 榕坚
实现了C集与C^-1集的嵌入,榕老师太伟大了!能分享源文件吗?
返回列表