DM0{ ;100 simple formulas rolled into 1 init: z = @fn3(pixel) loop: if (@je == true) z = @fn4(z^2) + @seed endif if @Op1 == 0 pp1 = z + p1 elseif @Op1 == 1 pp1 = z - p1 elseif @Op1 == 2 pp1 = z * p1 elseif @Op1 == 3 pp1 = z / p1 else pp1 = z ^ p1 endif if (@r1 == 1 || @r1 == 3) if pp1 == 0 pp1 = 1e-20 endif pp1 = 1/pp1 endif if @Op2 == 0 pp2 = p1+fn1(fn2(pp1)) elseif @Op2 == 1 pp2 = p1-fn1(fn2(pp1)) elseif @Op2 == 2 pp2 = p1*fn1(fn2(pp1)) elseif @Op2 == 3 pp2 = p1/fn1(fn2(pp1)) else pp2 = p1^fn1(fn2(pp1)) endif if (@r1 == 2 || @r1 == 3) if pp2 == 0 pp2 = 1e-20 endif pp2 = 1/pp2 endif z=pp2 bailout: |z|<=@bailout default: title="DM0" method = multipass periodicity = 0 param p1 caption="Parameter 1" default=(0.5,0.0) endparam param Op1 caption = "Operator 1" enum = "Addition" "Subtraction" "Multiplication" "Division" "Exponent" hint = "P1 [Op2] fn1(fn2(z [Op1] P1))" default = 0 endparam param Op2 caption = "Operator 2" enum = "Addition" "Subtraction" "Multiplication" "Division" "Exponent" hint = "P1 [Op2] fn1(fn2(z [Op1] P1))" default = 2 endparam param r1 caption="Reciprocate" enum = "None" "Recip Oper1" "Recip Oper2" "Both" default = 0 endparam param je caption = "Julia Component" default = false endparam param seed caption = "Julia Seed" default = (0,0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption = "Function 1" default = sinh() endfunc func fn2 caption = "Function 2" default = sqr() endfunc func fn3 caption = "Function 3" default = ident() endfunc func fn4 caption = "Julia Function" default = ident() endfunc } DM3{ init: z = pixel loop: z = p1*acos(sin(1/(z+p1))) bailout: |z| <= 4 default: method = multipass periodicity = 0 param p1 default=(0.5,0.01) endparam } DM4{ init: z = pixel loop: z=p1+fn1(fn2(z+p1)) bailout: |z| <= 4 && |z| >= 1e-16 default: method = multipass periodicity = 0 param p1 default=(0.5,0.0) endparam func fn1 default = log() endfunc } dm11a{ init: z= pixel loop: z=fn1(p1)*fn2(z+p1) bailout: |z|<=4 default: method = multipass periodicity = 0 param p1 default=(-0.2,0) endparam func fn1 default=exp() endfunc func fn2 default=cosh() endfunc } DM23 { init: z = pixel loop: a=fn3(z) b=a+p1 c=fn2((a-p1)/b) d=c^3/p1 w=a/b/c*(d+p1) z=fn1(w/z^p1) bailout: |z| <= 4 default: method = multipass periodicity = 0 param p1 default=(.25,0) endparam func fn2 default=cos() endfunc }