Received: from lists.xmission.com (lists.xmission.com [198.60.22.7]) by mail-atm.san.rr.com (8.8.7/8.8.8) with SMTP id VAA26804; Sat, 3 Jan 1998 21:36:07 -0800 (PST) Received: from domo by lists.xmission.com with local (Exim 1.73 #4) id 0xoidF-0007Kt-00; Sat, 3 Jan 1998 22:29:53 -0700 Message-Id: <199801040528.VAA19450@proxyb1.san.rr.com> From: "Jay Hill" To: Subject: (fractint) Field lines, binary and Trinary decomposition Date: Sat, 3 Jan 1998 21:29:23 -0800 X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1161 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: owner-fractint@lists.xmission.com Precedence: bulk Reply-To: fractint@lists.xmission.com Content-Type: text/plain; charset=ISO-8859-1 X-UIDL: ce88176ad04c51a3befc631b283eb636 Hi Fractintiers, In the last month there are at least two threads, maybe three, on this topic mixing and folding, in the true spirit of chaos and fractals. References below are to posts to this forum in the last few weeks. I hope you enjoy the formulas and pars. Jay Field Lines, Binary and Trinary Decomposition (c) Jay Hill 1998 (as if anyone would want to copy this...) 1) There is the question of how to plot binary decomposition. One way is as posted, matching existing text books. That is choosing black or white depending on whether the bailout z is above the real line. Fine, but the alternative, left/right of the imaginary axis just shifts the phase of the black-white blocks and has the interesting effect of somehow correctly mapping the real line. Indeed, the midgets and buds on the real line have a numbering scheme based on this method. But as mentioned, it breaks down for complex midgets and buds. For these, a different boundary is needed. And it is not the imaginary axis. It is at an angle depending upon which field line you are following. Worse still, the boundary (for coloring black or white based on z) is not always straight! 2) Another thread is the issue of extending binary decomposition to more bits. I claimed earlier that the approach Paul Derbyshire suggested will not work. One reason is the curved boundaries mentioned in 1). In the early iterations, the real line boundary is not a good substitute. Paul is trying to estimate the external angle corresponding to c in z<-z^2+c. The best way to get the external angle is iterate to bailout and measure the angle of z. That is, angle = imag(log(z)). There is an ambiguity because of the number of iterations used to get to bailout and the actual period of the field line. Yes, every field line has a period, namely, the period of the component it leads to. This brings up a problem with binary decomposition. The lines defined by binary decomposition have no period. The lines (follow the radial boundaries of the checker pattern) seem go to chaotic points. So, to extend binary decomposition to 256 levels, follow z to bailout, set the color to 256*[imag(log(z))/(2*pi)]. 3) A third thread is how do we follow field lines. That is two problems, how to plot them and how to follow them for pan and zoom. We can start with what we know from 1) and 2). Now we must choose a set of field lines to plot and they must all have the same period (leading to components having the same period). Otherwise we are back in the problems of binary decomposition, namely colors scrambling at each iteration boundary curve (the ones that go around the MSet - not radial). So we can choose the simplest interesting case, period 2. There are two field lines going out to 120 degrees and 240 degrees from the base of the period two bud (-0.75). The shape is like an hyperbola. So the method is iterate and select color based on the three regions. One wrinkle, we must do two iterations in each loop to keep the pattern from scrambling. So here is a frm and par to do just that and plot lines. frm:J-decomp3 { ; Trinary decomp (c) Jay Hill 1997 ; One boundary leads to -.75 ; Another boundary leads to +i. done = 1 ; Iteration flag. iter = 0 ; Sylvie Gallet's suggestion z = 0, c = pixel: ; Mandelbrot initialization. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. IF (|z| >= 100) ; Point exceeds bailout. done = -1 ; Set flag to force an exit. y=.5*imag(log(z))/pi IF (y<0) y=y+1 ENDIF w=3*y z=w - iter - 8 ; Sylvie Gallet's suggestion ENDIF iter = iter + 1 ; Sylvie Gallet's suggestion done >= 0 ; Continue if the flag >=0. } The par files are at the end. This can be extended to the next level and so on...... I have chosen color banding so you can follow a few of the lines all the way to the component base. frm:J-decomp7 { ; 7-ary decomp (c) Jay Hill 1997 done = 1 ; Iteration flag. iter = 0 ; Sylvie Gallet's suggestion z = 0, c = pixel: ; Mandelbrot initialization. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. IF (|z| >= 100) ; Point exceeds bailout. done = -1 ; Set flag to force an exit. y=.5*imag(log(z))/pi IF (y<0) y=y+1 ENDIF w=7*y z=w - iter - 8 ; Sylvie Gallet's suggestion ENDIF iter = iter + 1 ; Sylvie Gallet's suggestion done >= 0 ; Continue if the flag >=0. } frm:J-decomp15 { ; 15-ary decomp (c) Jay Hill 1997 done = 1 ; Iteration flag. iter = 0 ; Sylvie Gallet's suggestion z = 0, c = pixel: ; Mandelbrot initialization. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. IF (|z| >= 100) ; Point exceeds bailout. done = -1 ; Set flag to force an exit. y=.5*imag(log(z))/pi IF (y<0) y=y+1 ENDIF w=15*y z=w - iter - 8 ; Sylvie Gallet's suggestion ENDIF iter = iter + 1 ; Sylvie Gallet's suggestion done >= 0 ; Continue if the flag >=0. } frm:J-decomp31 { ; 31-ary decomp (c) Jay Hill 1997 done = 1 ; Iteration flag. iter = 0 ; Sylvie Gallet's suggestion z = 0, c = pixel: ; Mandelbrot initialization. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. IF (|z| >= 10000) ; Point exceeds bailout. done = -1 ; Set flag to force an exit. y=.5*imag(log(z))/pi IF (y<0) y=y+1 ENDIF w=31*y z=w - iter - 8 ; Sylvie Gallet's suggestion ENDIF iter = iter + 1 ; Sylvie Gallet's suggestion done >= 0 ; Continue if the flag >=0. } frm:J-decomp63 { ; 63-ary decomp (c) Jay Hill 1997 done = 1 ; Iteration flag. iter = 0 ; Sylvie Gallet's suggestion z = 0, c = pixel: ; Mandelbrot initialization. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. z = sqr(z) + c ; Mandelbrot calculation. IF (|z| >= 10000) ; Point exceeds bailout. done = -1 ; Set flag to force an exit. y=.5*imag(log(z))/pi IF (y<0) y=y+1 ENDIF w=63*y z=w - iter - 8 ; Sylvie Gallet's suggestion ENDIF iter = iter + 1 ; Sylvie Gallet's suggestion done >= 0 ; Continue if the flag >=0. } j_decomp-03 { ; Trinary decomp (c) Jay Hill 1997 ; Red - Blue boundary leads to -.75 ; Blue - White boundary leads to +i. reset=1960 type=formula formulafile=j_decomp.frm formulaname=j-decomp3 center-mag=-0.5/0/0.5 float=y maxiter=256 inside=0 outside=real periodicity=0 colors=000ccc00cc00cK0wwwU10U1UUU0U1wKUAUAKU10<2>U20j30<236>0m0000000 } j_decomp-07 { ; 7-ary decomp (c) Jay Hill 1997 ; White and gray lead to period 3 reset=1960 type=formula formulafile=j_decomp.par formulaname=j-decomp7 center-mag=-0.5/0/0.5 float=y maxiter=256 inside=0 outside=real periodicity=0 colors=000ccc00cc00cK0wwwU10U1UUU0U1wKUAUAKU10<2>U20j30<236>0m0000000 } j_decomp-15 { ; 15-ary decomp (c) Jay Hill 1997 reset=1960 type=formula formulafile=j_decomp.par formulaname=j-decomp15 center-mag=-0.5/0/0.5 float=y maxiter=256 inside=0 outside=real periodicity=0 colors=0AKKKK00zK00000KAUK1AU1KKK0z0zwwwKAAAKUUKKKAKUA0j30<236>0m0000000 } j_decomp-31 { ; 31-ary decomp (c) Jay Hill 1997 reset=1960 type=formula formulafile=j_decomp.par formulaname=j-decomp31 center-mag=-0.5/0/0.5 float=y maxiter=256 inside=0 outside=real periodicity=0 colors=0AKkVzMMMdVPwcSKKKcUIwwFKmDKwAhhh<4>wwwU0AAAU6DX<3>KcwKEa<3>WMkZO\ naQqdStgUwg60<220>0m0000000 } j_decomp-63 { ; 63-ary decomp (c) Jay Hill 1997 reset=1960 type=formula formulafile=n-ary.par formulaname=j-decomp63 center-mag=-0.5/0/0.5 float=y maxiter=2560 inside=0 outside=real periodicity=0 colors=0AK<7>www9CU<5>FT`ACO<14>VJwWKA<6>wM8000<22>zU0U00<188>0U0000000 } - ------------------------------------------------------------ Thanks for using Fractint, The Fractals and Fractint Discussion List Post Message: fractint@xmission.com Get Commands: majordomo@xmission.com "help" Administrator: twegner@phoenix.net Unsubscribe: majordomo@xmission.com "unsubscribe fractint"