comment { Formulas by Gedeon Peteri, 1997-2000 http://www.geocities.com/gedeonp/fractals/frindex.html gedeon@infoave.net This file is a compilation of previously published formula files gfpcurves.ufm gfpeuler.ufm gfpfrc.ufm chbymod.ufm and previously unpublished additions. Updated: October 1, 2000 gpm- prefix denotes formulas which are my translations to UF format, with slight modifications, of Fractint formulas by other authors, as commented in the formulas. In all cases such modifications are limited to the addition of a function to the initiation section; turning hard coded functions and parameters into user definable ones, with the original values used as defaults; adding a bailout test parameter. In no case did I change the loop section of any formula. } ;------------------------------------------------------------------------ ;Formulas loosely based on the equations ;of some classic curves as found in any ;textbook of elementary analytic geometry. ;Please note that I have taken a great deal ;of liberty with the mathematics! Pleasing ;images, not correct mathematical representation, ;was the goal. ;The equation of the CATENARY is ;y=a/2*(e^(x/a) + e^-(x/a)) gfpcat01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Catenary init: z=fn1(pixel) loop: z=fn2(z^p1) - p3*(fn3(p2/2*(exp(z/p2)+1/exp(z/p2)))) bailout: |z|<=@bailout default: title="gfpcat01" param p1 caption="Exponent" default=(1.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the CAUSTIC are ;x=3/4 cos(t) - 1/4 cos(3t); y=3/4 sin(t) - 1/4 sin(3t) gfpcau01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Caustic init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=.75*cos(c)-.25*cos(3*c) y=.75*sin(c)-.25*sin(3*c) z=fn2(z^p1)+p2*fn3(x-flip(y)) bailout: |z|<=@bailout default: title="gfpcau01" param p1 caption="Exponent" default=(1.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpcau02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Caustic init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=.75*cos(c)-.25*cos(3*c) y=.75*sin(c)-.25*sin(3*c) z=fn2(z^p1)+p2*fn3(y-flip(x)) bailout: |z|<=@bailout default: title="gfpcau02" param p1 caption="Exponent" default=(1.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The equation of the CISSOID OF DIOCLES is ;y^2=x^3/(2a-x), or y=+/- (x^3/(2a-x))^.5 gfpcod01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Cissoid of Diocles init: z=fn1(pixel) loop: x=sqrt(z^3/(p1-z)), y=-sqrt(z^3/(p1-z)) z=fn2(z^p3) + p2*(fn3(x) + fn4(y)) bailout: |z|<=@bailout default: title="gfpcod01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The polar equation of the CONCHOID OF NICOMEDES is ;r=a*sec(t) +/- b; [sec=1/cos] gfpcon01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Conchoid of Nicomedes init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=z*1/cos(c)+p1, y=z*1/cos(c)-p1 z=fn2(z^p3) + p2*fn3(x)*fn4(y) bailout: |z|<=@bailout default: title="gfpcon01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The parametric equations of the CYCLOID are ;x=a(t-sin(t)); y=a(1-cos*t)) gfpcyc01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Cycloid init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=z*(c-sin(c)), y=z*(1-cos(c)) z=fn2(z^p1) + p2*fn3(x+y) bailout: |z|<=@bailout default: title="gfpcyc01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpcyc02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Cycloid init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=z*(c-sin(c)), y=z*(1-cos(c)) z=fn2(z^p1) + p2*fn3(x/y) bailout: |z|<=@bailout default: title="gfpcyc02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The general equation of a DAMPED VIBRATION CURVE is ;y=ae^-kx * sin(bx+c) where k>0. gfpdvc01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Damped vibration curve init: z=fn1(1/pixel) loop: y=p1*exp(p2*z)*fn2(p3*z) z=fn3(z*z) - y bailout: |z|<=@bailout default: title="gfpdvc01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=16.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpdvc02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Damped vibration curve init: z=fn1(1/pixel) c=fn1(1/pixel) loop: y=p1*exp(c*z)*fn2(c*z + p2) z=fn3(z^p3) - y bailout: |z|<=@bailout default: title="gfpdvc02" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=16.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the FOLIUM OF DESCARTES are ;x=3at/(1+t^3), y=3at^2/(1+t^3); let p1=3a gfpfod01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Folium of Descartes init: z=fn1(pixel) loop: x=p1*z/(1+z*z*z), y=p1*z*z/(1+z*z*z) z=fn1(z^p3) + p2*(fn2(x) + fn3(y)) bailout: |z|<=@bailout default: title="gfpfod01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = recip() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpfod02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Folium of Descartes init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=p1*z/(1+z*z*z), y=p1*z*z/(1+z*z*z) z=fn1(z^p3) + p2*(fn2(x*c) + fn3(y*c)) bailout: |z|<=@bailout default: title="gfpfod02" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = recip() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;HYPERBOLIC SPIRAL r*t=a [or r=a/t] and its first derivative r'=-a/(t^2) gfphsp01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Hyperbolic spiral init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(-p3/(z*z)) bailout: |z|<=@bailout default: title="gfphsp01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the HYPOCYCLOID are ;x=(a-b)cos(t)+b*cos((a-b)/b*t) ;y=(a-b)sin(t)-b*sin((a-b)/b*t) gfphyc01 {;Formula by Gedeon Peteri, 1999 ;Based on equations of the Hypocycloid init: z=fn1(pixel) a=real(p2) b=imag(p2) loop: c=asin(imag(z)/cabs(z)) x=(a-b)*cos(c)+b*cos(((a-b)/b)*c) y=(a-b)*sin(c)-b*sin(((a-b)/b)*c) z=fn2(z^p1) + p3*fn3(x+y) bailout: |z|<=@bailout default: title="gfphyc01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.5) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the Involute of a circle are ;x=a*cos(t)+at*sin(t); y=a*sin(t)-at*cos(t) gfpinc01 {;Formula by Gedeon Peteri, 1999 ;Based on equations of the Involute of a circle init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=p2*cos(c)+p2*c*sin(c) y=p2*sin(c)-p2*c*cos(c) z=fn2(z^p1) + p3*fn3(x+y) bailout: |z|<=@bailout default: title="gfpinc01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The equation for the LEMNISCATE OF BERNOULLI is ;(x^2+y^2)^2 = 2a^2(x^2-y^2), or 2a^2(x^2-y^2)-(x^2+y^2)^2 = 0 gfplob01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Lemniscate of Bernoulli init: z=fn1(pixel) x=real(z) y=imag(z) loop: z=fn2(z^p1)+p2*fn3(x*x-y*y-sqr(x*x+y*y)) bailout: |z|<=@bailout default: title="gfplob01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfplob02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Lemniscate of Bernoulli init: z=fn1(pixel) x=real(z) y=imag(z) loop: c=asin(imag(z)/cabs(z)) z=fn2(z^p1)+p2*(fn3(c)*fn4(x*x-y*y-sqr(x*x+y*y))) bailout: |z|<=@bailout default: title="gfplob02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gfplob03 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Lemniscate of Bernoulli init: z=fn1(pixel) x=real(z) y=imag(z) loop: c=asin(imag(z)/cabs(z)) z=fn2(z^p1)+p2*(fn3(cos(c))*fn4(x*x-y*y-sqr(x*x+y*y))) bailout: |z|<=@bailout default: title="gfplob03" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The polar equation of the LIMACON OF PASCAL is ;r=2a*cos(t)+b gfplop01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Limacon of Pascal init: z=fn1(pixel) loop: z=fn2(z^p1) + fn3(2*p2*cos(z)+p3) bailout: |z|<=@bailout default: title="gfplop01" param p1 caption="Exponent" default=(1.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;LOGARITHMIC SPIRAL r=e^(a*t) and first derivative r'=e^(a*t) * log e * a gfplsp01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Logarithmic spiral init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(p3*z)) bailout: |z|<=@bailout default: title="gfplsp01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfplsp02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Logarithmic spiral init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(p3*z)*log(e*p3)) bailout: |z|<=@bailout default: title="gfplsp02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The equation of the PROBABILITY CURVE is ;y=e^(-x^2/2)/(2*pi)^(1/2) gfppro01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Probability curve init: z=fn1(pixel) loop: z=fn2(z^p1)-p2*fn3(exp(-z*z/2)/sqrt(6.28318530718)) bailout: |z|<=@bailout default: title="gfppro01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The polar equations of the ROSE-LEAVED CURVES are ;r=a*sin(nt); and r=a*cos(nt)); if n is even curve has 2n loops gfpros01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Rose-leaved curve init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) z=fn2(z^p1) + p2*fn3(sin(p3*c)) bailout: |z|<=@bailout default: title="gfpros01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;Some simple algebraic curves gfpsac01 {;Formula by Gedeon Peteri, 1999 ;Based on equation y^2=(x-1)(x-2)(x-3) init: z=fn1(pixel) a=p1 loop: z=fn2(z^a) + p2*fn3(sqrt((z-1)*(z-2)*(z-3))) bailout: |z|<=@bailout default: title="gfpsac01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the STROPHOID are ;x=+/-a*sinw, y=a*tanw*(1 +/- sinw) gfpstr01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Strophoid init: z=fn1(pixel) loop: x=p1*sin(z), y=p1*(tan(z)*(1-sin(z))) z=fn2(z^p3) + p2*((fn3(x) + fn4(y))) bailout: |z|<=@bailout default: title="gfpstr01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(-1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;Parametric equations of the WITCH OF AGNESI are ;x=a*cot alpha, y=a*sin^2 alpha gfpwoa01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Witch of Agnesi init: z=fn1(pixel) loop: x=p1*cotan(z), y=p1*sin(z)*sin(z) z=fn2(z^p3) + p2*(fn3(x)+fn4(y)) bailout: |z|<=@bailout default: title="gfpwoa01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gfpwoa02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Witch of Agnesi init: z=fn1(pixel) loop: x=p1*cotan(z), y=p1*sin(z)*sin(z) z=fn2(z^p3) + p2*(fn3(x)*fn4(y)) bailout: |z|<=@bailout default: title="gfpwoa02" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The following formulas are identical to the ;preceding ones in every respect except that ;a bailout test parameter has been added. ;I regret that adding such a parameter occurred ;to me long after many par files have been ;published by myself and others based on the ;formulas not having it, making this otherwise ;unnecessary duplication advisable. ;The equation of the CATENARY is ;y=a/2*(e^(x/a) + e^-(x/a)) gfp2cat01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Catenary init: z=fn1(pixel) loop: z=fn2(z^p1) - p3*(fn3(p2/2*(exp(z/p2)+1/exp(z/p2)))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2cat01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(2.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the CAUSTIC are ;x=3/4 cos(t) - 1/4 cos(3t); y=3/4 sin(t) - 1/4 sin(3t) gfp2cau01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Caustic init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=.75*cos(c)-.25*cos(3*c) y=.75*sin(c)-.25*sin(3*c) z=fn2(z^p1)+p2*fn3(x-flip(y)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2cau01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfp2cau02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Caustic init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=.75*cos(c)-.25*cos(3*c) y=.75*sin(c)-.25*sin(3*c) z=fn2(z^p1)+p2*fn3(y-flip(x)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2cau02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The equation of the CISSOID OF DIOCLES is ;y^2=x^3/(2a-x), or y=+/- (x^3/(2a-x))^.5 gfp2cod01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Cissoid of Diocles init: z=fn1(pixel) loop: x=sqrt(z^3/(p1-z)), y=-sqrt(z^3/(p1-z)) z=fn2(z^p3) + p2*(fn3(x) + fn4(y)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2cod01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The polar equation of the CONCHOID OF NICOMEDES is ;r=a*sec(t) +/- b; [sec=1/cos] gfp2con01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Conchoid of Nicomedes init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=z*1/cos(c)+p1, y=z*1/cos(c)-p1 z=fn2(z^p3) + p2*fn3(x)*fn4(y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2con01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The parametric equations of the CYCLOID are ;x=a(t-sin(t)); y=a(1-cos*t)) gfp2cyc01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Cycloid init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=z*(c-sin(c)), y=z*(1-cos(c)) z=fn2(z^p1) + p2*fn3(x+y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2cyc01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(3.0,1.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfp2cyc02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Cycloid init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=z*(c-sin(c)), y=z*(1-cos(c)) z=fn2(z^p1) + p2*fn3(x/y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2cyc02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(2.0,1.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The general equation of a DAMPED VIBRATION CURVE is ;y=ae^-kx * sin(bx+c) where k>0. gfp2dvc01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Damped vibration curve init: z=fn1(1/pixel) loop: y=p1*exp(p2*z)*fn2(p3*z) z=fn3(z*z) - y bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2dvc01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=16.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfp2dvc02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Damped vibration curve init: z=fn1(1/pixel) c=fn1(1/pixel) loop: y=p1*exp(c*z)*fn2(c*z + p2) z=fn3(z^p3) - y bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2dvc02" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=16.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the FOLIUM OF DESCARTES are ;x=3at/(1+t^3), y=3at^2/(1+t^3); let p1=3a gfp2fod01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Folium of Descartes init: z=fn1(pixel) loop: x=p1*z/(1+z*z*z), y=p1*z*z/(1+z*z*z) z=fn1(z^p3) + p2*(fn2(x) + fn3(y)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2fod01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = recip() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfp2fod02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Folium of Descartes init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=p1*z/(1+z*z*z), y=p1*z*z/(1+z*z*z) z=fn1(z^p3) + p2*(fn2(x*c) + fn3(y*c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2fod02" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = recip() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;HYPERBOLIC SPIRAL r*t=a [or r=a/t] and its first derivative r'=-a/(t^2) gfp2hsp01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Hyperbolic spiral init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(-p3/(z*z)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2hsp01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the HYPOCYCLOID are ;x=(a-b)cos(t)+b*cos((a-b)/b*t) ;y=(a-b)sin(t)-b*sin((a-b)/b*t) gfp2hyc01 {;Formula by Gedeon Peteri, 1999 ;Based on equations of the Hypocycloid init: z=fn1(pixel) a=real(p2) b=imag(p2) loop: c=asin(imag(z)/cabs(z)) x=(a-b)*cos(c)+b*cos(((a-b)/b)*c) y=(a-b)*sin(c)-b*sin(((a-b)/b)*c) z=fn2(z^p1) + p3*fn3(x+y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2hyc01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.5) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the Involute of a circle are ;x=a*cos(t)+at*sin(t); y=a*sin(t)-at*cos(t) gfp2inc01 {;Formula by Gedeon Peteri, 1999 ;Based on equations of the Involute of a circle init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) x=p2*cos(c)+p2*c*sin(c) y=p2*sin(c)-p2*c*cos(c) z=fn2(z^p1) + p3*fn3(x+y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2inc01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(0.5,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The equation for the LEMNISCATE OF BERNOULLI is ;(x^2+y^2)^2 = 2a^2(x^2-y^2), or 2a^2(x^2-y^2)-(x^2+y^2)^2 = 0 gfp2lob01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Lemniscate of Bernoulli init: z=fn1(pixel) x=real(z) y=imag(z) loop: z=fn2(z^p1)+p2*fn3(x*x-y*y-sqr(x*x+y*y)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2lob01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfp2lob02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Lemniscate of Bernoulli init: z=fn1(pixel) x=real(z) y=imag(z) loop: c=asin(imag(z)/cabs(z)) z=fn2(z^p1)+p2*(fn3(c)*fn4(x*x-y*y-sqr(x*x+y*y))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2lob02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gfp2lob03 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Lemniscate of Bernoulli init: z=fn1(pixel) x=real(z) y=imag(z) loop: c=asin(imag(z)/cabs(z)) z=fn2(z^p1)+p2*(fn3(cos(c))*fn4(x*x-y*y-sqr(x*x+y*y))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2lob03" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The polar equation of the LIMACON OF PASCAL is ;r=2a*cos(t)+b gfp2lop01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Limacon of Pascal init: z=fn1(pixel) loop: z=fn2(z^p1) + fn3(2*p2*cos(z)+p3) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2lop01" param p1 caption="Exponent" default=(1.0,0.0) endparam param p2 caption="Parameter 1" default=(0.01,0.0) endparam param p3 caption="Parameter 2" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;LOGARITHMIC SPIRAL r=e^(a*t) and first derivative r'=e^(a*t) * log e * a gfp2lsp01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Logarithmic spiral init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(p3*z)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2lsp01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfp2lsp02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Logarithmic spiral init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(p3*z)*log(e*p3)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2lsp02" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The equation of the PROBABILITY CURVE is ;y=e^(-x^2/2)/(2*pi)^(1/2) gfp2pro01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Probability curve init: z=fn1(pixel) loop: z=fn2(z^p1)-p2*fn3(exp(-z*z/2)/sqrt(6.28318530718)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2pro01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The polar equations of the ROSE-LEAVED CURVES are ;r=a*sin(nt); and r=a*cos(nt)); if n is even curve has 2n loops gfp2ros01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Rose-leaved curve init: z=fn1(pixel) loop: c=asin(imag(z)/cabs(z)) z=fn2(z^p1) + p2*fn3(sin(p3*c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2ros01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter 1" default=(1.0,0.0) endparam param p3 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;Some simple algebraic curves gfp2sac01 {;Formula by Gedeon Peteri, 1999 ;Based on equation y^2=(x-1)(x-2)(x-3) init: z=fn1(pixel) a=p1 loop: z=fn2(z^a) + p2*fn3(sqrt((z-1)*(z-2)*(z-3))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2sac01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(0.5,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } ;The parametric equations of the STROPHOID are ;x=+/-a*sinw, y=a*tanw*(1 +/- sinw) gfp2str01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Strophoid init: z=fn1(pixel) loop: x=p1*sin(z), y=p1*(tan(z)*(1-sin(z))) z=fn2(z^p3) + p2*((fn3(x) + fn4(y))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2str01" param p1 caption="Parameter 1" default=(0.4,0.4) endparam param p2 caption="Parameter 2" default=(-1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;Parametric equations of the WITCH OF AGNESI are ;x=a*cot alpha, y=a*sin^2 alpha gfp2woa01 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Witch of Agnesi init: z=fn1(pixel) loop: x=p1*cotan(z), y=p1*sin(z)*sin(z) z=fn2(z^p3) + p2*(fn3(x)+fn4(y)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2woa01" param p1 caption="Parameter 1" default=(0.2,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gfp2woa02 {;Formula by Gedeon Peteri, 1999 ;Based on equation of Witch of Agnesi init: z=fn1(pixel) loop: x=p1*cotan(z), y=p1*sin(z)*sin(z) z=fn2(z^p3) + p2*(fn3(x)*fn4(y)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp2woa02" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gp-hyc {;Formula by Gedeon Peteri, 2000 ;Based on the parametric equations of the ;HYPOCYCLOID ;x = (a-b)cos(t) + b*cos((a-b)/b*t) ;y = (a-b)sin(t) - b*sin((a-b)/b*t) init: z = @pfunc(#pixel) loop: w = asin(imag(z)/cabs(z)) x = (@a-@b)*cos(w) + @b*cos(((@a-@b)/@b)*w) y = (@a-@b)*sin(w) - @b*sin(((@a-@b)/@b)*w) if (@var == 0) ;Variation 1 z = @lfunc1(z^@exp) + @c*@lfunc2(x + y) elseif (@var == 1) ;Variation 2 z = @lfunc1(z^@exp) + @c*@lfunc2(x + flip(y)) endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title = "gp-hyc" maxiter = 500 periodicity = 0 center = (-1.0,1.0) magn = 2.5 param exp caption = "Exponent" default = (2.0,0.0) endparam param a caption = "Parameter 1" default = (0.65,0.0) endparam param b caption = "Parameter 2" default = (0.35,0.0) endparam param c caption = "Parameter 3" default = (0.67,0.33) endparam param bailout caption = "Bailout value" default = 8.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param var caption = "Variations" default = 0 enum = "Variation 1" "Variation 2" endparam func pfunc caption = "Pixel Function" default = exp() endfunc func lfunc1 caption = "Function 1" default = ident() endfunc func lfunc2 caption = "Function 2" default = sinh() endfunc } gp-bas01 {;Gedeon Peteri, January 2000 init: z = @pfunc(#pixel^@pexp) loop: z = @lfunc1(@lfunc2(z^@exp)) + @const bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title = "gp-bas01" maxiter = 500 periodicity = 0 magn = 0.75 param pexp caption = "Pixel Exponent" default = (1.0,0.0) hint = "Exponent of 'pixel' in init section" endparam param exp caption = "Exponent" default = (1.0,0.0) hint = "Exponent of 'z' in loop section" endparam param const caption = "Constant" default = (0.33,0.0) endparam param bailout caption = "Bailout value" default = 4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func pfunc caption = "Pixel Function" default = recip() endfunc func lfunc1 caption = "Function 1" default = ident() hint = "First of two nested functions" endfunc func lfunc2 caption = "Function 2" default = sqr() hint = "Second of two nested functions" endfunc } gp-bas02 {;Gedeon Peteri, January 2000 init: z = @pfunc(#pixel ^ @pexp) loop: z = @lfunc((z^@exp1 + @const1)^@exp2) + @const2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title = "gp-bas02" maxiter = 500 periodicity = 0 param pexp caption = "Pixel Exponent" default = (1.0,0.0) hint = "Exponent of 'pixel' in init section" endparam param exp1 caption = "First Exponent" default = (3.0,0.0) hint = "Exponent of 'z' in loop section" endparam param exp2 caption = "Second Exponent" default = (0.5,0.0) hint = "Exponent of 'z^@exp1+@const1' in loop section" endparam param const1 caption = "Constant 1" default = (0.2,-0.5) endparam param const2 caption = "Constant 2" default = (0.0,0.0) endparam param bailout caption = "Bailout value" default = 64.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func pfunc caption = "Pixel Function" default = ident() endfunc func lfunc caption = "Function" default = ident() hint = "Function in the loop section" endfunc } gp-exp01 {;e^(|cosx|^(1/2)-|sinx|^(1/2)) init: z=@pfunc(pixel) loop: x = @a*@lfunc1(sqrt(abs(imag(z)/cabs(z)))) y = @b*@lfunc2(sqrt(abs(real(z)/cabs(z)))) if (@var == 0) ;Variation 1 z = z^@exp - @lfunc3(exp(y-x)) elseif (@var == 1) ;Variation 2 z = z^@exp - @lfunc3(exp(x-y)) elseif (@var == 2) ;Variation 3 z = z^@exp - @lfunc3(exp(x+y)) endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gp-exp01" maxiter = 250 periodicity = 0 param a caption="Parameter 1" default=(0.25,0.0) endparam param b caption="Parameter 2" default=(0.25,0.0) endparam param exp caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param var caption = "Variations" default = 0 enum = "Variation 1" "Variation 2" "Variation 3" endparam func lfunc1 caption="Function 1" default = ident() endfunc func lfunc2 caption="Function 2" default = ident() endfunc func lfunc3 caption="Function 3" default = ident() endfunc func pfunc caption="Pixel Function" default = ident() endfunc } ;Formulas by Gedeon Peteri ;gfpeul04/05/06 (1999) are identical to ;gfpeul01/02/03 (1997) respectively, ;but with a bailout test parameter added. gfpeul01 {;Formula by Gedeon Peteri, 1997 ;Eulers's equation e^(ipi)+1=0 init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(imag(z)*pi)+1) bailout: |z|<=@bailout default: title="gfpeul01" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(0.2,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpeul02 {;Formula by Gedeon Peteri, 1997 ;Eulers's equation e^(ipi)+1=0 init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(imag(z)*pi)-1) bailout: |z|<=@bailout default: title="gfpeul02" param p1 caption="Exponent" default=(3.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.35) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpeul03 {;Formula by Gedeon Peteri, 1997 ;Eulers's equation e^(ipi)+1=0 init: z=pixel c=pixel loop: z=fn1(z^p1) + p2*fn2(exp(imag(c)*pi)+1) bailout: |z|<=@bailout default: title="gfpeul03" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(0.25,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gfpeul04 {;Formula by Gedeon Peteri, 1999 ;Eulers's equation e^(ipi)+1=0 init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(imag(z)*pi)+1) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfpeul04" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(0.2,0.0) endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param bailout caption = "Bailout value" default = 4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpeul05 {;Formula by Gedeon Peteri, 1999 ;Eulers's equation e^(ipi)+1=0 init: z=fn1(pixel) loop: z=fn2(z^p1) + p2*fn3(exp(imag(z)*pi)-1) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfpeul05" param p1 caption="Exponent" default=(3.0,0.0) endparam param p2 caption="Parameter" default=(1.0,0.35) endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param bailout caption = "Bailout value" default = 4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gfpeul06 {;Formula by Gedeon Peteri, 1999 ;Eulers's equation e^(ipi)+1=0 init: z=pixel c=pixel loop: z=fn1(z^p1) + p2*fn2(exp(imag(c)*pi)+1) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfpeul06" param p1 caption="Exponent" default=(2.0,0.0) endparam param p2 caption="Parameter" default=(0.25,0.0) endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param bailout caption = "Bailout value" default = 4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } ;Source: chebymod.ufm: comment {;This file contains selected formulas from Morgan L. Owens' Chebyshev ;collection, translated from the original Fractint to Ultra Fractal format. ;Modifications are limited to: ;(1) generalization of hard coded bailouts and functions; ;(2) addition of user definable functions; ;(3) defaults have been set to produce the results of the original formula. ;This file was prepared by Gedeon Peteri, 1999.} gpm-al03-20 {;chby20 / Alpha03-20 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) x2=x*x, y2=y*y y=y+t*fn1((((x-3)*x+6)*x-6)/(exp(x)*x2*x2)) x=x-t*fn2((((y-3)*y+6)*y-6)/(exp(y)*y2*y2)) z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-al03-20" param p1 caption="Parameter" default=(0.1,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = sin() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-c02-15 {;chby15 / c02-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) r=p1 loop: f=fn1(z*z-2) fd=fn2(2*z) oz=z z=z-r*f/fd bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-c02-15" param p1 caption="Parameter" default=(2.0,1.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gpm-c03-01 {;chby1 / c03-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) Tx=fn1(x*(x*x-3)) Ty=fn2(y*(y*y-3)) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-c03-01" param p1 caption="Parameter" default=(0.25,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-c04-01 {;chby1 / c04-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=p2*fn1(xx*(xx-4)+2) Ty=p3*fn2(yy*(yy-4)+2) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-c04-01" param p1 caption="Parameter 1" default=(0.25,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-c05-01 {;chby1 / c05-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=fn1(x*(xx*(xx-5)+3)) Ty=fn2(y*(yy*(yy-5)+3)) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-c05-01" param p1 caption="Parameter" default=(0.5,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-c06-05 {;chby5 / c06-05 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=p2*fn1(zz*(zz*(zz-6)+7)-2) fd=p3*fn2(2*z*(3*zz*(zz-4)+7)) oz=z z=z-fn3(r*f/fd) bailout: @bailout<=|z-oz| default: title="gpm-c06-05" param p1 caption="Parameter 1" default=(1.0,1.0) endparam param p2 caption="Parameter 2" default=(2.5,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-c07-09 {;chby9 / c07-09 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn4(pixel) t=p1 a=p2 b=p3 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=a*fn1(x*(xx*(xx*(xx-7)+12)-5)) Ty=b*fn2(y*(yy*(yy*(yy-7)+12)-5)) x=x-t*Ty,y=y+t*Tx z=fn3(x+flip(y)) bailout: |z|<=@bailout default: title="gpm-c07-09" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-c07-15 {;chby15 / c07-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=fn1(z*(zz*(zz*(zz-7)+12)-5)) fd=fn2(zz*(7*zz*(zz-5)+36)-5) oz=z z=z-fn3(r*f/fd) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-c07-15" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-c10-12 {;chby12 / c10-12 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=p1 const=pixel loop: zz=z*z z=p2*fn1((zz*(zz*(zz*(zz*(zz-10)+33)-42)+19)-2))*const bailout: |z|<=@bailout default: title="gpm-c10-12" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(0.5,0.0) endparam param bailout caption="Bailout" default=100.0 endparam func fn1 caption="Function 1" default = ident() endfunc } gpm-c10-13 {;chby13 / c10-13 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=fn1(zz*(zz*(zz*(zz*(zz-10)+33)-42)+19)-2) fd=fn2(2*z*(zz*(zz*(5*zz*(zz-8)+99)-84)+19)) fdd=fn3(2*zz*(5*zz*(zz*(9*zz-56)+99)-252)+38) oz=z z=z-r*f/(fd-fdd*f/(fd+fd)) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-c10-13" param p1 caption="Parameter" default=(3.0,1.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-c10-15 {;chby15 / c10-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=p2*fn1(zz*(zz*(zz*(zz*(zz-10)+33)-42)+19)-2) fd=p3*fn2(2*z*(zz*(zz*(5*zz*(zz-8)+99)-84)+19)) oz=z z=fn3(z-r*f/fd) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-c10-15" param p1 caption="Parameter 1" default=(3.0,3.0) endparam param p2 caption="Parameter 2" default=(2.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-ca04-21 {;chby21 / ca04-21 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: a=p1 b=a*(a+1)/2 c=4*(a+2) d=(a+3)/3 t=real(p2) z=pixel loop: x=real(z), y=imag(z) xx=x*x y=y+t*(fn1(b*(c*xx*(d*xx-1)+1))) yy=y*y x=x-t*(fn2(b*(c*yy*(d*yy-1)+1))) z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-ca04-21" param p1 caption="Parameter 1" default=(0.4,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc } gpm-ca06-01 {;chby1 / ca06-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, September 2000 init: z=fn4(pixel) t=p1 a=p2 b=a*(a*(a+3)+2)/6 c=a+3 d=4*(a+4) k=(a+a+10)/15 loop: x=real(z), y=imag(z) xx=x*x, yy=y*y Tx=fn1(b*(c*xx*(d*xx*(k*xx-1)+3)-1)) Ty=fn2(b*(c*yy*(d*yy*(k*yy-1)+3)-1)) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-ca06-01" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(0.5,0.0) endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param bailout caption = "Bailout value" default = 4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Pixel Function" default = ident() endfunc } gpm-ca06-03 {;chby3 / ca06-03 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn2(pixel) const=p1 a=p2 b=a*(a*(a+3)+2)/6 c=a+3 d=4*(a+4) k=(a+a+10)/15 loop: zz=z*z z=p3*fn1(b*(c*zz*(d*zz*(k*zz-1)+3)-1)+const) bailout: |z|<=@bailout default: title="gpm-ca06-03" param p1 caption="Parameter 1" default=(0.7,0.0) endparam param p2 caption="Parameter 2" default=(0.7,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=100.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-ca07-01 {;chby1 / ca07-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) t=p1 a=p2 b=a*(a*(a*(a+6)+11)+6)/21 c=a+a+8 d=((a+a)*(a+11)+60)/15 k=7*(a+5)/5 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=fn1(b*x*(c*xx*((xx+xx)*(d*xx-k)+7)-7)) Ty=fn2(b*y*(c*yy*((yy+yy)*(d*yy-k)+7)-7)) x=x-t*Ty,y=y+t*Tx z=fn3(x+flip(y)) bailout: |z|<=@bailout default: title="gpm-ca07-01" param p1 caption="Parameter 1" default=(1.0,1.0) endparam param p2 caption="Parameter 2" default=(0.5,0.5) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-exp03-01{;chby1 / exp03-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) Fx=fn1((1-x)/(exp(x)*2)) Fy=fn2((1-y)/(exp(y)*2)) x=x-t*Fy,y=y+t*Fx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-exp03-01" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-exp06-27{;chby27 / exp06-27 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 h=p2 x=real(pixel) y=imag(pixel) loop: newx=x-h*sin(y+tan(3*y)) newy=y-h*sin(x+tan(3*x)) x=newx,y=newy Tx=fn1(((((x-1)*x/120+1/60)*x-1/20)*x+1/5)/exp(x)) Ty=fn2(((((y-1)*y/120+1/60)*y-1/20)*y+1/5)/exp(y)) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-exp06-27" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-h04-14 {;chby14 / h04-14 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) loop: zz=z*z f=p1*fn1(4*(4*zz*(zz-3)+3)) fd=p2*fn2(32*z*(zz+zz-3)) oz=z w=z-f/fd ww=w*w fw=p3*fn3(4*(4*ww*(ww-3)+3)) z=w-fw/fd bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-h04-14" param p1 caption="Parameter 1" default=(2.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-h04-15 {;chby15 / h04-14 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=p2*fn1(4*(4*zz*(zz-3)+3)) fd=p3*fn2(32*z*(2*zz-3)) oz=z z=fn3(z-r*f/fd) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-h04-15" param p1 caption="Parameter 1" default=(2.0,2.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-h04-26 {;chby26 / h04-26 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, October 1999 init: z=fn4(pixel) t=p1 v=p3 loop: x=real(z), y=imag(z) xx=x*x Tx=(fn1(4*(4*xx*(xx-3)+3))) yy=y*y Ty=(fn1(4*(4*yy*(yy-3)+3))) x=x-t*Ty, y=y+t*Tx w=fn1(x+flip(y)) z=fn3(v/fn2(w*w))+p2 bailout: |z|<=@bailout default: title="gpm-h04-26" param p1 caption="Parameter 1" default=(0.1,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-h06-13 {;chby13 / h06-13 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, October 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z a=2*zz f=fn1(8*(a*(a*(a-15)+21)-15)) fd=fn2(96*z*(4*zz*(zz-5)+7)) fdd=fn3(96*(20*zz*(zz-3)+7)) oz=z z=z-r*f/(fd-fdd*f/(fd+fd)) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-h06-13" param p1 caption="Parameter" default=(2.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-he02-01 {;chby1 / he02-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn3(pixel) t=p1 s=sqrt(2) loop: x=real(z),y=imag(z) Tx=p2*fn1(s*x*x-1) Ty=p3*fn2(s*y*y-1) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-he02-01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-he02-15 {;chby15 / he02-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) r=p1 s=sqrt(2) a=2*s loop: f=fn1(s*z*z-1) fd=fn2(a*z) oz=z z=z-r*f/fd bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-he02-15" param p1 caption="Parameter" default=(1.0,1.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gpm-he08-20 {;chby20 / he08-20 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 s=sqrt(2) a=185*s+25 b=41*s-141 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y y=y+t*(fn1(xx*(xx*(xx*(s*(xx-27)-1)+a)+b)+105)) x=x-t*(fn2(yy*(yy*(yy*(s*(yy-27)-1)+a)+b)+105)) z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-he08-20" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = sin() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-l02-01 {;chby1 / l02-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) Tx=p2*fn1(x*(x/2-2)+1) Ty=p3*fn2(y*(y/2-2)+1) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-l02-01" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-l08-13 {;chby13 / l08-13 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn4(pixel) loop: f=fn1(z*(z*(z*(z*(z*(z*(z*(z/32-2)/7+7)/3-28)/5+35)/4-28)/3+14)-8)+1) fd=fn2(z*(z*(z*(z*(z*(z*(z/28-2)/3+14)/20-7)+35)/3-28)+28)-8) fdd=fn3((z*(z*(z*(z*(z*(z/12-4)+70)/20-28)/3+35)-56)+28)) oz=z z=z-p1*(f/(fd-fdd*f/(fd+fd))) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-l08-13" param p1 caption="Parameter" default=(2.0,1.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-la08-01{;chby1 / la08-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) t=p1 a=p2 j=(a+8)/5040 h=j*(a+7)*(7/2) g=h*(a+6)*2 f=g*(a+5)*(5/4) k=f*(a+4)*(4/5) d=k*(a+3)/2 c=d*(a+2)*(2/7) b=c*(a+1)/8 loop: x=real(z),y=imag(z) Tx=fn1(x*(x*(x*(x*(x*(x*(x*(x/40320-j)+h)-g)+f)-k)+d)-c)+b) Ty=fn2(y*(y*(y*(y*(y*(y*(y*(y/40320-j)+h)-g)+f)-k)+d)-c)+b) x=x-t*Ty,y=y+t*Tx z=fn3(x+flip(y)) bailout: |z|<=@bailout default: title="gpm-la08-01" param p1 caption="Parameter 1" default=(0.1,0.0) endparam param p2 caption="Parameter 2" default=(0.1,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-p03-01 {;chby1 / p03-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) Tx=p2*fn1(x*(5*x*x-3)/2) Ty=p3*fn2(y*(5*y*y-3)/2) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-p03-01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-p04-23 {;chby23 / p04-23 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=fn1((5*xx*(7*xx-6)+3)/8) Ty=fn2((5*yy*(7*yy-6)+3)/8) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-p04-23" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = sin() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-p06-01 {;chby1 / p06-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) xx=x*x, yy=y*y Tx=p2*fn1((21*xx*(xx*(11*xx-15)+5)-5)/16) Ty=p3*fn2((21*yy*(yy*(11*yy-15)+5)-5)/16) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: |z|<@bailout default: title="gpm-p06-01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=100.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-p06-03 {;chby3 / p06-03 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn2(pixel) c=p1 loop: zz=z*z z=fn1(21*zz*(zz*(11*zz-15)+5)-5)/16+c bailout: |z|<@bailout default: title="gpm-p06-03" param p1 caption="Parameter" default=(0.3,0.0) endparam param bailout caption="Bailout" default=100.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-p08-15 {;chby15 / p08-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=fn1((3*zz*(11*zz*(13*zz*(15*zz-28)+210)-420)+35)/128) fd=fn2(9*z*(11*zz*(39*zz*(5*zz-7)+35)-35)/16) oz=z z=z-fn3(r*f/fd) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-p08-15" param p1 caption="Parameter" default=(2.0,2.0) endparam param bailout caption="Bailout" default=0.005 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-p10-05 {;chby5 / p10-05 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=p2*fn1((11*zz*(13*zz*(zz*(17*zz*(19*zz-45)+630)-210)+315)-63)/256) fd=p3*fn2(110*z*(13*zz*(zz*(17*zz*(19*zz-36)+378)-84)+63)/256) oz=z z=z-fn3(r*f/fd) bailout: @bailout<=|z-oz| default: title="gpm-p10-05" param p1 caption="Parameter 1" default=(1.0,1.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=0.005 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-s02-23 {;chby23 / s02-23 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) Tx=fn1(x*x-1) Ty=fn2(y*y-1) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-s02-23" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-s03-01 {;chby1 / s03-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, October 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) Tx=fn1(x*(x*x-2)) Ty=fn2(y*(y*y-2)) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-s03-01" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-s04-15 {;chby15 / s04-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z f=fn1(zz*(zz-3)+1) fd=fn2(2*z*(2*zz-3)) oz=z z=z-fn3(r*f/fd) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-s04-15" param p1 caption="Parameter" default=(2.0,2.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-s05-01 {;chby1 / s05-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) xx=x*x, yy=y*y Tx=p2*fn1(x*(xx*(xx-4)+3)) Ty=p3*fn2(y*(yy*(yy-4)+3)) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-s05-01" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-s06-01 {;chby1 / s06-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=fn1(xx*(xx*(xx-5)+6)-1) Ty=fn2(yy*(yy*(yy-5)+6)-1) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-s06-01" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-s07-08 {;chby8 / s07-08 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y Tx=p2*fn1(x*(xx*(xx*(xx-6)+10)-4)) Ty=p3*fn2(y*(yy*(yy*(yy-6)+10)-4)) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-s07-08" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = sin() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-sc02-29 {;chby29 / sc02-29 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) Tx=fn1(2/x) Ty=fn2(2/y) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) test=(|Tx|+|Ty|) bailout: test>=@bailout && test<=1e30 default: title="gpm-sc02-29" param p1 caption="Parameter" default=(0.5,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-t03-25 {;chby25 / t03-25 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) y=y+t*(fn1(x*(4*x*x-3))) x=x-t*(fn2(y*(4*y*y-3))) z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-t03-25" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = sin() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-t07-01 {;chby1 / t07-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) xx=x*x, yy=y*y Tx=p2*fn1(x*(8*xx*((xx+xx)*(4*xx-7)+7)-7)) Ty=p3*fn2(y*(8*yy*((yy+yy)*(4*yy-7)+7)-7)) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-t07-01" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-t08-11 {;chby11 / t08-11 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, April 1999 init: z=fn2(pixel) c=p1 d=p2 loop: zz=z*z z=d*fn1((32*zz*(zz*(4*zz*(zz-2)+5)-1)+1)*c) bailout: |z|<=@bailout default: title="gpm-t08-11" param p1 caption="Parameter 1" default=(0.05,0.05) endparam param p2 caption="Parameter 2" default=(1.0,1.0) endparam param bailout caption="Bailout" default=100.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-t08-15 {;chby15 / t08-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) r=p1 loop: zz=z*z a=2*zz b=4*zz f=p2*(fn1(32*zz*(zz*(b*(zz-2)+5)-1)+1)) fd=p3*(fn2(64*z*(a*(b*(a-3)+5)-1))) oz=z z=z-r*f/fd bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-t08-15" param p1 caption="Parameter 1" default=(6.0,2.0) endparam param p2 caption="Parameter 2" default=(2.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gpm-t08-20 {;chby20 / t08-20 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) xx=x*x,yy=y*y y=y+t*(fn1(32*xx*(xx*(4*xx*(xx-2)+5)-1)+1)) x=x-t*(fn2(32*yy*(yy*(4*yy*(yy-2)+5)-1)+1)) z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-t08-20" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = sin() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-u03-01 {;chby1 / u03-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) t=p1 loop: x=real(z),y=imag(z) Tx=fn1(4*x*((x+x)*x-1)) Ty=fn2(4*y*((y+y)*y-1)) x=x-t*Ty,y=y+t*Tx z=x+fn4(y) bailout: |z|<=@bailout default: title="gpm-u03-01" param p1 caption="Parameter" default=(0.5,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc } gpm-u04-01 {;chby1 / u04-01 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn4(pixel) t=p1 loop: x=real(z), y=imag(z) ax=4*x*x, ay=4*y*y Tx=p2*fn1(ax*(ax-3)+1) Ty=p3*fn2(ay*(ay-3)+1) x=x-t*Ty, y=y+t*Tx z=x+fn3(y) bailout: |z|<=@bailout default: title="gpm-u04-01" param p1 caption="Parameter 1" default=(0.2,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,0.0) endparam param bailout caption="Bailout" default=4.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-u08-15 {;chby15 / u08-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn3(pixel) r=p1 loop: zz=z*z a=4*zz b=2*zz f=fn1(p2*(8*zz*(b*(a*(a-7)+15)-5)+1)) fd=fn2(p3*(16*z*(4*zz*(b*(16*zz-21)+15)-5))) oz=z z=z-r*f/fd bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-u08-15" param p1 caption="Parameter 1" default=(0.2,0.0) endparam param p2 caption="Parameter 2" default=(0.2,0.0) endparam param p3 caption="Parameter 3" default=(0.2,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc } gpm-u10-05 {;chby5 / u10-05 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, November 1999 init: z=fn4(pixel) r=p1 loop: zz=z*z a=4*zz b=16*zz f=p2*fn1(a*(a*(b*(zz*(a-9)+6)-35)+7)-1) fd=p3*fn2(8*z*(8*zz*(b*(2*zz*(5*zz-9)+9)-35)+7)) oz=z z=fn3(z-r*f/fd) bailout: @bailout<=|z-oz| default: title="gpm-u10-05" param p1 caption="Parameter 1" default=(1.0,-2.0) endparam param p2 caption="Parameter 2" default=(2.0,0.0) endparam param p3 caption="Parameter 3" default=(0.5,0.0) endparam param bailout caption="Bailout" default=1.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-uc07-15{;chby15 / uc07-15 formula by Morgan L. Owens ;Translated from .frm to .ufm ;and slightly modified by Gedeon Peteri, March 1999 init: z=fn2(pixel) r=p1 loop: a=4*z-2,aa=a*a f=(a*(aa*(aa*(aa-6)+10)-4)) fd=(4*(aa*(aa*(7*aa-30)+30)-4)) oz=z z=fn1(z-r*f/fd) bailout: @bailout<=sqrt(|(|z|)-(|oz|)|) default: title="gpm-uc07-15" param p1 caption="Parameter" default=(6.0,-4.0) endparam param bailout caption="Bailout" default=0.05 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } ;The source of the functions on which ;these formulas are based is the book entitled ;Fractal Cosmos -- The Art of Mathematical Design ;(Lifesmith) by Jeff Berkowitz. ;Compiled by Gedeon Peteri, 1999) gp-frc-01 {;f(z)=sgrt(z^4+1)+c ;e.g.: page 3/27, top right init: z=fn1(pixel) loop: z=fn2((z^p1+1)^p2+p3) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp-frc-01" param p1 caption="Exponent 1" default=(4.0,0.0) endparam param p2 caption="Exponent 2" default=(0.5,0.0) endparam param p3 caption="Julia seed" default=(-0.275,0.47) endparam param bailout caption="Bailout Value" default=64.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gp-frc-02 {;f(z)=sgrt(z^4+c) ;e.g.: page 3/27, bottom right init: z=fn1(pixel) loop: z=fn2((z^p1+p3)^p2) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp-frc-02" param p1 caption="Exponent 1" default=(4.0,0.0) endparam param p2 caption="Exponent 2" default=(0.5,0.0) endparam param p3 caption="Julia seed" default=(0.19,-0.67) endparam param bailout caption="Bailout Value" default=64.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gp-frc-03 {;f(z)=(z^2+c)^2+z+c ;e.g.: page 3/29, bottom left init: z=fn1(pixel) loop: z=fn2((z^p1+p3)^p2+z+p3) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp-frc-03" param p1 caption="Exponent 1" default=(2.0,0.0) endparam param p2 caption="Exponent 2" default=(2,0.0) endparam param p3 caption="Julia seed" default=(-0.27,0.46) endparam param bailout caption="Bailout Value" default=64.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gp-frc-04 {;f(z)=(z^2+c+1)/(z^2-c-1) ;e.g.: page 3/24, bottom left init: z=fn1(pixel) loop: z=fn2((z^p1+p3+1)/(z^p2-p3-1)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gfp-frc-04" param p1 caption="Exponent 1" default=(2.0,0.0) endparam param p2 caption="Exponent 2" default=(2,0.0) endparam param p3 caption="Julia seed" default=(0.25,-0.5) endparam param bailout caption="Bailout Value" default=64.0 endparam param test caption = "Bailout Test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } ;The following formulas are translations, modifications, and ;embellishments of fractint formulas in file newtchb2.frm gpm-jlag2 {;Translation and modification of J_Laguenew2 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*((z*(z-4)+2)/2+c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jlag2" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jlag3 {;Translation and modification of J_Laguenew3 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*((z*(z*(-z+9)-18)+6)/6+c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jlag3" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jlag4 {;Translation and modification of J_Laguenew4 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*((z*(z*(z*(z-16)+72)-96)+24)/24+c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jlag4" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jlag5 {;Translation and modification of J_Laguenew5 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*((z*(z*(z*(z*(-z+25)-200)+600)-600)+120)/120+c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jlag5" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jlag6 {;Translation and modification of J_Laguenew6 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*((z*(z*(z*(z*(z*(z-36)+450)-2400)+5400)-4320)+720)/720+c)) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jlag6" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchc2 {;Translation and modification of J_TchebycnewC2 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z-2))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchc2" param p1 caption="Parameter 1" default=(0.7,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchc3 {;Translation and modification of J_TchebycnewC3 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z = c*z*(z*z-3), bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchc3" param p1 caption="Parameter 1" default=(0.7,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchc4 {;Translation and modification of J_TchebycnewC4 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z-4)+2))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchc4" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchc5 {;Translation and modification of J_TchebycnewC5 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z*(z*z-6)+9)-2))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchc5" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchc6 {;Translation and modification of J_TchebycnewC6 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z*(z*z-6)+9)-2))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchc6" param p1 caption="Parameter 1" default=(0.6,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchc7 {;Translation and modification of J_TchebycnewC7 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z*(z*z*(z*z-7)+14)-7))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchc7" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchs2 {;Translation and modification of J_TchebycnewS2 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z-1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchs2" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchs3 {;Translation and modification of J_TchebycnewS3 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z-2))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchs3" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchs4 {;Translation and modification of J_TchebycnewS4 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z-3)+1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchs4" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchs5 {;Translation and modification of J_TchebycnewS5 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z*(z*z-4)+3))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchs5" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 hint = "Original formula uses mod by default." enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchs6 {;Translation and modification of J_TchebycnewS6 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z*(z*z-5)+6)-1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchs6" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchs7 {;Translation and modification of J_TchebycnewS7 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z*(z*z*(z*z-6)+10)-4))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchs7" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtcht2 {;Translation and modification of J_TchebycnewT2 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(2*z*z-1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtcht2" param p1 caption="Parameter 1" default=(0.7,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtcht3 {;Translation and modification of J_TchebycnewT3 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(4*z*z-3))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtcht3" param p1 caption="Parameter 1" default=(0.7,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtcht4 {;Translation and modification of J_TchebycnewT4 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(8*z*z+8)+1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtcht4" param p1 caption="Parameter 1" default=(0.2,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtcht5 {;Translation and modification of J_TchebycnewT5 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*(z*z*(16*z*z-20)+5)))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtcht5" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtcht6 {;Translation and modification of J_TchebycnewT6 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z*(32*z*z-48)+18)-1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtcht6" param p1 caption="Parameter 1" default=(0.3,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtcht7 {;Translation and modification of J_TchebycnewT7 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z*(z*z*(64*z*z-112)+56)-7))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtcht7" param p1 caption="Parameter 1" default=(0.2,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchu2 {;Translation and modification of J_TchebycnewtU2 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(4*z*z-1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchu2" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchu3 {;Translation and modification of J_TchebycnewtU3 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(8*z*z-4))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchu3" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchu4 {;Translation and modification of J_TchebycnewtU4 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(16*z*z-12)+1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchu4" param p1 caption="Parameter 1" default=(0.3,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchu5 {;Translation and modification of J_TchebycnewtU5 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z*(32*z*z-32)+6))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchu5" param p1 caption="Parameter 1" default=(0.3,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchu6 {;Translation and modification of J_TchebycnewtU6 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*(z*z*(z*z*(64*z*z-80)+24)-1))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchu6" param p1 caption="Parameter 1" default=(0.3,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } gpm-jtchu7 {;Translation and modification of J_TchebycnewtU7 ;from newtchb2.frm ;by Gedeon Peteri, October 1999 init: z=fn2(pixel) c=p1 loop: z=fn1(p2*(c*z*(z*z*(z*z*(128*z*z-192)+80)-8))) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-jtchu7" param p1 caption="Parameter 1" default=(0.3,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=100.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc } ;The following formulas with gpm-grav prefix are translations and slight ;modifications of the original Gravijul formula written for Fractint by ;Mark Christenson, and variations thereof by other authors ;as noted in the comments for each formula. gpm-grav01 {;Original Fractint formula "gravijul" by Mark Christenson ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) loop: w = fn1(z) z = fn3(p1/fn2(w*w)) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav01" param p1 caption="Parameter 1" default=(0.6,0.6) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = sin() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-grav02 {;Original Fractint formula "gravijul-a1" by Mark Christenson ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: q1=imag(p3) q2=real(p3) z=fn4(pixel) loop: v = fn1(z) w = q1*(v*v) z = q2*fn3(p1/fn2(w)) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav02" param p1 caption="Parameter 1" default=(0.6,0.6) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param p3 caption="Parameter 3" default=(1.0,1.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = sin() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-grav03 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "gravijul_2u" by Phil DiGiorgi ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=abs(pixel) loop: x = real(z) y = imag(z) w = fn1(x) + p3*y v = fn1(y) + p3*x u = fn2(w + flip(v)) z = fn4(p1/fn3(u*u)) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav03" param p1 caption="Parameter 1" default=(0.5,0.5) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param p3 caption="Parameter 3" default=(0.1,0.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = sin() endfunc func fn4 caption="Function 4" default = sin() endfunc } gpm-grav04 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "gravijul4" by Phil DiGiorgi ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=abs(pixel) loop: v = fn1(z)*p3 w = fn2(v*v) z = fn4(p1/fn3(w*w)) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav04" param p1 caption="Parameter 1" default=(1.0,-1.0) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param p3 caption="Parameter 3" default=(0.7,0.7) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = cos() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = asin() endfunc } gpm-grav05 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "grav-11a" by Linda Allison ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) c=fn4(pixel) loop: w = fn1(z)*fn1(z) z = fn3(p1/fn2(w*w)) + c bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav05" param p1 caption="Parameter" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-grav06 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "gravijul-v1" by Sylvie Gallet ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel^p3) loop: w = fn1(z) z = fn3(p1/fn2(w*w)) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav06" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param p3 caption="Exponent" default=(2.0,0.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = cos() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-grav07 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "gravijul-v2" by Sylvie Gallet ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) loop: w = fn1(real(z)) , x = fn3(p1/fn2(w*w)) w = fn1(imag(z)) , y = fn3(p1/fn2(w*w)) z = x + flip(y) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav07" param p1 caption="Parameter 1" default=(1.0,1.0) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param bailout caption="Bailout value" default=512.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = log() endfunc func fn2 caption="Function 2" default = log() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-grav08 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "gravijul-v3" by Sylvie Gallet ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) loop: w = fn1(z) z = fn3(fn2(w*w)^p1) + p2 bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-grav08" param p1 caption="Exponent" default=(1.5,0.0) endparam param p2 caption="Parameter" default=(0.0,0.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = sqrt() endfunc func fn2 caption="Function 2" default = sin() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-grav09 {;Original Fractint formula "gravijul" by Mark Christenson ;Variation "gravellipse" by Kathy Roth ;Translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) a=real(p3) b=imag(p3) loop: w = fn1(z) z = fn3(p1/fn2(w*w)) + p2 bailout: real(z) * real(z)/ a + imag(z) * imag(z)/b < @bailout default: title="gpm-grav09" param p1 caption="Parameter 1" default=(1.0,1.0) endparam param p2 caption="Parameter 2" default=(0.0,0.0) endparam param p3 caption="Parameter 3" default=(0.5,0.5) endparam param bailout caption="Bailout value" default=32.0 endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = sinh() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = ident() endfunc } ;The following formulas with prefix gpm-sgxxx are ;translations and modifications of some formulas ;from Sylvie Gallet's gallet-3.frm, ;gallet-4.frm, and gallet-6.frm. ;Modifications are limited to addition of function in init ;section, addition of a bailout test parameter, changing the hard ;coded function (flip) and bailout to user definable ones. gpm-sg302 {;Sylvie Gallet's Gallet-3-02 ;translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) loop: x = real(z) , y = imag(z) x1 = x - p1*fn1(y+p2*fn2(y)) y1 = y - p1*fn1(x+p2*fn2(x)) z = x1+fn3(y1) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-sg302" param p1 caption="Parameter 1" default=(0.5,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = cos() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-sg401 {;Sylvie Gallet's Gallet-4-01 ;translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) h=p1 a=p2 loop: x = real(z) , y = imag(z) x1 = x - fn2(x + a*fn1(x+h)) y1 = y + fn2(y + a*fn1(y+h)) z = x1 + fn3(y1) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-sg401" param p1 caption="Parameter 1" default=(0.3,0.0) endparam param p2 caption="Parameter 2" default=(1.0,1.0) endparam param bailout caption="Bailout value" default=4.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = flip() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-sg402 {;Sylvie Gallet's Gallet-4-02 ;translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=fn4(pixel) h=p1 a=p2 loop: x = real(z) , y = imag(z) y1 = y + fn2(x + a*fn1(x+h)) x1 = x - fn2(y + a*fn1(y+h)) z = x1 + fn3(y1) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-sg402" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(0.5,0.0) endparam param bailout caption="Bailout value" default=16.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = ident() endfunc func fn2 caption="Function 2" default = log() endfunc func fn3 caption="Function 3" default = flip() endfunc func fn4 caption="Function 4" default = ident() endfunc } gpm-sg604 {;Sylvie Gallet's Gallet-6-04 ;translated to UF format and slightly modified by ;Gedeon Peteri, December, 1999 init: z=pixel x = real(z) y = imag(z) loop: x1 = x - p1*fn1(y + fn2(p2*x) * fn3(p3*y)) y1 = y - p1*fn1(x + fn2(p2*y) * fn3(p3*x)) x = x1 , y = y1 z = x + fn4(y) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= @bailout)) default: title="gpm-sg604" param p1 caption="Parameter 1" default=(1.0,0.0) endparam param p2 caption="Parameter 2" default=(1.0,0.0) endparam param p3 caption="Parameter 3" default=(0.1,0.0) endparam param bailout caption="Bailout value" default=32.0 endparam param test caption = "Bailout test" default = 0 enum = "mod" "real" "imag" "or" "and" "manh" "manr" hint = "Original formula uses mod by default." endparam func fn1 caption="Function 1" default = tan() endfunc func fn2 caption="Function 2" default = ident() endfunc func fn3 caption="Function 3" default = ident() endfunc func fn4 caption="Function 4" default = flip() endfunc }