Capable { init: z = @start complex counter = 1 complex data = (1,0) loop: if counter < @switchcount z = ((z^@power * @data) + #pixel) counter = counter + 2 else z = flip(z)^@power + #pixel counter = 0 endif bailout: |z| <= @bailout default: title = "Capable" center = (-0.5, 0) param start caption = "Starting point" default = (0,0) endparam param power caption = "Power" default = (2,0) endparam param bailout caption = "Bailout value" default = 4.0 min = 1.0 endparam param switchcount caption = "Switchcount" default = 530 endparam param data caption = "Data" default = (1,0) endparam } Galore1 { init: complex z = #pixel complex b = 0 complex a = 0 loop: a = fn1(a+ fn2(b/fn3(z)))+p1 b = fn4(b^2 + z)-p3 z = @fn5(b-a+p2)+ flip(p1) bailout: |z| < @bailout default: title = "Galore1" param bailout caption = "Bailout" default = 30 endparam func fn1 caption = "Func 1" default = ident() endfunc func fn2 caption = "Func 2" default = ident() endfunc func fn3 caption = "Func 3" default = ident() endfunc func fn4 caption = "Func 4" default = ident() endfunc func fn5 caption = "Func 5" default = ident() endfunc param p1 caption = "Parameter 1" default = (-0.39875, -0.01125) endparam param p2 caption = "Parameter 2" default = (0,0) endparam param p3 caption = "Parameter 3" default = (0,0) endparam switch: type = "Galore1" ; edit the line p? = #pixel , change the ? to the parm you want to tweak p2 = #pixel ; comment out the appropriate line below to correspond to the ? parm p1 = p1 ;p2 = p2 fn1 = fn1 fn2 = fn2 fn3 = fn3 fn4 = fn4 fn5 = fn5 bailout = bailout } Galore2 { init: complex z = #pixel complex b = 0 complex a = 0 loop: a = fn1(a+ fn2(b/fn3(z)))+(p3*b + p4) b = fn4(b^2 + z)-p1 z = @fn5(b-a+p2)+ flip(p1) bailout: |z| < @bailout default: title = "Galore2" param bailout caption = "Bailout" default = 30 endparam func fn1 caption = "Func 1" default = ident() endfunc func fn2 caption = "Func 2" default = ident() endfunc func fn3 caption = "Func 3" default = ident() endfunc func fn4 caption = "Func 4" default = ident() endfunc func fn5 caption = "Func 5" default = ident() endfunc param p1 caption = "Parameter 1" default = (-0.39875, -0.01125) endparam param p2 caption = "Parameter 2" default = (0,0) endparam param p3 caption = "Parameter 3" default = (0,0) endparam param p4 caption = "Parameter 4" default = (0,0) endparam switch: type = "Galore2" ; edit the line p? = #pixel , change the ? to the parm you want to tweak p2 = #pixel ; comment out the appropriate line below to correspond to the ? parm p1 = p1 ;p2 = p2 fn1 = fn1 fn2 = fn2 fn3 = fn3 fn4 = fn4 fn5 = fn5 bailout = bailout } Galore3 { init: complex z = #pixel complex b = 0 complex a = 0 loop: a = p3*fn1(a+ fn2(b/fn3(z)))+p1 b = fn4(b^2 + z)-p1 z = @fn5(b-a+p2)+ flip(p1) bailout: |z| < @bailout default: title = "Galore3" param bailout caption = "Bailout" default = 30 endparam func fn1 caption = "Func 1" default = ident() endfunc func fn2 caption = "Func 2" default = ident() endfunc func fn3 caption = "Func 3" default = ident() endfunc func fn4 caption = "Func 4" default = ident() endfunc func fn5 caption = "Func 5" default = ident() endfunc param p1 caption = "Parameter 1" default = (-0.39875, -0.01125) endparam param p2 caption = "Parameter 2" default = (0,0) endparam param p3 caption = "Parameter 3" default = (0,0) endparam switch: type = "Galore3" ; edit the line p? = #pixel , change the ? to the parm you want to tweak p2 = #pixel ; comment out the appropriate line below to correspond to the ? parm p1 = p1 ;p2 = p2 fn1 = fn1 fn2 = fn2 fn3 = fn3 fn4 = fn4 fn5 = fn5 bailout = bailout } Galore4 { init: complex z = #pixel complex b = 0 complex a = 0 loop: a = p3*fn1(a+ fn2(b/fn3(z)))+p1 b = p4*fn4(b^2 + z)-p1 z = @fn5(b-a+p2)+ flip(p1) bailout: |z| < @bailout default: title = "Galore4" param bailout caption = "Bailout" default = 30 endparam func fn1 caption = "Func 1" default = ident() endfunc func fn2 caption = "Func 2" default = ident() endfunc func fn3 caption = "Func 3" default = ident() endfunc func fn4 caption = "Func 4" default = ident() endfunc func fn5 caption = "Func 5" default = ident() endfunc param p1 caption = "Parameter 1" default = (-0.39875, -0.01125) endparam param p2 caption = "Parameter 2" default = (0,0) endparam param p3 caption = "Parameter 3" default = (0,0) endparam param p4 caption = "Parameter 4" default = (0.418858, 0.402432) endparam switch: type = "Galore4" ; edit the line p? = #pixel , change the ? to the parm you want to tweak p2 = #pixel ; comment out the appropriate line below to correspond to the ? parm p1 = p1 ;p2 = p2 fn1 = fn1 fn2 = fn2 fn3 = fn3 fn4 = fn4 fn5 = fn5 bailout = bailout } MyMagnet { init: z = p1 loop: z = sqr( (z^@valua + pixel - @valub) / (@valuc*z + pixel - @valud) ) bailout: |z| < @bailout && |z - 1| > @lowerbailout default: title = "My Magnet" magn = 0.5 maxiter = 1000 periodicity = 0 param p1 caption = "Perturbation" default = (0, 0) hint = "Starting value for each point. You can use this to \ 'perturb' the fractal. Use (0, 0) for the classic set." endparam param bailout caption = "Bailout value" default = 100.0 min = 1 \$IFDEF VER40 exponential = true \$ENDIF hint = "This parameter defines how soon an orbit bails out while \ iterating. Larger values give smoother outlines; smaller values \ generally produce more interesting shapes around the set." endparam param lowerbailout caption = "Convergent bailout value" default = 0.00005 min = 0 \$IFDEF VER40 exponential = true \$ENDIF hint = "This parameter defines how soon a convergent orbit bails out while \ iterating. Smaller values give more precise results but usually \ require more iterations." endparam param valua caption = "Value1" default = (2,0) hint = "" endparam param valub caption = "Value2" default = (1,0) hint = "" endparam param valuc caption = "Value3" default = (2,0) hint = "" endparam param valud caption = "Value4" default = (2,0) hint = "" endparam switch: type = "Magnet1Julia" p1 = pixel bailout = bailout } STM1 { init: z = @start c = #pixel float f = @restart loop: f = f - 1 IF (f <= 1) f = f + @restart c = z^2 z = @start ENDIF z = z^@power + c bailout: |z| < @bailout default: title = "STM1" center = (-0.5,0) periodicity = 0 maxiter = 1000 param start caption = "Start Value" default = (0,0) hint = "Starting value for each point. You can use this to \ 'perturb' the fractal." endparam param power caption = "Exponent" default = (2,0) hint = "Overall exponent for the equation. (2,0) gives \ the classic Mandelbrot type." endparam param bailout caption = "Bailout" default = 1e20 hint = "Bailout value; larger values will cause more \ iterations to be done for each point." endparam param restart caption = "Restart Interval" default = 300 min = 1e-10 hint = "Specifies the number of iterations before c is reset." endparam } STM1 { init: z = @start c = #pixel float f = @restart loop: f = f - 1 IF (f <= 1) f = f + @restart c = z z = @start ENDIF z = z^@power + c bailout: |z| < @bailout default: title = "STM2" center = (-0.5,0) periodicity = 0 maxiter = 1000 param start caption = "Start Value" default = (0,0) hint = "Starting value for each point. You can use this to \ 'perturb' the fractal." endparam param power caption = "Exponent" default = (2,0) hint = "Overall exponent for the equation. (2,0) gives \ the classic Mandelbrot type." endparam param bailout caption = "Bailout" default = 1e20 hint = "Bailout value; larger values will cause more \ iterations to be done for each point." endparam param restart caption = "Restart Interval" default = 300 min = 1e-10 hint = "Specifies the number of iterations before c is reset." endparam }