Reply-To: From: "Jay Hill" To: Subject: Re: (fractint) Re: Fractint versions Date: Mon, 12 Jan 1998 12:48:17 -0800 X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Internet Mail 4.70.1161 MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Julia Sets, Orbits and Siegel disks. (c) Jay R. Hill, 1998 They say the Mandelbrot set is a map showing us the collection of possible Julia sets. So let us take advantage of this as we use Fractint to explore both. In this memo, I shall explore and explain some of the hard to understand topics found in such books as are found on the coffee tables of fractal junkies. Many of us have these books and enjoy the images. But when it comes to the text, well that, we say to ourselves, is there to impress the guests. And we resolve to, some day real soon now, read it and figure it out. In the mean while, we just continue to subscribe to sci.fractals and Fractint email lists. And, if they ever get back on topic, maybe it all will become clear. :-) We are interested in iteration formula, iterating a complex number, z, using some function of z and another parameter, c. (1) z = f(z, c). When f in eqn 1 is z^2+c, we get the Julia set and Mandelbrot set, depending on whether we fix the initial z or fix c for a picture. There are several formula in this memo which will be useful to help quantify some of the concepts we shall explore. Special effects will require careful evaluation of certain parameters using these formula for our images to come out right. The iteration or orbit of z, which depends on c, can behave in one of four ways: 1) repeat in a cycle, 2) converge to a cycle, 3) diverge to infinity, or 4) wander in a wigglely curve. Save this whole file as a par file, run Fractint and choose the Mandelbrot_set image (below). Use a high resolution setting with 256 colors. When it finishes computing, press the space bar and then the 'o' key. This will show the orbits of eqn 1 in the lower right corner where the value of c is chosen by moving the '+' symbol around on the Mandelbrot set. Mandelbrot_set { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=mandel center-mag=-0.5/0/0.4 params=0/0 float=y maxiter=1280 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 } Try moving the '+' symbol around and explore the shape of the orbit. Move it to the central dark part in the central part of the cardioid. At this point, c=0 and the orbit is of type 1), a single dot, z=0. It is periodic with a period of 1. Now move it over to almost the center of the big circle left of the cardioid, here c=-1 and the orbit is two dots, z=-1, 0. The orbit is again type 1) with period 2. As the '+' moved from the cardioid into the circular bud, the orbit changed from converging to a single point to converging to two points. The orbit went from period 1 to period 2, the transition taking place as c crossed the boundary -.75. Notice that the convergent points, a, also changed, depending on c. It can be shown that these convergent points are (2) a1 = +0.5 - sqrt(+0.25-c); c in the cardioid a21 = -0.5 + sqrt(-0.75-c); c in the circle. a22 = -0.5 - sqrt(-0.75-c); How can we tell, without iterating eqn 1, which component (cardioids and circular buds are called components) c is in? I give here a simple formula with which you can test this. Let s = [abs(c)]^2. Then c is in the cardioid if (3) (256s - 96)s + 32 Real(c) <= 3. Or c is in the circle if (4) 16s + 32 Real(c) + 16 <= 1. Now let's move the '+' off the real line up toward the period 3 bud sitting on top of the cardioid. Move from in the cardioid, but just below the bud, across edge of the cardioid and into the bud. Observe the orbit pattern develop into a three pointed star and separate into three separate convergent areas. These three areas collapse onto three points, call these, a31, a32, a33, when we move the center of the bud. Press space bar to return to Julia set display (lower right corner) and repeat. Observe the shapes of the Julia set. See a single curve when the '+' is in the cardioid, a row of shapes when in the circle left of the cardioid. With c in the period 3 bud above the cardioid, we see a flower shape featuring triples patterns with petals joining in threes. There is a relationship between the orbits (three groups) and these petals. Notice that the orbits converged into the same areas as three of the petals occupy. The Julia set display shows points in the z plane for which the orbit does not diverge. Consider an initial test point z0 which is in one of the Julia set petals. Its orbit spirals around converging to one, say, a31, at the center of a petal. Every point in the orbit can be considered an initial z, just like z0, each with an orbit converging to a31. Therefore, every one of these orbit points must also be inside a petal. Notice there are more than three petals in this Julia set. All contain z which after a few iterations jump into one of the first three petals joining the others in their convergent path. It is most interesting to explore, with the '+', the cardioid and circle edges. For it is here that the orbits become very intricate and tend to fill their Julia set petals. In fact, it is right on the very edge that we get type 4) orbits (which wander in a wigglely curve). These orbits do not converge to one of a set of points, but remain 'indifferent', being neither 'repelling' nor 'attractive'. And their Julia set petals, called Siegel disks, are very different. Siegel_Gold { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=0/0/0.85 params=0.3253814503389081470/0.0535920759383226465 float=y maxiter=150000 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=Siegel_G } An example is Siegel_Gold. Start the display in Fractint, turning on the orbits right away (press 'o'). Notice the orbit seems to almost fill a region which, as the Julia set is drawn, lies in one of the petals. The orbits do not converge to points, but rather, cycle endlessly around the convergent points in 'circular' orbits. Each iteration moving around the convergent point by an angle, the same angle as the interior angle, not a surprise. Also observe the attachment points of the petals are not sharp. This is the Siegel disk, a nicely connected shape, distinctly different from the other Julia sets where regions join at points. When the picture is complete, press space bar to see the Mandelbrot set. Now press the space bar again and the '+' will be located at c, corresponding the Julia set. This value of c is right on the boundary of the cardioid but does not touch one of the attached buds. Buds are attached at points for which the 'interior' angle is a rational multiple of 2*pi. The Siegel_Gold c was found using the golden ratio to get an irrational angle and the resulting Siegel disks. Any irrational interior angle will get Siegel disks when applied to any Mandelbrot set component. Irrational angles created from roots of quadratic equations (having the form r = (L + sqrt(M))/N, where L, M, N are integers) are of interest since they lend themselves to certain proofs about Siegel disks. As far as we are concerned, when we want to make interesting fractal pictures, any irrational or transcendental angle will do. For example, the arc tangent function produces these angles. Just take atan(M/N), where M and N are integers. A convenient way to get these integers and at the same time control the shape of the Siegel disk is to choose coordinates right off the edge of the Mandelbrot set in Fractint. Zoom into an interesting region near the edge of the cardioid (elephant valley, c=-.25), or the circle (sea horse valley, c=-.75, scepter valley, c=-1.25). Note the center coordinates, c0, (press z, then F6 to see the values). I have created a small MSDOS program which normalizes these coordinates to the nearest edge of the cardioid or circle. The new calculated c will give a Siegel disk. Here is the pseudo-code for the program, SIEGEL.EXE. ----------------------------------------- for c in cardioid: c0=complex(x, y); w0 = (1 - sqrt(1-4*c0))/2; z = log(2*w0); w=.5*exp(complex(0.,imag(z))); c = w*(1-w); convergence point: a =+0.5-sqrt( 0.25-c); for c in big bud: c0=complex(x, y); w0 = 1 + c0; z = log(4*w0); c = -1+.25*exp(complex(0.,imag(z))); convergence points: a = -0.5+-sqrt(-0.75-c) ----------------------------------------- You may down load the program here. http://home.san.rr.com/jayrhill/SIEGEL.ZIP Jay PS Enjoy some Siegel disks.... Julia047-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia center-mag=-5.55112e-016/6.66134e-016/0.94375 params=-0.47/0.54 float=y maxiter=1500 inside=bof60 outside=0 colors=000000<13>www<30>VVVUUUUUUUUU<205>000 savename=J47-60 } Julia080-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.85 params=-0.8/0.15 float=y maxiter=1500 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J80-60 } Julia076-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.85 params=-0.76/0.07 float=y maxiter=1500 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J76-60 } Julia074-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.85 params=-0.7456841472/0.0757307904 float=y maxiter=1500 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J74-60 } Julia035-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.85 params=0.3508/0.3456 float=y maxiter=150000 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J35-60 } Julia026-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.85 params=0.2514358528/0.0001092096 float=y maxiter=150000 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J26-60 } Julia025-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.85 params=0.25/0.5 ; periodicity=0 float=y maxiter=1500 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J25-60 } Julia100-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.8 params=-1.0/0.25 ; periodicity=0 float=y maxiter=1500 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J100-60 } Julia124-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.75 params=-1.2446176/0.0515968 ; periodicity=0 float=y maxiter=256 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J124-60 } Julia125-bof60 { ; (C) Jay Hill, 1998 ; Turn on orbits and watch... reset=1960 type=julia passes=1 center-mag=-1.33227e-015/8.88178e-016/0.75 params=-1.24928/0.01896 periodicity=0 float=y maxiter=80 inside=bof60 outside=0 colors=000000<13>www<30>CCCAAAAAA<45>lllmmmmmmmmm<155>www000000 savename=J125-60 }