comment{ You can modify this, and send me to add to file alcamese@libero.it } tendegrees { ;a ten degree polynomial equation global: a = @para b = @parb c = @parc d = @pard ep = @pare f = @parf g = @parg h = @parh i = @pari j = @parj init: z = @start complex val = 0+0i float f_val = 0 loop: z = a*z^10+b*z^9+c*z^8+d*z^7+ep*z^6+f*z^5+g*z^4+h*z^3+i*z^2+j*z+#pixel If @b_mode == 0 val = |z| Elseif @b_mode == 1 val = real(z) Elseif @b_mode == 2 val = imag(z) Elseif @b_mode == 3 val = abs(real(z)) Elseif @b_mode == 4 val = abs(imag(z)) Elseif @b_mode == 5 val = real(z)+imag(z) Elseif @b_mode == 6 val = |real(z)|+|imag(z)| Elseif @b_mode == 7 val = |real(z)+imag(z)| Elseif @b_mode == 8 val = real(z)*imag(z) Elseif @b_mode == 9 val = |real(z)*imag(z)| Elseif @b_mode == 10 val = real(z)/imag(z) Elseif @b_mode == 11 val = abs(real(z))/imag(z) Elseif @b_mode == 12 val = real(z)/abs(imag(z)) Elseif @b_mode == 13 val = abs(real(z)/imag(z)) elseif @b_mode == 14 val = imag(z)/real(z) elseif @b_mode == 15 val = abs(imag(z))/real(z) Elseif @b_mode == 16 val = imag(z)/abs(real(z)) Elseif @b_mode == 17 val = abs(imag(z)/real(z)) Elseif @b_mode == 18 val = @func1(real(z))*@func2(imag(z)) Endif f_val = real(val) bailout: f_val < @bailo default: Title = "Ten degrees" Param start Caption = "Start Value" Default = (0.0,0.0) Endparam Param para Caption = "a (10° degree)" Default = (0.0,0.0) Endparam Param parb Caption = "b (9° degree)" Default = (0.0,0.0) Endparam Param parc Caption = "c (8° degree)" Default = (0.0,0.0) Endparam Param pard Caption = "d (7° degree)" Default = (0.0,0.0) Endparam Param pare Caption = "e (6° degree)" Default = (0.0,0.0) Endparam Param parf Caption = "f (5°degree)" Default = (1.0,0.0) Endparam Param parg Caption = "g (4° degree)" default = (0.0,0.0) Endparam Param parh Caption = "h (3° degree)" Default = (-1.0,0.0) Endparam Param pari Caption = "i (2° degree)" Default = (1.0,0.0) Endparam Param parj Caption = "j (1° degree)" Default = (0.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Param b_mode caption = "Bailout mode" Enum = "|z|" "x" "y" "|x|" "|y|" "x+y" "|x|+|y|" "|x+y|"\ "x*y" "|x*y|" "x/y" "|x|/y" "x/|y|" "|x/y|" "y/x"\ "|y|/x" "y/|x|" "|y/x|" "Fn1(x)*Fn2(y)" Default = 0 Endparam Func func1 enabled = @b_mode == 18 Caption = "Fn1" Default = ident() Endfunc Func func2 enabled = @b_mode == 18 Caption = "Fn2" Default = cabs() Endfunc switch: Type = "Tendegreesjulia" para = para parb = parb parc = parc pard = pard pare = pare parf = parf parg = parg parh = parh pari = pari parj = parj seed = #pixel bailo = bailo func1 = func1 func2 = func2 b_mode = b_mode } tendegreesjulia { ;a ten degree polynomial equation global: a = @para b = @parb c = @parc d = @pard ep = @pare f = @parf g = @parg h = @parh i = @pari j = @parj init: z = #pixel complex val = 0+0i float f_val = 0 loop: z = a*z^10+b*z^9+c*z^8+d*z^7+ep*z^6+f*z^5+g*z^4+h*z^3+i*z^2+j*z+@seed If @b_mode == 0 val = |z| Elseif @b_mode == 1 val = real(z) Elseif @b_mode == 2 val = imag(z) Elseif @b_mode == 3 val = abs(real(z)) Elseif @b_mode == 4 val = abs(imag(z)) Elseif @b_mode == 5 val = real(z)+imag(z) Elseif @b_mode == 6 val = |real(z)|+|imag(z)| Elseif @b_mode == 7 val = |real(z)+imag(z)| Elseif @b_mode == 8 val = real(z)*imag(z) Elseif @b_mode == 9 val = |real(z)*imag(z)| Elseif @b_mode == 10 val = real(z)/imag(z) Elseif @b_mode == 11 val = abs(real(z))/imag(z) Elseif @b_mode == 12 val = real(z)/abs(imag(z)) Elseif @b_mode == 13 val = abs(real(z)/imag(z)) elseif @b_mode == 14 val = imag(z)/real(z) elseif @b_mode == 15 val = abs(imag(z))/real(z) Elseif @b_mode == 16 val = imag(z)/abs(real(z)) Elseif @b_mode == 17 val = abs(imag(z)/real(z)) Elseif @b_mode == 18 val = @func1(real(z))*@func2(imag(z)) Endif f_val = real(val) bailout: f_val < @bailo default: Title = "Ten degrees Julia" Param seed Caption = "Seed Value" Default = (0.425,0.0) Endparam Param para Caption = "a (10° degree)" Default = (0.0,0.0) Endparam Param parb Caption = "b (9° degree)" Default = (0.0,0.0) Endparam Param parc Caption = "c (8° degree)" Default = (0.0,0.0) Endparam Param pard Caption = "d (7° degree)" Default = (0.0,0.0) Endparam Param pare Caption = "e (6° degree)" Default = (2.0,0.0) Endparam Param parf Caption = "f (5°degree)" Default = (0.0,0.0) Endparam Param parg Caption = "g (4° degree)" default = (0.0,0.0) Endparam Param parh Caption = "h (3° degree)" Default = (0.0,0.0) Endparam Param pari Caption = "i (2° degree)" Default = (1.0,0.0) Endparam Param parj Caption = "j (1° degree)" Default = (0.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Param b_mode caption = "Bailout mode" Enum = "|z|" "x" "y" "|x|" "|y|" "x+y" "|x|+|y|" "|x+y|"\ "x*y" "|x*y|" "x/y" "|x|/y" "x/|y|" "|x/y|" "y/x"\ "|y|/x" "y/|x|" "|y/x|" "Fn1(x)*Fn2(y)" Default = 0 Endparam Func func1 enabled = @b_mode == 18 Caption = "Fn1" Default = ident() Endfunc Func func2 enabled = @b_mode == 18 Caption = "Fn2" Default = cabs() Endfunc switch: Type = "Tendegrees" para = para parb = parb parc = parc pard = pard pare = pare parf = parf parg = parg parh = parh pari = pari parj = parj bailo = bailo func1 = func1 func2 = func2 b_mode = b_mode } Maria{ Init: z = #pixel a = @par1 Loop: z = z * @Tfunct(#pixel) / a + 1 / z Bailout: |z| < 4 Default: Param par1 Caption = "Denominatore" Hint = "Valore a della formula z = z * sqrt(#pixel) / a + 1 / z" Default = (2.0, 0.0) Endparam Func Tfunct Caption = "Funzione moltiplicatrice" Hint = "Funzione da applicare al pixel attuale" Default = sqr() Endfunc title = "Maria" } Peppe{ Init: z = #pixel a = @para b = @parb Loop: If |#pixel| <= |sqrt(#pixel)| z = a *z^2/@Func1 (#pixel) + b *@Func2 (#pixel) / z Else z = a * z / @Func2(#pixel) + b * @Func1 (#pixel ) / (z^2) Endif Bailout: |z| < @bailo Default: Param para Caption = "a" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Default = (2.0, 0.0) Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Func Func1 Caption = "Funzione 1" Default = tan() Endfunc Func Func2 Caption = "Funzione 2" Default = cos() Endfunc maxiter = 250 periodicity = 0 Title = "Peppe" } Federica { init: z = #pixel a = @para bail = @bailo loop: z = #pixel + z - (@Func1(z)*@Func2(#pixel)) + a * z^2 If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif Bailout: stop == 0 default: Param para Caption = "a" Hint = "(@Func1(x)*@Func2(#pixel)) + a * z^2" Default = (1.0, 0.0) Endparam Param bail1 enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 1 Endparam Param bailo Caption ="Bailout" Default = 4.0 Min = 0 Endparam Func Func1 Caption = "Func1" Default = atan() Endfunc Func Func2 Caption = "Func2" Default = atan() Endfunc title = "Federica" Switch: Type = "Federica2" seed = #pixel Func1 = Func1 Func2 = Func2 a = para } Federica2 { init: z = #pixel a = @para bail = @bailo loop: z = @seed + z - (@Func1(z)*@Func2(@seed)) + a * z^2 If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif Bailout: stop == 0 default: Param para Caption = "a" Hint = "(@Func1(x)*@Func2(#pixel)) + a * z^2" Default = (1.0, 0.0) Endparam Param bail1 enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 1 Endparam Param bailo Caption ="Bailout" Default = 4.0 Min = 0 Endparam Func Func1 Caption = "Func1" Default = atan() Endfunc Func Func2 Caption = "Func2" Default = atan() Endfunc title = "Federica2" Switch: Type = "Federica" bailo = bailo Func1 = Func1 Func2 = Func2 bail1 = bail1 } Marcello { init: z = #pixel a = @para b = @parb c = @parc d = @pard bail = @bail2 stop = 0 loop: z = #pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel)) - @Func3(z^2) + #pixel^z If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif bailout: stop == 0 default: Param para Caption = "a" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (1.0, 0.0) Endparam Param parc Caption = "c" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (1.0,0.0) Endparam Param pard Caption = "d" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (0.0, 0.0) Endparam Param bail1 enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 0 Endparam Param bail2 Caption = "Bailout" Default = 4.0 Endparam Func Func1 Caption = "Func1" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc Func Func1 Caption = "Func1" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc Func Func2 Caption = "Func2" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc Func Func3 Caption = "Func3" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc title = "Marcello" center = (0.6837, 0.0) Switch: Type = "Marcello2" seed = #pixel Func1 = Func1 Func2 = Func2 Func3 = Func3 a = para b = parb c = parc bail2 = bail2 bail1 = bail1 } Marcello2 { init: z = #pixel a = @para b = @parb c = @parc d = @pard bail = @bail2 stop = 0 loop: z = @seed * @Func1(z / a) / @Func2(b * @seed + c * z^(d * @seed)) - @Func3(z^2) + @seed^z If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif bailout: stop == 0 default: Param seed Caption = "Seed" Default = (2.2462, 0.0375) Endparam Param para Caption = "a" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (1.0, 0.0) Endparam Param parc Caption = "c" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (1.0,0.0) Endparam Param pard Caption = "d" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = (0.0, 0.0) Endparam Param bail1 enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 0 Endparam Param bail2 Caption = "Bailout" Default = 4.0 Endparam Func Func1 Caption = "Func1" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc Func Func1 Caption = "Func1" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc Func Func2 Caption = "Func2" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc Func Func3 Caption = "Func3" Hint = "#pixel * @Func1(z / a) / @Func2(b * #pixel + c * z^(d * #pixel) - @Func3(z^2) + #pixel^z" Default = ident() Endfunc title = "Marcello2" center = (1.2656, 0.0) magn = .67 Switch: Type = "Marcello" Func1 = Func1 Func2 = Func2 Func3 = Func3 a = para b = parb c = parc bail2 = bail2 bail1 = bail1 } Rossana { ;To see it easily, use spiral.dmj coloring, or Exponential Smoothing. ; after, you can see it, and work with this!! init: a = @para b = @parb c = @parc If @scelta == 0 z = #pixel Else z = 1/#pixel Endif stop = 0 loop: z = #pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z))) If @bai == 0 If |z| < @valbai stop = 0 Else stop = 1 Endif Elseif @bai == 1 If sqrt((@q * real(z))^2 + (@w * imag(z))^2) < @valbai stop = 0 Else stop = 1 Endif Endif bailout: stop == 0 default: Param bai Caption = "Scelta Bail" Enum = "Cerchio" "Ellisse" Default = 0 Endparam Param valbai Caption = "bailout" Default = 8.0 Endparam Param para Caption = "a" Hint = "#pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z)))" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Hint = "#pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z)))" Default = (1.0, 0.0) Endparam Param parc Caption = "c" Hint = "#pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z)))" Default = (1.0, 0.0) Endparam Param q Caption = "q" Hint = "Par Bailout" Default = (1.0, 0.0) Endparam Param w Caption = "w" Hint = "Par Bailout" Default = (1.0, 0.0) Endparam Param scelta Caption = "Tipo" enum = "Diretto" "Inverso" Default = 0 Endparam Func Func1 Caption = "Func1" Hint = "#pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z)))" Default = recip() Endfunc Func Func2 Caption = "Func2" Hint = "#pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z)))" Default = sqr() Endfunc Func Func3 Caption = "Func3" Hint = "#pixel + a * @Func1(z)/ ( b * @Func2(c * @Func3(z)))" Default = sqr() Endfunc title = "Rossana" center = (0.0, 0.0) magn = 0.82 } Geronimo { ;try a = 1.1 init: a = @para b = @parb c = @parc d = @pard z = #pixel If @caso == 0 doing = 0 Else doing = 1 Endif loop: z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif bailout: stop == 0 default: Param para Caption = "a" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = (1.0, 0.0) Endparam Param parc Caption = "c" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = (1.0, 0.0) Endparam Param pard Caption = "d" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = (1.0, 0.0) Endparam Param bail1 Caption = "Tipo bailout" enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 3 Endparam Param bail Caption = "bailout" Default = 4 Endparam Param caso Caption = "caso" enum = "No" "Sì" Default = 0 Endparam Func Func1 Caption = "Func1" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = cotanh() Endfunc Func Func2 Caption = "Func2" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = sqr() Endfunc Func Func3 Caption = "Func3" Hint = "z = a * #pixel + b/ z / @Func1 (@Func2 (1/z)) - c * @Func3 ( doing * #rand/100 + z - #pixel) + d" Default = flip() Endfunc title = "Geronimo" center = (-1.218359, 1.08129) magn = 1.70847 } Gennaro { ;intresting putting c = 0 init: a = @para b = @parb z = #pixel c = #pixel stop = 0 bail = @bailo loop: If @scelta == 0 c = @parc Elseif @scelta == 1 c = #pixel Else c = z Endif z = a * @Func1 (#pixel) / @Func2 (z) + b * @Func3(z) / @Func4 (#pixel) + c If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif@bail1 == 4 If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 5 If imag(z)^real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 6 If real(z)^imag(z) < |bail| stop = 0 Else stop = 1 Endif Endif bailout: stop == 0 default: title = "Gennaro" magn = 0.171181 Param para Caption = "a" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Default = (1.0, 0.0) Endparam Param scelta Caption = "Tipo c" Enum = "Fisso" "Pixel" "Iterato" Default = 0 Endparam If @scelta == 0 Param parc Caption = "c" Default = (1.0, 0.0) Endparam Endif Param bail1 Caption = "Tipo bailout" Enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" "i^r" "r^i" Default = 0 Endparam Param bailo Caption = "Bailout" Default = 4 Endparam Func Func1 Caption = "Func1" Default = tan () Endfunc Func Func2 Caption = "Func2" Default = conj () Endfunc Func Func3 Caption = "Func3" Default = ident () Endfunc Func Func4 Caption = "Func4" Default = ident () Endfunc Switch: Type = "Gennaro2" Func1 = Func1 Func2 = Func2 Func3 = Func3 Func4 = Func4 scelta = scelta a = para b = parb c = parc seed = #pixel } Gennaro2 { ;intresting putting c = 0 init: a = @para b = @parb z = #pixel c = #pixel stop = 0 bail = @bailo loop: If @scelta == 0 c = @parc Elseif @scelta == 1 c = #pixel Else c = z Endif z = a * @Func1 (@seed) / @Func2 (z) + b * @Func3(z) / @Func4 (@seed) + c If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif@bail1 == 4 If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 5 If imag(z)^real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 6 If real(z)^imag(z) < |bail| stop = 0 Else stop = 1 Endif Endif bailout: stop == 0 default: title = "Gennaro2" magn = 1.0 center = (0.2625, -0.75) Param seed Caption = "seed" Default = (0.223402056887154532, 0.782934072706667212) Endparam Param para Caption = "a" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Default = (1.0, 0.0) Endparam Param scelta Caption = "Tipo c" Enum = "Fisso" "Pixel" "Iterato" Default = 0 Endparam If @scelta == 0 Param parc Caption = "c" Default = (1.0, 0.0) Endparam Endif Param bail1 Caption = "Tipo bailout" Enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" "i^r" "r^i" Default = 0 Endparam Param bailo Caption = "Bailout" Default = 4 Endparam Func Func1 Caption = "Func1" Default = abs () Endfunc Func Func2 Caption = "Func2" Default = conj () Endfunc Func Func3 Caption = "Func3" Default = ident () Endfunc Func Func4 Caption = "Func4" Default = ident () Endfunc Switch: Type = "Gennaro" Func1 = Func1 Func2 = Func2 Func3 = Func3 Func4 = Func4 scelta = scelta a = para b = parb c = parc } Peppevar{ Init: z = #pixel a = @para b = @parb Loop: z = a * z / @Func2(#pixel) + b * @Func1 (#pixel ) / (z^2) Bailout: |z| < @bail Default: Param para Caption = "a" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Default = (2.0, 0.0) Endparam Param bail Caption = "Bailout" Default = 4 Endparam Func Func1 Caption = "Funzione 1" Default = recip() Endfunc Func Func2 Caption = "Funzione 2" Default = cos() Endfunc maxiter = 250 periodicity = 0 magn = 0.53125 Title = "Peppe var" } Mandelbrotwith2Func { ; Many possibility of modifications init: z = @start loop: z = @Func1(z) * @Func2 (z) + #pixel bailout: |z| <= @bailout default: title = "Mandelbrot with 2 Functions" center = (0.15, 0) param start caption = "ziniz" default = (0,0) hint = "Perturbazione" endparam Func Func1 Caption = "Func1" Hint = "z = @Func1(z) * @Func2 (z) + #pixel" Default = ident() Endfunc Func Func2 Caption = "Func2" Hint = "z = @Func1(z) * @Func2 (z) + #pixel" Default = atanh() Endfunc param bailout caption = "Bailout value" default = 100.0 min = 1.0 hint = "Defines how soon an orbit bails out, i.e. doesn't belong \ to the Mandelbrot set anymore." endparam switch: type = "Juliawith2Func" seed = #pixel power = power bailout = bailout Func1 = Func1 Func2 = Func2 } Juliawith2Func { ; Julia with possibility to change the ;function of the two z (z * z) of the ;formula. init: z = #pixel loop: z = @Func1(z) * @Func2(z) + @seed bailout: |z| <= @bailout default: title = "Julia with 2 Functions" param seed caption = "Julia seed" default = (0.425, -0.9125) hint = "z = @Func1(z) * @Func2(z) + @seed" endparam Func Func1 Caption = "Func1" Hint = "z = @Func1(z) * @Func2(z) + @seed" Default = cos() Endfunc Func Func2 Caption = "Func2" Hint = "z = @Func1(z) * @Func2(z) + @seed" Default = cabs() Endfunc param bailout caption = "Bailout" default = 4.0 min = 1.0 hint = "Defines how soon an orbit bails out, i.e. doesn't belong \ to the Mandelbrot set anymore." endparam switch: type = "Mandelbrotwith2Func" power = power bailout = bailout Func1 = Func1 Func2 = Func2 } Jepessen { ;A simple Fracta, with only three ;parameters init: z = #pixel c = @seme loop: z = z / @Func1( 1 / z ) + c bailout: z < @bailout default: title = "Jepessen" magn = 5 Param seme Caption = "Seme" Default = (-0.6,-0.3) Hint = "Seed of the iteration" Endparam Param bailout Caption = "Bailout" Default = 3 Endparam Func Func1 Caption = "Funzione" Hint = "Function at the denominator" Default = tan() Endfunc } ChebyshevT { ;This formula uses the ;orthogonal Chebyshev Polinomial ;the recursive formula to find ;the Chebyshev of N degree is: ; T0 = 1 ; T1 = x ; Tn+1 = 2z Tn - Tn-1 ;The min n to draw fractal is 1 init: int n = @grado z = #pixel i = 0 c = @seed loop: ;Use a for cicle to fond the value of z, instead of ;building the entire formula. Tnprec = 1 Tn = z i = 1 while (i <= n) Tnsucc = 2 * z * Tn - Tnprec Tnprec = Tn Tn = Tnsucc i = i + 1 endwhile z = Tnsucc + c bailout: |z| < @bailout default: title = "Chebyshev T" magn = 1.95122 Param grado Caption = "Degree" Hint = "z = ChebyshevT(n,x)+seed" Default = 5 min = 1 Endparam Param seed Caption = "Seed" Hint = "z = ChebyshevT(n,x)+seed" Default = (1.0,0.0) Endparam Param bailout Caption = "Bailout" Default = 4.0 Endparam } pythagorean { ;pythagorean triples ;formula is a = r^2 - s^2, b = 2rs ;a and b are the two "legs" of the pythagorean triple ;a = r^2 - s^2 ;b = 2*r*s ;z = a + b ;r = a + function1(#pixel) ;s = b + function2(#pixel) init: r = @parr s = @pars z = #pixel loop: a = r^2 - s^2 b = 2*r*s z = a + b r = a + @Func1(#pixel) s = b + @func2(#pixel) bailout: |z| < @ba default: title = "pythagorean" Param parr Caption = "r" Default = (0.0,0.0) Endparam Param pars Caption = "s" Default = (0.0,0.0) Endparam Param ba Caption = "bailout" Default = 4.0 Endparam Func Func1 Caption = "Function 1" Default = atan() Endfunc Func Func2 Caption = "Function 2" Default = tan() Endfunc } MandelbrotWith3Functions { ;This is an extension of Mandelbrot ;with 2 Function. ;The entire looping Formula is ;inside the main function. ;We can put a and b inside or ;outside other 2 functions, ;like the c (pixel) parameter. ;we can change bailout, too ;with c inside or outside, and ;all functions ident(), we ;have the standard mandelbrot. init: z = #pixel tipo_bailo = 0 loop: If @dove_c == 0 c1 = #pixel c2 = 0 Elseif @dove_c == 1 c1 = 0 c2 = #pixel Else c1 = #pixel c2 = #pixel Endif If @dove_a == 0 a1 = @para a2 = 1.0 Elseif @dove_a == 1 a1 = 1.0 a2 = @para Else a1 = @para a2 = @para Endif If @dove_b == 0 b1 = @parb b2 = 1.0 Elseif @dove_b == 1 b1 = 1.0 b2 = @parb Else b1 = @parb b2 = @parb Endif z = @Func1(a1 * @Func2(a2 * z) * b1 * @Func3(b2 * z) + c1) + c2 If @kind == 0 tipo_bailo = z Elseif @kind == 1 tipo_bailo = z * z Elseif @kind == 2 tipo_bailo = Sqrt (z) Elseif @kind == 3 tipo_bailo = Exp(z) Elseif @kind == 4 tipo_bailo = Sin (z) Elseif @kind == 5 tipo_bailo = real (z) / imag (z) Elseif @kind == 6 tipo_bailo = imag(z) / real (z) Elseif @kind == 7 tipo_bailo = atan(real (z)/ imag(z)) Endif bailout: |tipo_bailo| < @bailo default: title = "Mandelbrot with 3 Functions" center = (-0.5,0.0) Param dove_c Caption = "Where pixel?" enum = "inside" "outside" "both" Default = 2 Endparam Param dove_a Caption = "Where a?" enum = "inside" "outside" "both" Default = 1 Endparam Param para Caption = "a" Default = (1.0,0.0) Endparam Param dove_b Caption = "Where b?" enum = "inside" "outside" "both" Default = 1 Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param kind Caption = "Type Bailout" enum = "|z|" "|z*z|" "|Sqrt(z)|" "|Exp(z)|" "|Sin(z)|" "x/y" "y/x" "angle" Default = 0 Endparam Param bailo Caption = "bailout" Default = 4 Endparam Func Func1 Caption = "Global Func" Default = sqr() Endfunc Func Func2 Caption = "Function 1" Default = asinh() Endfunc Func Func3 Caption = "Function 2" Default = tanh() Endfunc switch: Type = "Juliawith3functions" para = para parb = parb dove_a = dove_a dove_b = dove_b dove_c = dove_c bailo = bailo kind = kind Func1 = Func1 Func2 = Func2 Func3 = Func3 seed = #pixel } Juliawith3functions { ;This is an extension of Julia ;with 2 Function. ;The entire looping Formula is ;inside the main function. ;We can put a and b inside or ;outside other 2 functions, ;like the seed parameter. ;If all functions are ident(), ;and seed is inside or outside, ;we have standard Julia ;we can change bailout, too init: z = #pixel tipo_bailo = 0 loop: If @dove_c == 0 c1 = @seed c2 = 0 Elseif @dove_c == 1 c1 = 0 c2 = @seed Else c1 = @seed c2 = @seed Endif If @dove_a == 0 a1 = @para a2 = 1.0 Elseif @dove_a == 1 a1 = 1.0 a2 = @para Else a1 = @para a2 = @para Endif If @dove_b == 0 b1 = @parb b2 = 1.0 Elseif @dove_b == 1 b1 = 1.0 b2 = @parb Else b1 = @parb b2 = @parb Endif z = @Func1(a1 * @Func2(a2 * z) * b1 * @Func3(b2 * z) + c1) + c2 If @kind == 0 tipo_bailo = z Elseif @kind == 1 tipo_bailo = z * z Elseif @kind == 2 tipo_bailo = Sqrt (z) Elseif @kind == 3 tipo_bailo = Exp(z) Elseif @kind == 4 tipo_bailo = Sin (z) Elseif @kind == 5 tipo_bailo = real (z) / imag (z) Elseif @kind == 6 tipo_bailo = imag(z) / real (z) Elseif @kind == 7 tipo_bailo = atan(real (z)/ imag(z)) Endif bailout: |tipo_bailo| < @bailo default: title = "Julia with 3 Functions" center = (0.0,0.0) Param seed Caption = "Seed" Default = (0.632421875,0.464453125) Endparam Param dove_c Caption = "Where seed?" enum = "inside" "outside" "both" Default = 0 Endparam Param dove_a Caption = "Where a?" enum = "inside" "outside" "both" Default = 1 Endparam Param para Caption = "a" Default = (1.0,0.0) Endparam Param dove_b Caption = "Where b?" enum = "inside" "outside" "both" Default = 1 Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param kind Caption = "Type Bailout" enum = "|z|" "|z*z|" "|Sqrt(z)|" "|Exp(z)|" "|Sin(z)|" "x/y" "y/x" "angle" Default = 0 Endparam Param bailo Caption = "bailout" Default = 4 Endparam Func Func1 Caption = "Global Func" Default = conj() Endfunc Func Func2 Caption = "Function 1" Default = sqr() Endfunc Func Func3 Caption = "Function 2" Default = ident() Endfunc switch: Type = "Mandelbrotwith3functions" para = para parb = parb dove_a = dove_a dove_b = dove_b dove_c = dove_c bailo = bailo kind = kind Func1 = Func1 Func2 = Func2 Func3 = Func3 } BasicNewton { init: z = #pixel loop: zold = z z = z - (z^3-1)/(3*z^2 ) bailout: |z-zold| > 0.000001 default: title = "Basic Newton" } MyNewton { ;solving many formulas init: z = #pixel c = @parc b = @parb a = @para pow1 = @p1 pow2 = @p2 valore = 0 y = 0 loop: zold = z ;type of function If @kind == 0 z = z - (a * z^pow1 + b)/(a * pow1 * z^(pow1 - 1)) Elseif @kind == 1 z = z - (a * z^pow1 + b * z^pow2 + c) / (a * pow1 * z^(pow1 - 1) + b * pow2 * z^(pow2 - 1)) Elseif @kind == 2 z = z - sin(a * z) / (a * cos(a * z)) Elseif @kind == 3 z = z + cos(a * z) / (a * sin(a * z)) Elseif @kind == 4 z = z - tan(a * z) / (2 * a /(1 + cos(2*a*z))) Elseif @kind == 5 z = z - cotan(a * z) / (a * 2 / (-1 + cos (2 * a * z))) Elseif @kind == 6 z = z - log(z)*z Elseif @kind == 7 z = z - a*sin(b*z^pow1)*exp(c*z^pow2)/(a*b*exp(c*z^pow2)*pow1*z^(-1+pow1)*cos(b*z^p1)+a*c*exp(c*z^pow2)*pow2*z^(-1+pow2)*sin(b*z^pow1)) Endif ;Type of bailout If @bailkind == 0 valore = z - zold Elseif @bailkind == 1 valore = (z - zold)^2 Elseif @bailkind == 2 valore = log(1/(z-zold)) Elseif @bailkind == 3 y = y+3 t = z^2 w = t - zold t = t*w/(2+y) valore = t-w Endif bailout: |valore| >= @bailo default: title = "My Newton" magn = 0.0411765 center = (-4.809523,2.068452) periodicity = 0 Param kind Caption = "Function Type" Hint = "This is the function to iterate" enum = "a * z^pow1 + b" "a*z^pow1+b*z^pow2+c" "sin (a*z)" "cos (a*z)" "tan(a*z)" "cotan (a*z)" "log(z)" Default = 1 Endparam Param bailkind Caption = "Type bailout" Hint = "This specifies the kind of bailout applied to the function" enum = "z-zold" "(z-zold)^2" "log(1/(z-zold))" "Two pass" Default = 0 Endparam Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (4.0,4.0) Endparam Param parc Caption = "c" Default = (10.0,10.0) Endparam Param p1 Caption = "pow1" Default = (3.0,4.0) Endparam Param p2 Caption = "pow2" Default = (4.0,4.0) Endparam Param bailo Caption = "Bailout" Default = 0.000001 Endparam } Pixel { ;This create a pixel fractal plane. ; You can decide if the plane must ;be all inside and outside, and the ; number of iteration for every pixel. init: int i = 0 z = #pixel loop: If @ins_out == false i = i + 1 Endif bailout: @ins_out && (i < @bailo) default: title = "Pixel" Param bailo Caption = "iterations" Hint = "Number of iteration for every pixel" Default = 1 min = 0 Endparam Param ins_out Caption = "Inside" Hint = "Type of pixel formula" Default = false Endparam } Dan1 { init: z = #pixel a = @para b = @parb loop: z = a * @func1(#pixel*z)^(b * @func2(#pixel*z)) bailout: |z| < @bailo default: title = "Dan1" magn = 0.201923 center = (0.0,-19.678571428) Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Func func1 Caption = "Base Function" Default = cosh() Endfunc Func func2 Caption = "exp. Function" Default = conj() Endfunc } Dan2 { init: z = #pixel a = @para b = @parb c = @parc loop: z = a*z^3+b*@func1(z-#pixel*c) a = a + @ai b = b + @bi c = c + @ci bailout: |z| < @bailo default: title = "Dan2" periodicity = 0 Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (1.0,0.0) Endparam Param ai Caption = "a inc" Default = (0.001,0.0) Endparam Param bi Caption = "b inc" Default = (0.01,0.0) Endparam Param ci Caption = "c inc" Default = (0.001,0.0) Endparam Param bailo Caption = "bailout" Default = 6 Endparam Func func1 Caption = "Function" Default = tan() Endfunc } Dan3 { init: z = #pixel a = @para b = @parb c = @parc loop: z = a/z * @func1(b*z^#pixel*c) bailout: |z| < 4 default: title = "Dan3" periodicity = 0 magn = 8.20513 center = (0.3875,1.5625) maxiter = 1000 Param para Caption = "a" Default = (1.0,1.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (1.0,0.0) Endparam Param bailo Caption = "bailout" Default = 6 Endparam Func func1 Caption = "Function" Default = atan() Endfunc } Dan4 { ;use with internal colouring ;algorithms init: z = #pixel a = @para b = @parb c = @parc loop: z = 1/(@func1(a*z)+1/(@func2(b*z)+1/@func3(c*z))) a = a + @ai b = b + @bi c = c + @ci bailout: |z| < @bailo default: title = "Dan4" periodicity = 0 magn = 1 center = (0.0,0.0) maxiter = 100 Param para Caption = "a" Default = (1.0,1.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (1.0,0.0) Endparam Param ai Caption = "a inc" Default = (0.001,0.0) Endparam Param bi Caption = "b inc" Default = (0.0,0.0) Endparam Param ci Caption = "c inc" Default = (0.001,0.0) Endparam Param bailo Caption = "bailout" Default = 1E20 Endparam Func func1 Caption = "Function" Default = atan() Endfunc Func func2 Caption = "Function too" Default = ident() Endfunc Func func3 Caption = "Function too2" Default = ident() Endfunc } FlexMan{ ;many parameters. ;many possibilietes ;with bailout mode init: z = #pixel a = 0 b = 0 c = 0 d = 0 float finish = 0 loop: If @type_a == 0 a = #pixel Elseif @type_a == 1 a = z Elseif @type_a == 2 a = atan2(#pixel) Elseif @type_a == 3 a = atan2(z) Elseif @type_a == 4 a = z * #pixel Elseif @type_a == 5 a = z / #pixel Elseif @type_a == 6 a = #pixel / z Elseif @type_a == 7 a = @func1(z) Elseif @type_a == 8 a = @func1(#pixel) Endif If @type_b == 0 b = #pixel Elseif @type_b == 1 b = z Elseif @type_b == 2 b = atan2(#pixel) Elseif @type_b == 3 b = atan2(z) Elseif @type_b == 4 b = z * #pixel Elseif @type_b == 5 b = z / #pixel Elseif @type_b == 6 b = #pixel / z Elseif @type_b == 7 b = @func2(z) Elseif @type_b == 8 b = @func2(#pixel) Endif If @type_d == 0 d = @pard Elseif @type_d == 1 d = #pixel Endif c = a / b a = a/c z = @func3(a)*@func4(c*z)+ d If @type_f == 0 finish = |z| Elseif @type_f == 1 finish = |a*z| Elseif @type_f == 2 finish = |a/z| Elseif @type_f == 3 finish = |z/a| Elseif @type_f == 4 finish = real (z) Elseif @type_f == 5 finish = imag(z) Elseif @type_f == 6 finish = real(@bail_func(z)) Elseif @type_f == 7 finish = imag(@bail_func(z)) Elseif @type_f == 8 finish = |@bail_func(z)| Endif bailout: finish < @bailo default: title = "Flex Man" Param type_a Caption = "type of a" enum = "pixel" "z" "angle pix" "angle z" "z * pix" "z / pix" "pix / z" "Funz1(z)" "Funz1(pix)" Default = 4 Endparam Param type_b Caption = "type of b" enum = "pixel" "z" "angle pix" "angle z" "z * pix" "z / pix" "pix / z" "Funz2(z)" "Funz2(pix)" Default = 6 Endparam Param type_d Caption = "Type of d" enum = "value d " "pix" Default = 1 Endparam Param pard Caption = "value d" Default = (1.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 5 Endparam Param type_f Caption = "Type bail" Enum = "|z|" "|a*z|" "|a/z|" "|z/a|" "Re z" "Im z" "Re B(z)" "Im B(z)" "|B(z)|" Default = 0 Endparam Func func3 Caption = "First" Hint = "Function of a in the formula" Default = sqrt() Endfunc Func func4 Caption = "Second" Hint = "Function of z in the formula" Default = conj() Endfunc Func func1 Caption = "Funz1" Hint = "Function of a value" Default = ident() Endfunc Func func2 Caption = "Funz2" Hint = "Function of b value" Default = ident() Endfunc Func bail_func Caption = "B" Default = sin() Hint = "Bailout function" Endfunc switch: Type = "FlexJulia" seed = #pixel type_a = type_a type_b = type_b type_c = type_c type_d = type_d pard = pard func1 = func1 func2 = func2 func3 = func3 func4 = func4 bail_func = bail_func bailo = bailo type_f = type_f } FlexJulia{ ;it's not a standard type ;of Julia; I obtained it ;added a seed moltiplication ;in the formula. init: z = @seed a = 0 b = 0 c = 0 d = @pard float finish = 0 loop: If @type_a == 0 a = #pixel Elseif @type_a == 1 a = z Elseif @type_a == 2 a = atan2(#pixel) Elseif @type_a == 3 a = atan2(z) Elseif @type_a == 4 a = z * #pixel Elseif @type_a == 5 a = z / #pixel Elseif @type_a == 6 a = #pixel / z Elseif @type_a == 7 a = @func1(z) Elseif @type_a == 8 a = @func1(#pixel) Endif If @type_b == 0 b = #pixel Elseif @type_b == 1 b = z Elseif @type_b == 2 b = atan2(#pixel) Elseif @type_b == 3 b = atan2(z) Elseif @type_b == 4 b = z * #pixel Elseif @type_b == 5 b = z / #pixel Elseif @type_b == 6 b = #pixel / z Elseif @type_b == 7 b = @func2(z) Elseif @type_b == 8 b = @func2(#pixel) Endif If @type_d == 0 d = @pard Else d = #pixel Endif c = a / b a = a/c z = @func3(a)*@func4(c*z*@seed) + d If @type_f == 0 finish = |z| Elseif @type_f == 1 finish = |a*z| Elseif @type_f == 2 finish = |a/z| Elseif @type_f == 3 finish = |z/a| Elseif @type_f == 4 finish = real (z) Elseif @type_f == 5 finish = imag(z) Elseif @type_f == 6 finish = real(@bail_func(z)) Elseif @type_f == 7 finish = imag(@bail_func(z)) Elseif @type_f == 8 finish = |@bail_func(z)| Endif bailout: finish < @bailo default: title = "Flex Julia" magn = 0.45625 Param type_a Caption = "type of a" enum = "pixel" "z" "angle pix" "angle z" "z * pix" "z / pix" "pix / z" "Funz1(z)" "Funz1(pix)" Default = 6 Endparam Param type_b Caption = "type of b" enum = "pixel" "z" "angle pix" "angle z" "z * pix" "z / pix" "pix / z" "Funz2(z)" "Funz2(pix)" Default = 7 Endparam Param type_d Caption = "Type of d" enum = "value d" "pix" Default = 0 Endparam Param seed Caption = "Seed" Default = (1.0,0.0) Endparam Param pard Caption = "value d" Default = (1.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 5 Endparam Param type_f Caption = "Type bail" Enum = "|z|" "|a*z|" "|a/z|" "|z/a|" "Re z" "Im z" "Re B(z)" "Im B(z)" "|B(z)|" Default = 8 Endparam Func func3 Caption = "First" Hint = "Function of a in the formula" Default = atan() Endfunc Func func4 Caption = "Second" Hint = "Function of z in the formula" Default = sqr() Endfunc Func func1 Caption = "Funz1" Hint = "Function of a value" Default = atanh() Endfunc Func func2 Caption = "Func2" Hint = "Function of b value" Default = ident() Endfunc Func bail_func Caption = "B" Default = log() Hint = "Bailout function" Endfunc switch: Type = "FlexMan" type_a = type_a type_b = type_b type_c = type_c type_d = type_d pard = pard func1 = func1 func2 = func2 func3 = func3 func4 = func4 bail_func = bail_func bailo = bailo type_f = type_f } JovaMan { init: z = #pixel a = @para b = @parb fin = @type_f float bt = 0 actual_z = 0 loop: zold = z ;Definition of actual_z If @yes_zold == true actual_z = 1/zold Elseif @yes_zold == false actual_z = z Endif z = a * @func1(z^2) + 1 /(b * @func2(actual_z)) + #pixel ;definition of bailout type If fin == 0 bt = |z| Elseif fin == 1 bt = real(z) Elseif fin == 2 bt = imag(z) Elseif fin == 3 bt = real(z)+imag(z) Elseif fin == 4 bt = real(z) - imag(z) Elseif fin == 5 bt = imag(z) - real(z) Elseif fin == 6 bt = real(z)/imag(z) Elseif fin == 7 bt = imag(z)/real(z) Elseif fin == 8 bt = imag(z)*real(z) Elseif fin == 9 bt = |z - zold| Elseif fin == 10 bt = |zold - z| Elseif fin == 11 bt = |z + zold| Elseif fin == 12 bt = |@bail_func(z)| Elseif fin == 13 bt = |@bail_func(z+zold)| Elseif fin == 14 bt = |@bail_func(z-zold)| Elseif fin == 15 bt = |@bail_func(zold-z)| Endif bailout: bt < @bailo default: title = "Jova Man" center = (-2.375,0.0) Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param bailo Caption = "bailout" Default = 4.0 Endparam Param type_f Caption = "Type bail." Enum = "|z|" "real(z)" "imag(z)" "real(z)+imag(z)" "real(z)-imag(z)" "imag(z)-real(z)" "real(z)/imag(z)" "imag(z)/real(z)" "rea(z)*imag(z)" "|z-zold|" "|zold-z|" "|z+zold|" "|Bf(z)|" "|Bf(z+zold)|" "|Bf(z-zold)|" "|Bf(zold-z)|" Default = 0 Endparam Param yes_zold Caption = "Prev. Inv. Iter?" Default = false Endparam Func func1 Caption = "Num. func" Default = sqrt() Endfunc Func func2 Caption = "Den. func" Default = cabs() Endfunc Func bail_func Caption = "Bf" Default = sin() Endfunc switch: Type = "JovaJulia" para = para parb = parb seed = #pixel type_f = type_f bailo = bailo yes_zold = yes_zold func1 = func1 func2 = func2 bail_func = bail_func } JovaJulia { init: z = #pixel a = @para b = @parb fin = @type_f float bt = 0 actual_z = 0 loop: zold = z ;Definition of actual_z If @yes_zold == true actual_z = 1/zold Elseif @yes_zold == false actual_z = z Endif z = a * @func1(z^2) + 1 /(b * @func2(actual_z)) + @seed ;definition of bailout type If fin == 0 bt = |z| Elseif fin == 1 bt = real(z) Elseif fin == 2 bt = imag(z) Elseif fin == 3 bt = real(z)+imag(z) Elseif fin == 4 bt = real(z) - imag(z) Elseif fin == 5 bt = imag(z) - real(z) Elseif fin == 6 bt = real(z)/imag(z) Elseif fin == 7 bt = imag(z)/real(z) Elseif fin == 8 bt = imag(z)*real(z) Elseif fin == 9 bt = |z - zold| Elseif fin == 10 bt = |zold - z| Elseif fin == 11 bt = |z + zold| Elseif fin == 12 bt = |@bail_func(z)| Elseif fin == 13 bt = |@bail_func(z+zold)| Elseif fin == 14 bt = |@bail_func(z-zold)| Elseif fin == 15 bt = |@bail_func(zold-z)| Endif bailout: bt < @bailo default: title = "Jova Julia" center = (0.0,0.0) Param seed Caption = "Seed" Default = (-1.4625,-0.4) Endparam Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param bailo Caption = "bailout" Default = 4.0 Endparam Param type_f Caption = "Type bail." Enum = "|z|" "real(z)" "imag(z)" "real(z)+imag(z)" "real(z)-imag(z)" "imag(z)-real(z)" "real(z)/imag(z)" "imag(z)/real(z)" "rea(z)*imag(z)" "|z-zold|" "|zold-z|" "|z+zold|" "|Bf(z)|" "|Bf(z+zold)|" "|Bf(z-zold)|" "|Bf(zold-z)|" Default = 0 Endparam Param yes_zold Caption = "Prev. Inv. Iter?" Default = false Endparam Func func1 Caption = "Num. func" Default = sqrt() Endfunc Func func2 Caption = "Den. func" Default = cabs() Endfunc Func bail_func Caption = "Bf" Default = sin() Endfunc switch: Type = "JovaMan" para = para parb = parb type_f = type_f bailo = bailo yes_zold = yes_zold func1 = func1 func2 = func2 bail_func = bail_func } Dan5 { init: z = #pixel loop: z = @func1(1/z)^@func2(z) bailout: z < @bailo default: title = "Dan5" Param bailo Caption = "Bailout" Default = 4.0 Endparam Func func1 Caption = "Mant. Func" Default = asinh() Endfunc Func func2 Caption = "Exp. Func" Default = exp() Endfunc } VermutMandel { init: a = @para b = @parb c = @parc z = #pixel zold = z inc_a = @inca aold = 0 float blimit = @max_b_ite inc_b = @incb bold = 0 cold = 0 inc_c = @incc fin = @type_f float bt = 0 float cont = 0 loop: zold = z ;Evalutation of a parameter If @evolv_a == true aold = a a = aold - z * @func_a (aold*b) tempa = a/@func_a(a*aold) a = tempa*a Endif ;Increment of a If @increment_a == true a = a + inc_a Endif ;Evalutation of b parameter cont = 0 If @evolv_b == true bold = b while cont <= blimit cont = cont + 1 b = bold * @func_b(b) b = b/bold b = b^@func_b(bold*cont/10) endwhile Endif ;increment of b parameter If @increment_b == true b = b + inc_b Endif ;Evalutation of c parameter If @evolv_c == true cold = c c = c*z*#pixel c = cold^c*@func_c(c*z) Endif ;Icrement of c parameter If @increment_c == true c = c + inc_c Endif ;Evalutaion of final formula z = @func1(z)*@func2(z*a) + #pixel z = b/z*zold/c c = @func3(a*b*c*z*#pixel*zold) z = @func4(c/z*zold) + a/b * #pixel * z ;Evalutation of the type of bailout If fin == 0 bt = |z| Elseif fin == 1 bt = real(z) Elseif fin == 2 bt = imag(z) Elseif fin == 3 bt = real(z)+imag(z) Elseif fin == 4 bt = real(z) - imag(z) Elseif fin == 5 bt = imag(z) - real(z) Elseif fin == 6 bt = real(z)/imag(z) Elseif fin == 7 bt = imag(z)/real(z) Elseif fin == 8 bt = imag(z)*real(z) Elseif fin == 9 bt = |z - zold| Elseif fin == 10 bt = |zold - z| Elseif fin == 11 bt = |z + zold| Elseif fin == 12 bt = |@bail_func(z)| Elseif fin == 13 bt = |@bail_func(z+zold)| Elseif fin == 14 bt = |@bail_func(z-zold)| Elseif fin == 15 bt = |@bail_func(zold-z)| Endif bailout: bt < @bailo default: title = "Vermut Mandelbrot" periodicity = 0 magn = 1.66667 center = (0.2625,0.0) Param para Caption = "a seed" Default = (1.0,0.0) Hint = "a variable of the iteration loop" Endparam Param evolv_a Caption = "a evolution" Default = true Hint = "This calculates a loop for the a viariable" Endparam Param increment_a Caption = "a increment" Default = false Hint = "This uses the value of a inc. to increase a value at every iteration" Endparam Param inca Caption = "a inc." Default = (0.001,0.001) Hint = "This is the increment of a value, if enabled" Endparam Param parb Caption = "b seed" Default = (1.0,0.0) Hint = "b variable of the iteration loop" Endparam Param evolv_b Caption = "b evolution" Default = true Hint = "This calculates a loop for the b variable" Endparam Param max_b_ite Caption = "b iter." Default = 10 Hint = "This is the number of loops in the b calculation, if enabled." Endparam Param increment_b Caption = "b increment" Default = false Hint = "This uses the value of b inc. to increase b value at every iteration" Endparam Param incb Caption = "b inc." Default = (0.001,0.001) Hint = "This is the increment of b value, if enabled" Endparam Param parc Caption = "c seed" Default = (1.0,0.0) Hint = "c variable of the iteration loop" Endparam Param evolv_c Caption = "c evolution" Default = true Hint = "This calculates a loop for the c variable" Endparam Param increment_c Caption = "c increment" Default = false Hint = "This uses the value of c inc. to increase a value at every iteration" Endparam Param incc Caption = "c inc." Default = (0.001,0.001) Hint = "This is the increment of c value, if enabled" Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Param type_f Caption = "Type bailout" Enum = "|z|" "real(z)" "imag(z)" "real(z)+imag(z)" "real(z)-imag(z)" "imag(z)-real(z)" "real(z)/imag(z)" "imag(z)/real(z)" "rea(z)*imag(z)" "|z-zold|" "|zold-z|" "|z+zold|" "|Bf(z)|" "|Bf(z+zold)|" "|Bf(z-zold)|" "|Bf(zold-z)|" Default = 0 Hint = "This specifies the bailout type." Endparam Func func_a Caption = "a func." Default = ident() Hint = "This is the function in the a loop calculation. This works if the loop is enabled." Endfunc Func func_b Caption = "b func." Default = ident() Hint = "This is the function in the b loop calculation. This works if the loop is enabled." Endfunc Func func_c Caption = "c func." Default = log() Hint = "This is the function in the c loop calculation. This works if the loop is enabled." Endfunc Func func1 Caption = "Function 1" Default = ident() Hint = "The first function in the formula calculation" Endfunc Func func2 Caption = "Function 2" Default = acosh() Hint = "The second function in the formula calculation" Endfunc Func func3 Caption = "Function 3" Default = ident() Hint = "The third function in the formula calculation" Endfunc Func func4 Caption = "Function 4" Default = ident() Hint = "The fourth function in the formula calculation" Endfunc Func bail_func Caption = "Bf" Default = sin() Hint = "This is the bailout calculation function if enabled in the bailout type." Endfunc switch: Type = "VermutJulia" seed = #pixel para = para parb = parb parc = parc inca = inca max_b_ite = max_b_ite incb = incb incc = incc type_f = type_f func_a = func_a func_b = func_b func_c = func_c func1 = func1 func2 = func2 func3 = func3 func4 = func4 bail_func = bail_func type_f = type_f evolv_a = evolv_a evolv_b = evolv_b evolv_c = evolv_c increment_a = increment_a increment_b = increment_b increment_c = increment_c bailo = bailo } VermutJulia { init: a = @para b = @parb c = @parc z = @seed zold = z inc_a = @inca aold = 0 float blimit = @max_b_ite inc_b = @incb bold = 0 cold = 0 inc_c = @incc fin = @type_f float bt = 0 float cont = 0 loop: zold = z ;Evalutation of a parameter If @evolv_a == true aold = a a = aold - z * @func_a (aold*b) tempa = a/@func_a(a*aold) a = tempa*a Endif ;Increment of a If @increment_a == true a = a + inc_a Endif ;Evalutation of b parameter cont = 0 If @evolv_b == true bold = b while cont <= blimit cont = cont + 1 b = bold * @func_b(b) b = b/bold b = b^@func_b(bold*cont/10) endwhile Endif ;increment of b parameter If @increment_b == true b = b + inc_b Endif ;Evalutation of c parameter If @evolv_c == true cold = c c = c*z*#pixel c = cold^c*@func_c(c*z) Endif ;Icrement of c parameter If @increment_c == true c = c + inc_c Endif ;Evalutaion of final formula z = @func1(z)*@func2(z*a) + @seed z = b/z*zold/c c = @func3(a*b*c*z*@seed*zold) z = @func4(c/z*zold) + a/b * @seed * z ;Evalutation of the type of bailout If fin == 0 bt = |z| Elseif fin == 1 bt = real(z) Elseif fin == 2 bt = imag(z) Elseif fin == 3 bt = real(z)+imag(z) Elseif fin == 4 bt = real(z) - imag(z) Elseif fin == 5 bt = imag(z) - real(z) Elseif fin == 6 bt = real(z)/imag(z) Elseif fin == 7 bt = imag(z)/real(z) Elseif fin == 8 bt = imag(z)*real(z) Elseif fin == 9 bt = |z - zold| Elseif fin == 10 bt = |zold - z| Elseif fin == 11 bt = |z + zold| Elseif fin == 12 bt = |@bail_func(z)| Elseif fin == 13 bt = |@bail_func(z+zold)| Elseif fin == 14 bt = |@bail_func(z-zold)| Elseif fin == 15 bt = |@bail_func(zold-z)| Endif bailout: bt < @bailo default: title = "Vermut Julia" periodicity = 0 magn = 1.66667 center = (0.2625,0.0) Param seed Caption = "Seed" Default = (0.539999445001109998,-0.524998950002099996) Endparam Param para Caption = "a seed" Default = (1.0,0.0) Hint = "a variable of the iteration loop" Endparam Param evolv_a Caption = "a evolution" Default = true Hint = "This calculates a loop for the a viariable" Endparam Param increment_a Caption = "a increment" Default = false Hint = "This uses the value of a inc. to increase a value at every iteration" Endparam Param inca Caption = "a inc." Default = (0.001,0.001) Hint = "This is the increment of a value, if enabled" Endparam Param parb Caption = "b seed" Default = (1.0,0.0) Hint = "b variable of the iteration loop" Endparam Param evolv_b Caption = "b evolution" Default = true Hint = "This calculates a loop for the b variable" Endparam Param max_b_ite Caption = "b iter." Default = 10 Hint = "This is the number of loops in the b calculation, if enabled." Endparam Param increment_b Caption = "b increment" Default = false Hint = "This uses the value of b inc. to increase b value at every iteration" Endparam Param incb Caption = "b inc." Default = (0.001,0.001) Hint = "This is the increment of b value, if enabled" Endparam Param parc Caption = "c seed" Default = (1.0,1.0) Hint = "c variable of the iteration loop" Endparam Param evolv_c Caption = "c evolution" Default = true Hint = "This calculates a loop for the c variable" Endparam Param increment_c Caption = "c increment" Default = false Hint = "This uses the value of c inc. to increase a value at every iteration" Endparam Param incc Caption = "c inc." Default = (0.001,0.001) Hint = "This is the increment of c value, if enabled" Endparam Param bailo Caption = "Bailout" Default = 10.0 Endparam Param type_f Caption = "Type bailout" Enum = "|z|" "real(z)" "imag(z)" "real(z)+imag(z)" "real(z)-imag(z)" "imag(z)-real(z)" "real(z)/imag(z)" "imag(z)/real(z)" "rea(z)*imag(z)" "|z-zold|" "|zold-z|" "|z+zold|" "|Bf(z)|" "|Bf(z+zold)|" "|Bf(z-zold)|" "|Bf(zold-z)|" Default = 0 Hint = "This specifies the bailout type." Endparam Func func_a Caption = "a func." Default = abs() Hint = "This is the function in the a loop calculation. This works if the loop is enabled." Endfunc Func func_b Caption = "b func." Default = ident() Hint = "This is the function in the b loop calculation. This works if the loop is enabled." Endfunc Func func_c Caption = "c func." Default = log() Hint = "This is the function in the c loop calculation. This works if the loop is enabled." Endfunc Func func1 Caption = "Function 1" Default = acosh() Hint = "The first function in the formula calculation" Endfunc Func func2 Caption = "Function 2" Default = acosh() Hint = "The second function in the formula calculation" Endfunc Func func3 Caption = "Function 3" Default = flip() Hint = "The third function in the formula calculation" Endfunc Func func4 Caption = "Function 4" Default = sqr() Hint = "The fourth function in the formula calculation" Endfunc Func bail_func Caption = "Bf" Default = sin() Hint = "This is the bailout calculation function if enabled in the bailout type." Endfunc switch: Type = "VermutMandel" para = para parb = parb parc = parc inca = inca max_b_ite = max_b_ite incb = incb incc = incc type_f = type_f func_a = func_a func_b = func_b func_c = func_c func1 = func1 func2 = func2 func3 = func3 func4 = func4 bail_func = bail_func type_f = type_f evolv_a = evolv_a evolv_b = evolv_b evolv_c = evolv_c increment_a = increment_a increment_b = increment_b increment_c = increment_c bailo = bailo } Dan6 { init: z = #pixel loop: z = @para^@func1(@func2(z)) bailout: |z| < @bailo default: title = "Dan6" Param para Caption = "Mant" Default = (2.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Func func1 Caption = "Function 1" Default = sqr() Endfunc Func func2 Caption = "Function 2" Default = atanh() Endfunc } Dan7 { init: z = #pixel loop: z = #pixel/z z = @func1(z) + #pixel bailout: |z| < @bailo default: title = "Dan7" Param @bailo Caption = "Bailout" Default = 4.0 Endparam Func func1 Caption = "Function" Default = flip() Endfunc } Dan8 { init: z = #pixel loop: z = @func1(#pixel/z) z = @func2(z)/z + #pixel bailout: |z| < @bailo default: title = "Dan8" magn = 0.875 center = (0.0,-0.428571) Param bailo Caption = "Bailout" Default = 4.0 Endparam Func func1 Caption = "Pre function" Default = asin() Endfunc Func func2 Caption = "Post function" Default = flip() Endfunc } Carlo2 { Init: a = @para b = @parb z = #pixel bail = @bailo Loop: z = a * z + @Func1(@seed / b) + @Func2(z / @seed) Bailout: |z| < |bail| Default: Param seed Caption = "Seed" Default = (-2.272742857,-1.154142857) Endparam Param para Caption = "a" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = (1.0, 1.0) Endparam Param bailo Caption ="Bailout" Default = 4.0 Min = 0 Endparam Func Func1 Caption = "Func1" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = tan() Endfunc Func Func2 Caption = "Func2" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = log() Endfunc periodicity = 0 magn = 0.7 title = "Carlo Julia" center = (-1.4156, 0.953) switch: Type = "Carlo" para = para parb = parb bailo = bailo Func1 = Func1 Func2 = Func2 } Carlo { Init: a = @para b = @parb z = #pixel bail = @bailo Loop: z = a * z + @Func1(#pixel / b) + @Func2(z / #pixel) Bailout: |z| < |bail| Default: Param para Caption = "a" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = (1.0, 0.0) Endparam Param parb Caption = "b" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = (1.0, 1.0) Endparam Param bailo Caption ="Bailout" Default = 4.0 Min = 0 Endparam Func Func1 Caption = "Func1" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = tan() Endfunc Func Func2 Caption = "Func2" Hint = "a * z + @Func1(#pixel / b) + @Func2(z / #pixel)" Default = abs() Endfunc periodicity = 0 magn = 0.65 title = "Carlo" center = (0.8242589085,0.0033323875) angle = 19.6663 switch: Type = "Carlo2" seed = #pixel para = para parb = parb bailo = bailo Func1 = Func1 Func2 = func2 } Gorg_Julia { ;You can explore this formula with the ;Gorg switching. global: complex a = @para complex b = @parb complex c = @parc float bailout = @b init: z = #pixel float bz = 0.0 loop: z = (z-a/z)/@func1(z)*@func2(b/z+c) + @seed If (@t_b == 0) bz = |z| Elseif (@t_b == 1) bz = real(z) Elseif (@t_b == 2) bz = |real(z)| Elseif (@t_b == 3) bz = imag(z) Elseif (@t_b == 4) bz = |imag(z)| Elseif (@t_b == 5) bz = real(z)*imag(z) Elseif (@t_b == 6) bz = |real(z)*imag(z)| Elseif (@t_b == 7) bz = real(z)/imag(z) Elseif (@t_b == 8) bz = |real(z)/imag(z)| Elseif (@t_b == 9) bz = imag(z)/real(z) Elseif (@t_b == 10) bz = |imag(z)/real(z)| Endif bailout: bz < bailout default: title = "Gorg Julia" Param seed Caption = "Seed" Default = (-0.875,0.0) Endparam Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (1.0,0.0) Endparam Param t_b Caption = "Type Bailout" Enum = "|z|" "real" "|real|" "imag" "|imag|" "real*imag" "|real*imag|" "real/imag" \ "|real/imag|" "imag/real" "|imag/real|" Default = 0 Endparam Param b Caption = "bailout" Default = 4.0 Endparam Func func1 Caption = "f1" Default = conj() Endfunc Func func2 Caption = "f2" Default = sinh() endfunc switch: Type = "Gorg_Mand" para = para parb = parb parc = parc b = b t_b = t_b func1 = func1 func2 = func2 } Gorg_Mand { ;It's useful only as Gorg Julia swithcer. ;I don't obtained anything from this, but ;some interesting shape from Gorg Julia. ;Please tell me if you obtain some interesting ;image from this. global: complex a = @para complex b = @parb complex c = @parc float bailout = @b init: z = (0.0,0.0) float bz = 0.0 loop: z = (z-a/z)/@func1(z)*@func2(b/z+c) + #pixel If (@t_b == 0) bz = |z| Elseif (@t_b == 1) bz = real(z) Elseif (@t_b == 2) bz = |real(z)| Elseif (@t_b == 3) bz = imag(z) Elseif (@t_b == 4) bz = |imag(z)| Elseif (@t_b == 5) bz = real(z)*imag(z) Elseif (@t_b == 6) bz = |real(z)*imag(z)| Elseif (@t_b == 7) bz = real(z)/imag(z) Elseif (@t_b == 8) bz = |real(z)/imag(z)| Elseif (@t_b == 9) bz = imag(z)/real(z) Elseif (@t_b == 10) bz = |imag(z)/real(z)| Endif bailout: bz < bailout default: title = "Gorg" Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (1.0,0.0) Endparam Param t_b Caption = "Type Bailout" Enum = "|z|" "real" "|real|" "imag" "|imag|" "real*imag" "|real*imag|" "real/imag" \ "|real/imag|" "imag/real" "|imag/real|" Default = 0 Endparam Param b Caption = "bailout" Default = 4.0 Endparam Func func1 Caption = "f1" Default = ident() Endfunc Func func2 Caption = "f2" Default = ident() endfunc switch: Type = "Gorg_Julia" para = para parb = parb parc = parc func1 = func1 func2 = func2 t_b = t_b b = b seed = #pixel } Daniele { init: z = #pixel a = @para b = @parb bail = @bail2 stop = 0 loop: z = a *@Func1(#pixel) * @Func2(z) + b * #pixel If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif Bailout: stop == 0 default: Param para Caption = "a" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = (0.0, 1.0) Endparam Param parb Caption = "b" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = (0.0, 2.0) Endparam Param bail1 enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 1 Endparam Param bail2 Caption = "bailout" Default = 9.0 Endparam Func Func1 Caption = "Func1" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = cabs() Endfunc Func Func2 Caption = "Func2" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = abs() Endfunc title = "Daniele" magn = 0.7 center = (-0.5, -0.8) switch: Type = "Daniele2" para = para parb = parb bail1 = bail1 bail2 = bail2 Func1 = Func1 Func2 = Func2 start = #pixel } Daniele2 { init: z = #pixel a = @para b = @parb bail = @bail2 stop = 0 loop: z = a *@Func1(@start) * @Func2(z) + b * @start If @bail1 == 0 If |z| < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 1 If imag(z) + real(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 2 If real(z)/imag(z) < |bail| stop = 0 Else stop = 1 Endif Elseif @bail1 == 3 If imag(z)/real(z) < |bail| stop = 0 Else stop = 1 Endif Else If imag(z)*real(z) < |bail| stop = 0 Else stop = 1 Endif Endif Bailout: stop == 0 default: Param start Caption = "Start" Default = (-0.5089285714,-1.228571429) Endparam Param para Caption = "a" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = (0.0, 1.0) Endparam Param parb Caption = "b" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = (0.0, 2.0) Endparam Param bail1 enum = "Cerchio" "Somma" "r/i" "i/r" "i*r" Default = 1 Endparam Param bail2 Caption = "bailout" Default = 9.0 Endparam Func Func1 Caption = "Func1" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = sqrt() Endfunc Func Func2 Caption = "Func2" Hint = "a *@Func1(#pixel) * @Func2(z) + b * #pixel" Default = abs() Endfunc title = "Daniele2" magn = 0.7 center = (0.0, 0.0) switch: Type = "Daniele" para = para parb = parb bail1 = bail1 bail2 = bail2 Func1 = Func1 Func2 = Func2 } Grem_Julia { init: a = @para b = @parb c = @parc z = #pixel loop: z = @func1(z)*@func2(a*@func3(b*z))+c+@seed If (@Evolution == True) a = b/a b = c*b*z c = a/c Endif bailout: |z| < @bailo default: title = "Grem Julia" Param seed Caption = "Seed" Default = (0.00625,0.30625) Endparam Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (0.0,0.0) Endparam Param Evolution Caption = "Evolution" Default = False Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam Func func1 Caption = "Func1" Default = atan() Endfunc Func func2 Caption = "Func2" Default =sqrt() Endfunc Func func3 Caption = "Func3" Default =sqr() Endfunc switch: Type = "Grem" para = para parb = parb parc = parc Evolution = Evolution func1 = func1 func2 = func2 func3 = func3 bailo = bailo } Grem { ;Evolution parameter doesn't work with ;ALL combinations of functions; explore. init: a = @para b = @parb c = @parc z = (0.0,0.0) loop: z = @func1(z)*@func2(a*@func3(b*z))+c+#pixel If (@Evolution == True) a = b/a b = c*b*z c = a/c Endif bailout: |z| < @bailo default: title = "Grem" Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param parc Caption = "c" Default = (0.0,0.0) Endparam Param Evolution Caption = "Evolution" Default = False Endparam Param bailo Caption = "Bailout" Default = 10.0 Endparam Func func1 Caption = "Func1" Default = sqr() Endfunc Func func2 Caption = "Func2" Default = sqrt() Endfunc Func func3 Caption = "Func3" Default = sqr() Endfunc switch: Type = "Grem_Julia" para = para parb = parb parc = parc Evolution = Evolution func1 = func1 func2 = func2 func3 = func3 bailo = bailo seed = #pixel } FromTutorial { ;Formula Tutorial ;Daniele Lupo ;A formula created for an italian ;tutorial to Ultrafractal ;for a web site that I'm developing. global: ;Variabili usate dalla formula ;inserite nella sezione global ;perchè serve inizializzarle solo una volta float bailout = @bailo bool itera_a = @ita bool itera_b = @itb bool itera_c = @itc bool itera_d = @itd init: ;Variabili che devono essere ri-inzializzate ;ogni volta all'inizio dell'iterazione ;di ogni pixel complex a = @para complex b = @parb complex c = @parc complex d = #pixel complex z = (0.0,0.0) int i = 0 int j = 0 loop: ;Formula principale If (itera_a == True) a = a+b*z Endif If (itera_b == True) b = b-#pixel*b/(1,1) Endif If (itera_c == True) While (i < 10) c = c/1.5+a/c i = i+1 Endwhile Endif If (itera_d == True) While (j < 10) d = @f_d(d)/(b*2) j = j+1 Endwhile Endif z = @f1(a*z^3)+@f2(b*z^2)+@f3(c*z)+@f4(d) bailout: |z| < bailout default: title = "Tutorial Formula" periodicity = 0 Heading Caption = "Valori Parametri" Endheading Param para Caption = "a" Default = (1.0,0.0) Hint = "Valore a della formula" Endparam Param parb Caption = "b" Default = (1.0,0.0) Hint = "Valore b della formula" Endparam Param parc Caption = "c" Default = (1.0,0.0) Hint = "Valore c della formula" Endparam Heading Caption = "Iterazioni" endheading Param ita Caption = "Iterare a?" Default = False Hint = "Specifica se iterare la variabile a" Endparam Param itb Caption = "Iterare b?" Default = False Hint = "Specifica se iterare la variabile b" Endparam Param itc Caption = "Iterare c?" Default = False Hint = "Specifica se iterare la variabile c" Endparam Param itd Caption = "Iterare pixel?" Default = False Hint = "Specifica se iterare il valore del pixel" Endparam Heading Caption = "Valore Bailout" Endheading Param bailo Caption = "Bailout" Default = 4.0 Hint = "Valore di bailout della formula" Endparam Heading Caption = "Funzioni" Endheading Func f_d Caption = "fd" Default = ident() Visible = (@itd == True) Hint = "Funzione valida solo se si itera il pixel" Endfunc Func f1 Caption = "f1" Default = ident() Hint = "Funzione per z^3" Endfunc Func f2 Caption = "f2" Default = ident() Hint = "Funzione per z^2" Endfunc Func f3 Caption = "f3" Default = ident() Hint = "Funzione per z" Endfunc Func f4 Caption = "f4" Default = ident() Hint = "Funzione per il pixel" Endfunc switch: Type = "FromTutorialJulia" seed = #pixel para = para parb = parb parc = parc ita = ita itb = itb itc = itc bailo = bailo f_d = f_d f1 = f1 f2 = f2 f3 = f3 f4 = f4 } FromTutorialJulia { ;Formula Tutorial ;Daniele Lupo ;I've created this formula in a tutorial ;for a fractal web site that I'm creating. global: ;Variabili usate dalla formula ;inserite nella sezione global ;perchè serve inizializzarle solo una volta float bailout = @bailo bool itera_a = @ita bool itera_b = @itb bool itera_c = @itc bool itera_d = @itd init: ;Variabili che devono essere ri-inzializzate ;ogni volta all'inizio dell'iterazione ;di ogni pixel complex a = @para complex b = @parb complex c = @parc complex d = @seed complex z = #pixel int i = 0 int j = 0 loop: ;Formula principale If (itera_a == True) a = a+b*z Endif If (itera_b == True) b = b-#pixel*b/(1,1) Endif If (itera_c == True) While (i < 10) c = c/1.5+a/c i = i+1 Endwhile Endif If (itera_d == True) While (j < 10) d = @f_d(d)/(b*2) j = j+1 Endwhile Endif z = @f1(a*z^3)+@f2(b*z^2)+@f3(c*z)+@f4(d) bailout: |z| < bailout default: title = "Tutorial Formula Julia" periodicity = 0 Heading Caption = "Valori Parametri" Endheading Param seed Caption = "Seme" Default = (0.0,0.0) Hint = "Seme iniziale della formula" Endparam Param para Caption = "a" Default = (1.0,0.0) Hint = "Valore a della formula" Endparam Param parb Caption = "b" Default = (1.0,0.0) Hint = "Valore b della formula" Endparam Param parc Caption = "c" Default = (1.0,0.0) Hint = "Valore c della formula" Endparam Heading Caption = "Iterazioni" endheading Param ita Caption = "Iterare a?" Default = False Hint = "Specifica se iterare la variabile a" Endparam Param itb Caption = "Iterare b?" Default = False Hint = "Specifica se iterare la variabile b" Endparam Param itc Caption = "Iterare c?" Default = False Hint = "Specifica se iterare la variabile c" Endparam Param itd Caption = "Iterare pixel?" Default = False Hint = "Specifica se iterare il valore del pixel" Endparam Heading Caption = "Valore Bailout" Endheading Param bailo Caption = "Bailout" Default = 4.0 Hint = "Valore di bailout della formula" Endparam Heading Caption = "Funzioni" Endheading Func f_d Caption = "fd" Default = ident() Visible = (@itd == True) Hint = "Funzione valida solo se si itera il pixel" Endfunc Func f1 Caption = "f1" Default = ident() Hint = "Funzione per z^3" Endfunc Func f2 Caption = "f2" Default = ident() Hint = "Funzione per z^2" Endfunc Func f3 Caption = "f3" Default = ident() Hint = "Funzione per z" Endfunc Func f4 Caption = "f4" Default = ident() Hint = "Funzione per il pixel" Endfunc switch: Type = "FromTutorial" para = para parb = parb parc = parc ita = ita itb = itb itc = itc itd = itd bailo = bailo f_d = f_d f1 = f1 f2 = f2 f3 = f3 f4 = f4 } Vit1 { init: a = @para b = @parb z = (0.0,0.0) loop: a=a b=b/a z = z^(b-a)+b*a+#pixel bailout: |z| < @bailo default: title = "Vit 1" Param para Caption = "a" Default = (1.0,0.0) Endparam Param parb Caption = "b" Default = (1.0,0.0) Endparam Param bailo Caption = "Bailout" Default = 4.0 Endparam switch: } p { global: init: z = #pixel loop: z = z*@a bailout: true default: title = "p" param a caption = "ww" Default = 2.0 Endparam switch: } TrapViewer { ; With this formula you can view ; the Shape of many Trap Coloring ; Algorithms. global: ; Converion of the angle from Degrees to Radiants float angl = @an * #pi / 180 float scale = @sc bool inside = @in init: complex z = #pixel float n_angle = atan2(#pixel) int i = 0 loop: ; Scale z = z * scale ; Rotation z = cabs(z) * exp(@im_co*(n_angle)) n_angle = n_angle + angl ; Increasing of variable for outside coloring If (inside == false) i = i + 1 Endif bailout: i < #maxiter default: title = "Trap Viewer" Param sc Caption = "Scale" Default = 1.0 Hint = "This is a multiplicator. When it's different \ from 1, then the trap is repeated (smaller or \ greater." Endparam Param an Caption = "Angle" Default = 0.0 Hint = "This is the angle of which is rotated z at \ every iteration. Use it for other trap rotation." Endparam Param in Caption = "Inside" Default = True Hint = "You can choose if you want to play with an \ inside or ouside algorithm." Endparam Param im_co Caption = "Imaginary Coefficient" Default = (0.0,1.0) Hint = "This value is used instead of 0+1i in rotation \ of the z value in loop. Change it for some experiment." Endparam }