Hi, i dont intend to push anyone "to extend the limits", but what good is a composition tool if it isïnt used as such? It would be sad, if the only reason is that the inputs are not clear. Also Iïm not an artist and definetly there is much more to it than I can explore. First some remarks about the basic structure as John suggested. The main loop consists of 3 parts, the iteration loop, the part defined by the variable "wo" and the part defined by the variable "start". The iteration loop checks if "VB"is set, which means one of the 2 hybrid frms is to be used, if "zero" one of the 2 basic frms is used. The "d3" variable checks if it is a Julia (1) or a mandel-type (0).In case of the hybrid frms it`s the hybrid Julia, otherwise many_mods. If "vb" is zero itïs one of the 2 basic frms, but as Julia. The default basic frm, just like the hybrid Julia gets more complexity by use of the warp-factor "u". The "ab" variable determins which one of the 2 basic frms is to be used. The "wo" part supplies the initial value to warp the basic shape if it is checked. When the border or maxiter values are reached, iteration restarts from zero but warped. The difference can easily be checked with the speed test image. The "start" variable determines if one or two in/out options are used. If zero, only the main loop and the "wo" part (if checked) is active. If "1", only in/out2 options are active. It is counted down from 2 to zero, so that finally, at high iteration, only the iteration loop is used. Regard the border and maxiter values as imaginary bailout points where the iteration switches to the next selected frm. The warpeffect like it says somehow bends the look of the next iteration part, how - depends on the type. The internal counter "t" of the previous part(s) is used for itïs calculation. It needs outside=tdis and a colourmap which supports "3d"looks. BUD2.map is my favorite as it supports "3d" in 3 basic colors. To create a new image from the scratch firstly you decide which basic frm (I call it shape) to use. There are 6 options, the 4 frms and the Julia variation of the 2 basic frms. Ismand has the precedence, so if frm3 (many_mods) is checked and Ismand is "no" the hybrid julia (4) is used. To start off you use the real(p5) 1digit input, 1 to 4. Set image(p5) to 5 if you want to warp it. Having done that you add the other 4 digits, in the following order: (shape), out1, out2, in1, in2. Of course the outside options are used also for the inside parts and vv, if the conditions are met. Now the explanation of the inputs in their order: P1 is the Julia seed, it is used for all julia variations and it is shared by the basic frm1. Get the values using the evolver or take them from any other image. Real (p2) factor1, is used for the shape-warpeffect. Set it to maxiter1 or higher. A good example is one third above. After the dot the border1 input. Select the value and divide it by 100000, a value of 1.234 appears as -.00001234. It is the same with the other secondary inputs, except where a number of digits is requested, see the text. If the shape is a basic mandel or Julia, any value between 1 and 4 makes sense, for the other ones itïs a matter of try and error and experience. Use low resolutions for that purpose. Image(p2) is maxiter1, select a relatively low value, maybe 256. The secondary input has 4 digits, the first 2 are used for frm1, the other 2 for frm2. The first one also accepts a negative input. A "-" will be applied to this one only. If you have found the julia seed, see what image you get and modify it with these inputs. Use the evolver, set max mutation f.e to 0.5 for frm1 and to 0.003 for frm2. Higher figures generate smaller shapes. Frm2 supplies a big variety of shapes, mirrored mandels or 2 mandels combined to one shape, it even can be quadratic. This one is used in todayïs image. Real(p3) is the general bailout, use a really high value if you want to fill those black holes, which are typical for many_mods.The second input is the "number of sides" created by many_mods; a high number generates smaller structures, f.e. 4 to 32. The format is the same as border1. This value is doubled if m_m is called as in/out option and again, if called twice. This leads to very high complexity, sometimes chaotic spots, so it can be shut off (-later). Image(p3) is factor 2, take a value higher then maxiter2, just like factor1. Border2 is fractional, same format as border1. For a basic mandel or Julia a value between 4 and 32 makes sense, of course all other values are possible. Modify this figure, so that nothing of the basic shape is covered, if it is a mandel (and you want that), 9.1 is a good example. Real(p4) is maxiter2, it makes sense to double the value of maxiter1 or any higher value. The second input, factor 3 is used for in/out2, any value well above maxiter 3, f.e. one third or double. Image(p4) is border3, this one is not fractional, any value below bailout. The second input, maxiter3 should be well below the general maxiter on the x-screen in order to leave enough iterations for in/out2. If you want to use the in-options exclusively set the border values higher then bailout, and vv the maxiter values higher then general maxiter. Real(p5): As explained use 1 digit only to create just the shape and add the other 4 digits later. Add 5 to each selection, except the shape, in order to reset it. Resetting generally adjusts the selected part to the screen instead of the surrounding, if itïs m_m, it creates circular shapes and helps avoid chaotic spots. If this value is negative in/out1 is shut off. The figures are as follows: 1_basic mandel, 2_basic julia, 3_many_mods, 4_hybrid Julia. The second input is optional and determines where the basic frm2 is used, regardless if itïs Julia or mandel. Type the number of the out-option you want to use it for and the number of the in-option, zero if none. Type 3 to use it on both. One digit only defines the out-option, add 5 to the first or second digit, to use frm2 as shape. Precedence has the primary real(p5) input, so these values must correspond to it, to be active. One example: 18212.71 (or 18212.26) uses frm2 as shape, out2 and in1. Out1 is m_m with a reset, out2 is basic julia2, in1 is basic mandel2,in2 is basic julia1. This may sound complicated, but you`ll manage after a couple of times. An earlier version of this formula was much heavier. Image(p5): Optional, 1 digit: "1" resets the iteration counter after the "wo" calculations, "2" after in/out1, "3" after both. This effects the calculation of the warp-factor. Add "5" or just type "5" to use the warpeffect on the shape. 2 digits: the first digit shuts off the m_m multiplication, "1" at the in/out1 switch, "2" at the in/out2 switch, "3" completely. Second input: Optional, used for the lake-effect variables. 6 digits, 2 digits for each one: Example 324151 means a frequency of 320, a level of 41% and an amplitude of 0.51. Any valid input activates the lake effect. The functions are used for the calculation of the warpeffect, if you use a different one, possibly the corresponding factor must be changed. For some Julias "sin" is a must. Fn1 is shared by m_m and the basic image, so if that is not warped, it is free to use. The m_m rendering changes dramatically. Fn2 is used for in/out1 fn3 is used for in/out2 Thatïs it. I hope itïs understandable and not too chaotic. Fractal greetings, Al. ----------------------------start-par------------------------------------- Easter_eggs { ; Time 0.29.47.49 ; Albrecht Niekamp May, 03 reset=2002 type=formula formulafile=mult239.frm formulaname=multifractal ismand=y function=exp/exp/exp passes=t center-mag=-0.464607/-4.44089e-016/0.5117907 params=-0.8940855128635518/0.8105868709372235/384.00001/256.1133/2048.00\ 008/768.0003400000001/768.01536/2560.01025/18934.5/5 float=y maxiter=3072 inside=maxiter outside=tdis logmap=7 periodicity=0 rseed=-2436 colors=200444222000<25>0bo0cq0es<3>0kz<25>09C08A068<2>022000211<24>oiQqj\ RslS<3>zsX<25>CB7A96875<3>000400<23>o00q00s00<3>z00<25>C00A00800<3>000<2\ 5>iiijjjlll<3>sss<25>BBB999777555 } Wonderland { ; Albrecht Niekamp May, 03 ; Time 1.09.00.09 ; Version 2002 Patchlevel 5 reset=2002 type=formula formulafile=mult239.frm formulaname=multifractal ismand=y function=exp/exp/exp passes=t center-mag=-1.5922/0.155851/14.26617/1/95/1.31075705844807544e-014 params=-0.8940855128635518/0.8105868709372235/384.00001/256.1133/4094.00\ 016/768.0003400000001/768.0076800000001/256.01024/18937.52/5 float=y maxiter=3072 inside=maxiter outside=tdis logmap=7 periodicity=0 rseed=-2436 colors=200444222000<25>0bo0cq0es<3>0kz<25>09C08A068<2>022000211<24>oiQqj\ RslS<3>zsX<25>CB7A96875<3>000400<23>o00q00s00<3>z00<25>C00A00800<3>000<2\ 5>iiijjjlll<3>sss<25>BBB999777555 } -------------------------------start-frm----------------------------------- FRM:Multifractal {; Albrecht Niekamp 16.5.01 ;only integers as first input, second input 5 digits to the right ;real(p2) factor1,border1 ;imag(p2) (-)maxiter1,input bas.frm1_2digits input bas.frm2_2digits ;real(p3) bailout,hyb.mandel: number of sides (Many_mods L.Allison) ;imag(p3) factor2,border2 ;real(p4) maxiter2,factor3 ;imag(p4) border3,maxiter3 ;real(p5) 1digit_shape only 5digits: shape,out1,out2,in1,in2 ; 1_mand 2_jul 3_hyb.mand 4_hyb.jul +5_reset (not shape) <0_no in/out1 ; optional basic frm2: out-nbr 1digit in-nbr 1digit 3_both +5_shape ;imag(p5) 1digit : 1_iter1reset 2_iter2reset 3_both +5_shape effect ; 2digits : many_mods multipl.shutoff +10_in/out1 +20_in/out2 +30_both ; optional input2: frequency_2digits level_2digits amplitude_2digits ; d=real(p2) ;factor1 , border1 fac1=trunc(d) b1=(d-fac1)*100000 ; d=imag(p2) da=d<0 ;p6 negative (frm1) if (da) d=-d endif mi1=trunc(d) ;maxiter1 d=round((d-mi1)*10000) p6=trunc(d/100)/10 ;init. value frm1 d=d-1000*p6 if (da) p6=-p6 endif p7=d/10 ;init. value frm2 ; d=real(p3) ba=trunc(d) ;bailout mm=round((d-ba)*100000) ;m_mods nbr of sides ; d=imag(p3) fac2=trunc(d) ;factor2 b2=(d-fac2)*100000 ;border2 ; d=real(p4) mi2=trunc(d) ;maxiter2 fac3=round((d-mi2)*100000) ;factor3 ; d=imag(p4) b3=trunc(d) ;border3 mi3=round((d-b3)*100000) ;maxiter3 ; da=real(p5) t=da<0 ;in/out2 only if (t) da=-da endif start=2-t ;inout1+inout2: start=2 dd=trunc(da) if (dd<5) start=0 endif vb=(dd==3)+(dd==4) ;shape hybrid frm_1digit input da=round((da-dd)*100) d=trunc(dd/10000) vb=(d==3)+(d==4)+vb ;shape hybrid frm_5digits input dd=dd-d*10000 d=trunc(dd/1000) or1=d>5 ;reset out1 d=d-5*or1 vv1=(d==3) ;hybrid frm out1_mandel vv2=(d==4) ;hybrid frm out1_julia dd1=(d==2)+(d==4) ;julia out1 dd=dd-d*1000 d=trunc(dd/100) or2=d>5 ;reset out2 d=d-5*or2 vv3=(d==3) ;hybrid frm out2_mandel vv4=(d==4) ;hybrid frm out2_julia dd2=(d==2)+(d==4) ;julia out2 dd=dd-d*100 d=trunc(dd/10) inr1=d>5 ;reset in1 d=d-5*inr1 v1=(d==3) ;hybrid frm in1_mandel v2=(d==4) ;hybrid frm in1_julia d1=(d==2)+(d==4) ;julia in1 dd=dd-10*d d=trunc(dd) inr2=d>5 ;reset in2 d=d-5*inr2 v3=(d==3) ;hybrid frm in2_mandel v4=(d==4) ;hybrid frm in2_julia d2=(d==2)+(d==4) ;julia in2 d=trunc(da/10) da=da-10*d ab=d>=5 ;shape frm2 d=d-5*ab bb1=(d==1) ;frm2 out1 bb2=(d==2) ;frm2 out2 dd=da>=5 ;shape frm2_second digit da=da-5*dd ab=ab+dd ab1=(da==1) ;frm2 in1 ab2=(da==2) ;frm2 in2 ; d=imag(p5) dd=trunc(d) d=round((d-dd)*1000000) le=d>10000 ;lake effect on da=trunc(dd/10) so1=((da==1)+(da==3)==0) ;m_m multiplication off_in/out1 so2=((da==2)+(da==3)==0) ;m_m multiplication off_in/out2 dd=dd-10*da wo=dd>=5 ;shape warpeffect dd=dd-5*wo ir1=(dd==1)+(dd==3) ;iter reset in/out1 ir2=(dd==2)+(dd==3) ;iter reset in/out2 if (le) ;lake effect freq=round((trunc(d/10000))*10) ;frequency_lake effect by S.Gallet d=d-freq*1000 level=(trunc(d/100))/100 ;water level d=d-level*10000 ampl=d/100 ;amplitude of the wave u=real(rotskew*pi/180) t=exp(-flip(u)) bo=1/real(magxmag) q=bo/0.75*imag(magxmag) dd=tan(imag(rotskew*pi/180)) d3=2*q*t rs=2*bo*(dd+flip(1))*t z2=center+(-q-bo*dd-flip(bo))*t z=pixel-z2 d=imag(conj(d3)*z)/imag(conj(d3)*rs) if (d<=level) da=level-d z=z+2*da*(1+ampl*sin(freq*da^0.2))*rs endif z=z+z2 endif if (ismand) if (vb) ;many_mods c=0.4*log(sqr(pixel^mm)) z=z*le else c=z*le+pixel*(le==0) z=0 endif else ;julia c=p1 z=z*le+pixel*(le==0) endif t=0 d3=(ismand==0) u=d3 ;warpeffect initial value : if (vb) if (d3) ;julia z=(z*z-real(c))^(z*u+imag(c)) ;hybrid julia else z2=fn1(z)+c ;hybrid mandel L.Allison q=cos(z2) z=c*(1-q)/(1+q) endif elseif (ab) z=z*z+c+c*c-p7 ;basic frm2 Pusk.s Istv.n elseif (d3) z2=z*z z=z2*z2+(p6+u)*z2+c ;basic frm1 as julia else z2=z*z ;basic frm1 Pusk s Istv n z=z2*z2+(p6+u)*z2+c-p1 endif bo=|z| ;bailout value If (wo) ;shape warp effect t=t+1 if ((t<mi1)+(bo>b1)) u=2*(fn1(t/fac1)) ;warpeffect if (ismand) z=z*u if (vb) ;hybrid frm c=0.4*log(sqr(pixel^mm)) ;init m_m else c=z*le+pixel*(le==0) endif else z=z*le+pixel*(le==0) ;init julia c=p1*u endif wo=0 if (ir1) ;iter reset t=0 endif endif elseif (start) ;0_shape only t=t+1 if (start==2) ;in/out1 + in/out2 if (bo>b2) ;z > border2 ? u=2*(fn2(t/fac2)) rs=or1 ;reset ab=bb1 ;frm2 if (dd1) ;julia? if (rs) z=pixel endif c=p1*u vb=vv2 ;hybrid d3=vb ;julia else ;mandel d3=0 z=z*u c=z if (rs) ;reset z=0 endif vb=vv1 if (vb) if (so1) ;m_m multiplication mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) ;m_m init endif start=1 endif elseif (t>mi2) ;counter > maxit2 u=2*(fn2(t/fac2)) ;warpeffect rs=inr1 ab=ab1 ;frm2 if (d1) if (rs) z=pixel endif c=p1*u vb=v2 d3=vb else d3=0 z=z*u c=z if (rs) ;reset z=0 endif vb=v1 if (vb) if (so1) ;m_m multiplication mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) endif endif start=1 if (ir2) t=0 endif endif elseif (bo>b3) ;start=1 z>border3 u=2*(fn3(t/fac3)) ab=bb2 rs=or2 if (dd2) if (rs) z=pixel endif c=p1*u vb=vv4 d3=vb else d3=0 z=z*u c=z if (rs) z=0 endif vb=vv3 if (vb) if (so2) mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) endif start=0 endif elseif (t>mi3) ;start=1 counter>maxiter3 u=2*(fn3(t/fac3)) ab=ab2 rs=inr2 if (d2) if (rs) z=pixel endif c=p1*u vb=v4 d3=vb else d3=0 z=z*u c=z if (rs) z=0 endif vb=v3 if (vb) if (so2) mm=mm+mm endif c=0.4*log(sqr(pixel^mm)) endif endif start=0 ;mainloop only endif endif bo<=ba ;z<=bailout } ----------------------------end-------------------------------------------
Hi Al, There are fractal artists, fractal explorers, fractal formula creators and fractal formula experimenters who tweak the established formula parameters. Not all of us are member of all these groups. Several years ago, Jim Muth invented the MandelbrotMix4 formula and has posted over 800 images in his FOTD using it. It is not easy to find good parameters for this formula, or to tweak them. It is a technique that is gradually learned, and Jim is a master at it. Only rarely has anyone else posted an image that uses new parameter permutations. I consider most of my MandelbrotMix4 images to be sort of a partnership with Jim: He has found a combination that works, and I explore deep regions of his parent fractals that nobody else (including him) has seen. They are definitely as good as any parent fractals I could create myself, but they are each a springboard for diving widely into the fractal depths. And Jim's MandelbrotMix4 formula is far simpler than your Multifractal formula. You have shown great creativity in designing this formula and making good use of the limited parameters that Fractint provides. It is a great formula! But, in doing so, your using it comes quite naturally to you due to the time you have spent developing it. But it will take others some time to get familiar with it, and some will. And you yourself said that tweaking the parameters may take hours to come up with a good image. I'm glad you posted your tutorial - it's quite legible and informative. But as an artist, or someone who wants to explore interesting areas in already posted images, it is more exciting to just go explore those areas and let others find good parameters for other parent images. We don't all do the same work in fractals - we work as a team. Almost all of the images that I've posted lately have been deep zooms into some of your images - very different patterns, different colors, etc., but I would have never come up with those identical parameters that you did. So, it is teamwork. And if you are the only one here (and I doubt that very much!) to take the time to learn and make use of this formula tool, you are still doing a great service by providing images using the tool directly, as those who use it indirectly. After all, each parent fractal is mathematically is equally as complex as the entire Mandelbrot set and needs some exploration. So be patient. Your formula can be used as great tool by those who wish to come up with new parameter combinations, but it can also be enthusiastically used by those who just wish to play with the zoombox. Cheers, Lee
----- Original Message ----- From: "Lee H. Skinner" <skinner@thuntek.net> To: "Fractint and General Fractals Discussion" <fractint@mailman.xmission.com> Sent: Saturday, May 17, 2003 10:46 PM Subject: Re: [Fractint] Multifractal Hi Lee,
There are fractal artists, fractal explorers, fractal formula creators and fractal formula experimenters who tweak the established formula parameters. Not all of us are member of all these groups. snip
Thanks for the nice words about my Baby. I see your point, I just didn´t think about it that way. You´re completely right of course, so I´ll be patient,- and it´s good to be in the family. Regards, Al.
Hi Albrecht,
Easter_eggs { ; Time 0.29.47.49 <<
One of the best ones yet! Beautiful!
Wonderland { ; Albrecht Niekamp May, 03 <<
On this one, I ran into 1 bad buggy pixel (out of 1,920,000) about 2/3 of the way through line 458 of 1200. But I was doing it at passes=1. At passes=t, this pixel may have been a color fill-in pixel and not calculated directly. I do them all at passes=1, because passes=t, although faster, can introduce errors, and I guess I'm somewhat of a purist. About 90% of the images I've generated have no buggy pixels at all. This one had one (and the image is not deep!). Some have had 20 or more bad pixels. The method I've used on ones like that is like playing an intensive video game. You must catch the showdot hitting the bad pixel within about a second or you'll have to start over with a previous saved good image. This can be difficult while gazing at a complex image, so I use a special palette with color 0 black and all other pixels white, then replace the original palette when the image is completed. While babysitting the image, when the showdot stops, immediately save the image and exit Fractint. Restart Fractint with the saved image until you hit another bad pixel. If you miss it, you will have to restart again with the previously saved image. In about a week, I should have several of these posted on a website. Lee
On Sunday 18 May 2003 03:37 pm, Lee H. Skinner wrote:
On this one, I ran into 1 bad buggy pixel (out of 1,920,000) about 2/3 of the way through line 458 of 1200. But I was doing it at passes=1. At passes=t, this pixel may have been a color fill-in pixel and not calculated directly. I do them all at passes=1, because passes=t, although faster, can introduce errors, and I guess I'm somewhat of a purist.
I don't know if it is relevant, but between: endif bo=|z| If (wo) and: endif bo<=ba ;z<=bailout } The value in z has changed, and bo != |z|. I thought I saw this fixed once, but I can't seem to find it. Something else I'm not entirely sure about are the results of code such as: vb=(dd==3)+(dd==4) ;shape hybrid frm_1digit input If it works, it is probably coincidental. Boolean values, as such, have not been implemented in the parser. It isn't flagged as an error because the if-then statements use them. Jonathan
----- Original Message ----- From: "Jonathan Osuch" <osuchj@avalon.net> To: "Fractint and General Fractals Discussion" <fractint@mailman.xmission.com> Sent: Sunday, May 18, 2003 11:18 PM Subject: Re: [Fractint] Multifractal Hi, Jonathan. Thanks that you could find the time to look into it. you wrote: qte I don't know if it is relevant, but between: endif bo=|z| If (wo) and: endif bo<=ba ;z<=bailout } The value in z has changed, and bo != |z|. I thought I saw this fixed once, but I can't seem to find it. unqte I know that the z value is different and I did that for 2 reaasons: to have an initial value for the follwing expressions and to avoid an unwanted bailout caused by any of them. See my message may,10th as foll: qte I found what caused that mysterious fractint-bug. It must be one as I have used the same bailout expression on some other formulas without problems unqte I changed it in order to check if the bug still was there, but it helped only with one image and I had no other ones to check.Also one of Lee´s images rendered differently, probably because of unwanted bailouts, so I use the previous expression again You wrote qte Something else I'm not entirely sure about are the results of code such as: vb=(dd==3)+(dd==4) ;shape hybrid frm_1digit input If it works, it is probably coincidental. Boolean values, as such, have not been implemented in the parser. It isn't flagged as an error because the if-then statements use them. unqte I have used these expressions since a long time and I never experienced any difficulties. In my march,24 posting "splash" there is a huge number of them, soany problem would have shown there. Regards, Al. _______________________________________________ Fractint mailing list Fractint@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint
On Monday 19 May 2003 06:24 am, Albrecht Niekamp wrote:
endif bo<=ba ;z<=bailout } The value in z has changed, and bo != |z|.
I thought I saw this fixed once, but I can't seem to find it.
I know that the z value is different and I did that for 2 reasons: to have an initial value for the following expressions and to avoid an unwanted bailout caused by any of them.
And the problem with that would be that the value in z is used for all the coloring options and periodicity checking (I know, you turn off periodicity checking). Jonathan
----- Original Message ----- From: "Jonathan Osuch" <osuchj@avalon.net> To: "Fractint and General Fractals Discussion" <fractint@mailman.xmission.com> Sent: Monday, May 26, 2003 3:15 PM Subject: Re: [Fractint] Multifractal On Monday 19 May 2003 06:24 am, Albrecht Niekamp wrote:
endif bo<=ba ;z<=bailout } The value in z has changed, and bo != |z|.
I thought I saw this fixed once, but I can't seem to find it.
I know that the z value is different and I did that for 2 reasons: to have an initial value for the following expressions and to avoid an unwanted bailout caused by any of them.
And the problem with that would be that the value in z is used for all the coloring options and periodicity checking (I know, you turn off periodicity checking). Yes, and that must be so as the following routines check when the next switch to another frm is due and to set the "z" and "c" values for the next iteration round if so. These must not be used for coloring. Please check todays posting, I think I have found what caused that bug. Regards, Al.
On Tuesday 27 May 2003 01:23 pm, Albrecht Niekamp wrote:
And the problem with that would be that the value in z is used for all the coloring options and periodicity checking (I know, you turn off periodicity checking).
Yes, and that must be so as the following routines check when the next switch to another frm is due and to set the "z" and "c" values for the next iteration round if so. These must not be used for coloring. Please check todays posting, I think I have found what caused that bug.
If z is set for the next iteration before the bailout test is reached, then the coloring will be incorrect. You need to change your formula so that z and c are set before the iteration starts, and not after it is over. Once the bailout test is reached, and exits, what ever value left in z is used to determine most of the inside and outside coloring options. Jonathan
----- Original Message ----- From: "Jonathan Osuch" <osuchj@avalon.net> To: "Fractint and General Fractals Discussion" <fractint@mailman.xmission.com> Sent: Wednesday, May 28, 2003 3:34 AM Subject: Re: [Fractint] Multifractal On Tuesday 27 May 2003 01:23 pm, Albrecht Niekamp wrote:
And the problem with that would be that the value in z is used for all the coloring options and periodicity checking (I know, you turn off periodicity checking).
Yes, and that must be so as the following routines check when the next switch to another frm is due and to set the "z" and "c" values for the next iteration round if so. These must not be used for coloring. Please check todays posting, I think I have found what caused that bug.
If z is set for the next iteration before the bailout test is reached, then the coloring will be incorrect. You need to change your formula so that z and c are set before the iteration starts, and not after it is over. Once the bailout test is reached, and exits, what ever value left in z is used to determine most of the inside and outside coloring options. I have tested e v e r y possible combination, even put the iterations physically behind the switching routines if it´s that what you mean, but the bug always was there, only at different pixels. The bailout expression has nothing to do with it, and it works perfectly with multifractal_1, where the bug is no problem after numerous tests.I really hope, you can track it down.It must be a matter of the inputs, I think. Al.
On Thursday 29 May 2003 12:20 pm, Albrecht Niekamp wrote:
I have tested e v e r y possible combination, even put the iterations physically behind the switching routines if it´s that what you mean, but the bug always was there, only at different pixels. The bailout expression has nothing to do with it, and it works perfectly with multifractal_1, where the bug is no problem after numerous tests.I really hope, you can track it down.It must be a matter of the inputs, I think.
My discussion is not about the bug, but, rather, about the fact that you aren't getting the colors that you think you are. Jonathan
Hi! I'm curious. How do you know that a pixel is "buggy"? Is this seen by looking at the screen, and if so, what are the symptoms? Does it happen with formulas other than Niekamp's? What is the cause of it? TIA. ----- Original Message ----- From: Lee H. Skinner <skinner@thuntek.net> To: Fractint and General Fractals Discussion <fractint@mailman.xmission.com> Sent: Sunday, May 18, 2003 5:37 PM Subject: Re: [Fractint] Multifractal
Hi Albrecht,
Easter_eggs { ; Time 0.29.47.49 <<
One of the best ones yet! Beautiful!
Wonderland { ; Albrecht Niekamp May, 03 <<
On this one, I ran into 1 bad buggy pixel (out of 1,920,000) about 2/3 of the way through line 458 of 1200. But I was doing it at passes=1. At passes=t, this pixel may have been a color fill-in pixel and not calculated directly. I do them all at passes=1, because passes=t, although faster, can introduce errors, and I guess I'm somewhat of a purist.
About 90% of the images I've generated have no buggy pixels at all. This one had one (and the image is not deep!). Some have had 20 or more bad pixels. The method I've used on ones like that is like playing an intensive video game. You must catch the showdot hitting the bad pixel within about a second or you'll have to start over with a previous saved good image.
This can be difficult while gazing at a complex image, so I use a special palette with color 0 black and all other pixels white, then replace the original palette when the image is completed. While babysitting the image, when the showdot stops, immediately save the image and exit Fractint. Restart Fractint with the saved image until you hit another bad pixel. If you miss it, you will have to restart again with the previously saved image.
In about a week, I should have several of these posted on a website.
Lee
_______________________________________________ Fractint mailing list Fractint@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint
Ricardo M. Forno wrote:
Hi! I'm curious. How do you know that a pixel is "buggy"? Is this seen by looking at the screen, and if so, what are the symptoms? Does it happen with formulas other than Niekamp's? What is the cause of it? TIA. <<
After the showdot hits a buggy pixel, every pixel after that is colored the same. And the showdot usually slows down as if every pixel had the value maxiter. And it continues if you change passes or resolutions! You have to exit fractint and then restart it. I've not seen it in other than the multifractal formula. I'm told it only happens at 1600x1200. So far, no one knows the cause.
From my experience with some programs I am developing in C, I think the cause of this kind of error might be a variable that got an inf, -inf or nan value (IEEE specifications for floating numbers). Once a variable has got such a value, no operation (addition, multiplication, etc.) will change it, and this will be transmitted to other variables. Of course, this does not explain how this happened in the first place. What I don't know is what happens if you run fractint using exactly the same parameters once more. In case the symptom appears in a haphazard way, it might indicate an uninitialized variable is taking values left in the memory by other programs. Regards. ----- Original Message ----- From: Lee H. Skinner <skinner@thuntek.net> To: Fractint and General Fractals Discussion <fractint@mailman.xmission.com> Sent: Tuesday, May 20, 2003 1:55 AM Subject: Re: [Fractint] Multifractal
Ricardo M. Forno wrote:
Hi! I'm curious. How do you know that a pixel is "buggy"? Is this seen by looking at the screen, and if so, what are the symptoms? Does it happen with formulas other than Niekamp's? What is the cause of it? TIA. <<
After the showdot hits a buggy pixel, every pixel after that is colored the same. And the showdot usually slows down as if every pixel had the value maxiter. And it continues if you change passes or resolutions! You have to exit fractint and then restart it. I've not seen it in other than the multifractal formula. I'm told it only happens at 1600x1200. So far, no one knows the cause.
_______________________________________________ Fractint mailing list Fractint@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractint
From my experience with some programs I am developing in C, I think the cause of this kind of error might be a variable that got an inf, -inf or nan value (IEEE specifications for floating numbers). Once a variable has got such a value, no operation (addition, multiplication, etc.) will change it, and this will be transmitted to other variables. Of course, this does not explain how this happened in the first place. What I don't know is what happens if you run fractint using exactly the same parameters once more. In case the symptom appears in a haphazard way, it might indicate an uninitialized variable is taking values left in the memory by other programs. <<
Good point (no pun intended). Certain pixels do cause the bug. Usually, it is repeatable. One can even pan the image up, left, etc., and the same pixel in the fractal image will still cause the bug. I've noticed in a few cases, it occurs when the showdot hits the edge of a lake, but this may be a coincidence. But occasionally - it is not repeatable! These images often use function=exp/exp/exp which could possibly run into inf or -inf.
----- Original Message ----- From: "Lee H. Skinner" <skinner@thuntek.net> To: "Fractint and General Fractals Discussion" <fractint@mailman.xmission.com> Sent: Tuesday, May 20, 2003 6:55 AM Subject: Re: [Fractint] Multifractal
After the showdot hits a buggy pixel, every pixel after that is colored the same. And the showdot usually slows down as if every pixel had the value maxiter. And it continues if you change passes or resolutions! You have to exit fractint and then restart it. I've not seen it in other than the multifractal formula. I'm told it only happens at 1600x1200. So far, no one knows the cause.
Hi Lee, why don´t you use the method I suggested, shelling to dos and exit. I tried it many times and it even can restart a partly saved image which has been saved with the bug active. Is the dos shell not available in your system? I have about 100k of ram to use, so that should´n be a problem with this formula. Regards, Al.
Hi Al,
why don´t you use the method I suggested, shelling to dos and exit. I tried it many times and it even can restart a partly saved image which has been saved with the bug active. Is the dos shell not available in your system? I have about 100k of ram to use, so that should´n be a problem with this formula.<<
Due to the number of crashes I get in Win98, I do all my Fractint in DOS 6.22 and 4DOS, and the shell-to-DOS <D> command doesn't seem to work for me. I encountered 1 bad pixel at passes=1 in your Wonderland2 image, but completed some zooms with no more problems.
participants (4)
-
Albrecht.Niekamp@t-online.de -
Jonathan Osuch -
Lee H. Skinner -
Ricardo M. Forno