autumn_lilypads.jpg

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
 }

 

Return to the Fracton main page