Autumn_Lilypads
I used the Epicycloid_Mset formula to make this image. The thickness of the curve is adjusted to be so thick that the curve is filled in and turned into a "lily pad". The parameter file used to make this image is below: Autumn_Lilypads { ; Exported from Fracton. reset=2004 type=formula formulafile=fracton.frm formulaname=Epicycloid_Mset passes=1 float=y center-mag=-0.736775091553311/0.2424716796875001/1\ 33.333335/1/0/0 params=0.04/0.15/5/30/8/0.25/0/0/0/0 maxiter=500 inside=255 outside=summ colors=000fOz<28>I0Kz0f<28>O08z88<28>O00zW0<28>c40\ zz0<28>aG00zR<28>0C40zz<28>0CCGGz<28>00O000<12>000\ z88 } frm:Epicycloid_Mset { ; Epicycloid_Mset based on Astroid_Mset ; Astroid_Mset copyright (c) Paul W. Carlson, 1997 ; Epicycloid_Mset by Mike Frazier, 2011 ;**************************************************** ; Always use floating point math and outside=summ. ; ; Parameters: ; real(p1) = a factor controlling the width of the curves ; imag(p1) = radius of the curve ; real(p2) = number of color ranges ; imag(p2) = number of colors in each color range ; real(p3) = number of cusps, even integers ; imag(p3) = cusp amplitude (0 to 1) ; ; Note that the equation variable is w, not z. ; Initialize cindex to the index of the background color ; Formula modified to avoid color index 0 which can not ; be used with outside=summ in FractInt v20.04 ;**************************************************** w=0, c=pixel, z=0, cindex=254,; Background color bailout=0, iter=0, range_num=0, i=(0,1), r=imag(p1), f=real(p3)+1, b=imag(p3), ;**************************************************** ; In the accompanying par file, ; we have 8 color ranges with 30 colors in each range ; for a total of 240 colors. The first range starts at ; color 1. Pixels will use color 254 when |w| > 1000. ; Other values can be used here as long as the product ; of num_ranges times colors_in_range is less than 255. ; Color 254 is reserved for the background color and ; color 255 can be used for the inside color. ;**************************************************** num_ranges=real(p2), colors_in_range=imag(p2), ;**************************************************** ; Real(p1) controls the width of the curves. ; These values will usually be in the range 0.001 to 0.1 ;**************************************************** width=real(p1), index_factor=(colors_in_range-1)/width: ;**************************************************** ; The equation being iterated. Almost any equation ; that can be expressed in terms of a complex variable ; and a complex constant will work with this method. ; This example uses the standard Mandelbrot set equation. ;**************************************************** w=w*w+c, ;**************************************************** ; The orbit trap curve is an epicycloid. ; Any two-dimensional curve can ; be used which can be expressed in parametric form in ; terms of the angle from the origin. ;**************************************************** ang=atan(imag(w)/real(w)), astroid=r*(cos(ang)-b*cos(f*ang)+i*(sin(ang)-b*sin(f*ang))), ;**************************************************** ; If the orbit point is within some distance of the curve, ; set cindex to the index into the colormap and set the bailout ; flag. Note: the way we use the "distance" here has ; the effect of turning the curves inside-out in the image. ;**************************************************** distance=abs(|w|-|astroid|), if(distance<width&&iter>1), cindex=index_factor*distance+range_num*colors_in_range+1, bailout=1, endif, ;**************************************************** ; Cycle through the range numbers (0 thru num_ranges - 1) ; With two color ranges, even iterations use color ; range 0, odd iterations use color range 1. ;**************************************************** range_num=range_num+1, if(range_num==num_ranges), range_num=0, endif, ;**************************************************** ; Since we are using outside=summ, we have to subtract ; the number of iterations from z. ;**************************************************** iter=iter+1, z=cindex-iter, ;**************************************************** ; Finally, we test for bailout ;**************************************************** bailout==0&&|w|<1000 } |