Oak { init: z=0 xx=0 dxx=0 loop: c=#pixel xx=@power*z^@exponent+@cpower*c^@cexponent dxx=@power*@exponent*z^(1-@exponent)+@cpower*@cexponent*c^(1-@cexponent) if @mode==0 z=xx+dxx elseif @mode==1 z=xx-dxx elseif @mode==2 z=xx*dxx elseif @mode==3 z=xx/dxx endif bailout: |z|<@bailout default: title = "Oak" param exponent caption = "Z Exponent" default = 3.0; endparam param power caption = "Z Power" default = 2.0; min=1.0E-10 endparam param cexponent caption = "C Exponent" default = 2.0; endparam param cpower caption = "C Power" default = 3.16; min = 1.0 endparam param bailout caption = "Bailout" default = 1.0E20; min = 1.0E-10 endparam param mode caption = "Mode" default = 0 enum = "+" "-" "*" "/" endparam switch: type="OakJulia" bailout=bailout seed=#pixel power=power exponent=exponent cpower=cpower cexponent=cexponent mode=mode } OakJulia { init: z=#pixel xx=0 dxx=0 loop: c=@seed xx=@power*z^@exponent+@cpower*c^@cexponent dxx=@power*@exponent*z^(1-@exponent)+@cpower*@cexponent*c^(1-@cexponent) if @mode==0 z=xx+dxx elseif @mode==1 z=xx-dxx elseif @mode==2 z=xx*dxx elseif @mode==3 z=xx/dxx endif bailout: |z|<1E20 default: title = "Oak Julia" param exponent caption = "Z Exponent" default = 3.0; endparam param power caption = "Z Power" default = 2.0; min=1.0E-10 endparam param cexponent caption = "C Exponent" default = 2.0; endparam param cpower caption = "C Power" default = 3.16; min = 1.0 endparam param bailout caption = "Bailout" default = 1.0E20; min = 1.0E-10 endparam param mode caption = "Mode" default = 0 enum = "+" "-" "*" "/" endparam param seed caption = "Seed" default = (0,0) endparam } Willow { init: z=0 c=0 loop: c=#pixel z=fn1(z*(z-1)+c*(c-1)) bailout: |z|<@bailout default: title = "Willow" param bailout caption = "Bailout" default = 1.0E20 endparam func fn1 default = abs() endfunc switch: type="WillowJulia" bailout=bailout fn1=fn1 seed=#pixel } WillowJulia { init: z=#pixel c=0 loop: c=@seed z=fn1(z*(z-1)+c*(c-1)) bailout: |z|<@bailout default: title = "Willow Julia" param bailout caption = "Bailout" default = 1.0E20 endparam param seed caption = "Seed" default = (0,0) endparam func fn1 default = abs() endfunc } Rowan { init: z=0 c=0 loop: c=#pixel xx=z^@exponent+c dxx=@exponent*z^(@exponent-1) z=z-(xx*dxx)+c ;z=z*z+#pixel bailout: |z|<@bailout default: title = "Rowan" param exponent caption = "Exponent" default = 2.0 endparam param bailout caption = "Bailout" default = 1.0E20 endparam switch: type = "RowanJulia" seed = #pixel exponent = exponent bailout = bailout } RowanJulia { init: z=#pixel loop: c=@seed xx=z^@exponent+c dxx=@exponent*z^(@exponent-1) z=z-(xx*dxx)+c bailout: |z|<=1E20 default: title = "Rowan Julia" param exponent caption = "Exponent" default = 2.0 endparam param bailout caption = "Bailout" default = 4.0 endparam param seed caption = "Seed" default = (0,0) endparam } Birch { init: z=fn1(fn2((#pixel^@power))) loop: bailout: @inside default: title = "Birch (Pixel)" maxiter = 1 param inside caption = "Inside" default = true endparam param power caption = "Power" default = (2,0) endparam }