; Date: Mon, 26 Jul 2010 23:32:25 -0600 ; From: Roger Alexander ; Subject: [Fractint] Organic Reds ; Id: ; --------- ; ; A clutch of blood red dragon eggs found in the secret chambers of a powerful wizard. ; Speaking of wizardry the speed at which you access the finished fractal ; at http://maxitersfractalfollies.blogspot.com is almost magical. ; fract333.gif { ;_blood_red_dragon_eggs ; blank ; calctime 0:17:53.24 ; created Jul 26, 2010 ; Fractint Version 2004 Patchlevel 9 reset=2004 type=formula formulafile=frac_ml.frm formulaname=kpassion_balls function=cos center-mag=-1.7622/0.000751252/42.46501 params=0.1/0/2/128/0/0 float=y maxiter=1500 inside=atan outside=summ periodicity=0 colors=0000czF00F00F00F00F00G00G00G00G00H00H00H00H00I00I00I00I00I00J00J0\ 0J00J01K01K01K01K01L01L01L01L01L01M01M01M01M01N01N01N01N01O01O01O01O02O0\ 2P02P02P02P02Q02Q02Q02Q02R02R02R02R02R02S02S02S02S02T02T02T03T03U03U03U0\ 3U03V03V03V03V03V03W03W03W03W03X03X03X03X03Y03Y03Y04Y04Y04Z04Z04Z04Z04_0\ 4_04_04_04`04`04`04`04`04a04a04a04a04b04b05b05b05c05c05c05c05c05d05d05d0\ 5d05e05e05e05e05f05f05f05f05g06h06h06h06h06h16h17h17h27i27i28i38i38i38i4\ 9i49j49j59j5Aj5Aj5Aj6Aj6Ak6Bk7Bk7Bk7Bk8Ck8Ck8Cl9Cl9Dl9DlADlADlAElBEmBEmB\ EmBEmCFmCFmCFmDFnDGnDGnEGnEGnEHnFHnFHoFHoGIoGIoGIoHIoHIoHJpHJpIJpIJpIKpJ\ KpJKpJKqKLqKLqKLqLLqLMqLMqMMrMMrMNrMNrNNrNNrNNrOOsOOsOOsPOsPPsPPsQPsQPtQ\ QtRQtRQtRQtSRtSRtSRuSRuTRuTSuTSuUSuUSuUTvVTvVTvVTvWUvWUvWUvXUwXVwXVwYVwY\ VwYVwYWwZWxZWxZWx_Xx_Xx_Xx`Xx`Yy`YyaYyaYyaZybZybZybZzc_ } frm:kpassion_balls {; variant of Paul W. Carlson and Kerry Mitchell ;**************************************************** ; Always use floating point math and outside=summ. ; ; Parameters: ; real(p1) = a factor controlling the size of the balls ; imag(p1) = number of iterations to skip ; real(p2) = number of color ranges ; imag(p2) = number of colors in each color range ; ; Note that the equation variable is w, not z. Always ; initialize z to zero. ;**************************************************** w = 0 c = pixel z = 0 bailout = 0 iter = 0 range_num = 0 skip = imag(p1) k=real(p3) r=imag(p3) ;**************************************************** ; In the accompanying par file, mndballs.par, ; 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 0 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 0 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 size of the balls. ; These values will usually be in the range 0.001 to 0.1 ;**************************************************** ball_size = real(p1) index_factor = (colors_in_range - 1) / ball_size : ;**************************************************** ; The equation being iterated. Almost any equation ; that can be express 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 c= c + k*fn1(w) ;**************************************************** ; If the orbit point is within the specified distance of a circle, ; set z to the index into the colormap and set the bailout flag. ;**************************************************** IF (iter > skip) wr = real(w), wi = imag(w) d = wr * wr + (wi - .5) * (wi - .5) IF (d < ball_size) bailout = 1 delta = ball_size - d ELSEIF (wr * wr + (wi + .5) * (wi + .5) < ball_size) d = wr * wr + (wi + .5) * (wi + .5) bailout = 1 delta = ball_size - d ELSEIF ((wr - .5) * (wr - .5) + wi * wi < ball_size) d = (wr - .5) * (wr - .5) + wi * wi bailout = 1 delta = ball_size - d ELSEIF ((wr + .5) * (wr + .5) + wi * wi < ball_size) d = (wr + .5) * (wr + .5) + wi * wi bailout = 1 delta = ball_size - d ENDIF ENDIF IF (bailout) z = index_factor * delta + range_num * colors_in_range + 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 = z - iter ;**************************************************** ; Finally, we test for bailout ;**************************************************** bailout == 0 && |w| < 1000 ;SOURCE: 98msg.frm } ; Roger Alexander ; _________________________________________________________________ ; Look 'em in the eye: FREE Messenger video chat ; http://go.microsoft.com/?linkid=9734386 ; _______________________________________________ ; Fractint mailing list ; Fractint@mailman.xmission.com ; http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint ;