Title: Multiple Critical Points Post by: element90 on February 17, 2014, 11:31:51 AM Mandelbrot formulae with the general formula
z = z^n + c where n is an integer >= 2 only have one critical point. If extra z terms are added the number of critical points increases. For example: z = z^3 - z + c f'(z) = 3z^2 - 1 + c = 0 z^2 = 1/3 There are two critical points one at +sqrt(1/3) and one at -sqrt(1/3). There number of critical points are generally equal to one less than the high power in the formula, so for a formula containing z^5 there are 4 critical points, sometimes the derivative of the fractal formula can be factored out such that a power z multiples the rest of the derivative e.g. z = z^5 + z^4 + c f'(z) = 5z^4 + 4z^3 = 0 z^3(5z + 4) = 0 There are only two critical points in this case, 0 and -0.8. There two ways of dealing with multiple critical points, one it to produce a picture for each critical point and the other is to merge all the pictures together. I'm currently developing new software called Neptune and Triton which are based based on Saturn and Titan to produce these multiple critical point fractals. The core of the programs is complete and I have some pictures produced by Neptune and expanded to much higher resolutions by Triton. (https://copy.com/Iaya1OXIjw8s) https://copy.com/Iaya1OXIjw8s (https://copy.com/Iaya1OXIjw8s) (https://copy.com/0kW40N0D0ENH) https://copy.com/0kW40N0D0ENH (https://copy.com/0kW40N0D0ENH) (https://copy.com/uAZcnIz7Z2mh) https://copy.com/uAZcnIz7Z2mh (https://copy.com/uAZcnIz7Z2mh) (https://copy.com/GBYGzufccgMa) https://copy.com/GBYGzufccgMa (https://copy.com/GBYGzufccgMa) All the pictures above are for z = z^4 + z^3 + c f'(z) = 4z^3 + 3z^2 = 0 z^2(4z + 3) = 0 which has two critical points at 0 and -0.75. Title: Re: Multiple Critical Points Post by: Pauldelbrot on February 17, 2014, 07:33:01 PM I'm currently developing new software called Neptune and Triton which are based based on Saturn and Titan to produce these multiple critical point fractals. The core of the programs is complete and I have some pictures produced by Neptune and expanded to much higher resolutions by Triton. (http://ubuntuone.com/24GYPnFOmWArOQpPhlIIxE) (http://ubuntuone.com/5wPs1c7iYfwDBOlLLQvWps) (http://ubuntuone.com/3QxSLlcAXcbPO0TDtjxb4K) (http://ubuntuone.com/57urD7w4qILb03iEhYCfQW) All the pictures above are for What pictures? There's just a few blank lines there. Title: Re: Multiple Critical Points Post by: element90 on February 17, 2014, 07:55:22 PM Adblock Plus (for firefox) interferes the display for pictures hosted on Ubuntu One. I don't why. It is possible that other plugins may also prevent display of pictures.
Can anyone recommend an alternative host for pictures? Title: Re: Multiple Critical Points Post by: kram1032 on February 17, 2014, 08:38:06 PM imgur.com is a good one.
Title: Re: Multiple Critical Points Post by: element90 on February 21, 2014, 11:05:31 AM (https://copy.com/y7JPxQSxzMwo)
https://copy.com/y7JPxQSxzMwo (https://copy.com/y7JPxQSxzMwo) Formula z = z^4 + z^3 + z^2 + c f'(z) = 4z^3 + 3z^2 + 2z = 0 z(4z^2 + 3z + 2) = 0 which gives critical points at 0, -0.375 + 0.599478940414089942699679i and -0.375 - 0.599478940414089942699679i. Finding critical points for formula when the derivative formula boils down to factors of a power of z and a quadratic or a power of z and a number it is easy to deal with from a programming perspective. Which is why so far Neptune's formulae have been all of that sort with parameters multiplied to each term, when there are more factors to deal with the Newton-Raphson method can be used to find the roots but I don't yet know how to reliably choose the starting points to find all the roots. The following formulae: z = z^4 + z^3 + z^2 + z + c z = z^5 + z^4 + z^3 + z^2 + z + c currently have no parameters and their critical points are predefined and not determined at run time. Title: Re: Multiple Critical Points Post by: kram1032 on February 21, 2014, 12:31:48 PM did you compress the image so much or was that the forum? :-/ nice but horribly artifacted. A lot of the detail is blurred out.
Title: Re: Multiple Critical Points Post by: element90 on February 21, 2014, 02:35:55 PM Quote did you compress the image so much or was that the forum? :-/ nice but horribly artifacted. A lot of the detail is blurred out. I always produce high resolution pictures at 12000x8000 or 12000x12000 and scale them to 1200x8000 and 1000x1000 using GIMP without problems before posting them here or on my blog. I don't see any "horrible artifacts. The only change is the move from Ubuntu One to Photobucket. I was going to put a link to the same picture hosted on Ubuntu One but creation of folders and upload of files is current unavailable. Here is an other Photobucket hosted file: (https://copy.com/Gu4Rw0hH9gne) https://copy.com/Gu4Rw0hH9gne (https://copy.com/Gu4Rw0hH9gne) which looks fine to me (via preview). Title: Re: Multiple Critical Points Post by: jdebord on February 21, 2014, 03:42:23 PM when there are more factors to deal with the Newton-Raphson method can be used to find the roots but I don't yet know how to reliably choose the starting points to find all the roots. For polynomials up to degree 4 there are formulas to compute the roots. For degree > 4 the roots can be obtained from the eigenvalues of the companion matrix. You will find examples in my libraries: - FBMath for FreeBasic: http://sourceforge.net/projects/fbmath - DMath for Delphi / FreePascal: http://sourceforge.net/projects/dmath Another method is to compute the polynomial from its critical points. See for instance Ingvar Kullberg's site: http://klippan.seths.se/fractals/articles/28.pdf Title: Re: Multiple Critical Points Post by: element90 on February 21, 2014, 06:02:25 PM Quote For polynomials up to degree 4 there are formulas to compute the roots. For degree > 4 the roots can be obtained from the eigenvalues of the companion matrix. You will find examples in my libraries: - FBMath for FreeBasic: http://sourceforge.net/projects/fbmath - DMath for Delphi / FreePascal: http://sourceforge.net/projects/dmath Another method is to compute the polynomial from its critical points. See for instance Ingvar Kullberg's site: http://klippan.seths.se/fractals/articles/28.pdf Thanks I'll have a look. I think I've got a simple reliable method for finding the roots of a general polynomial using Newton-Raphson, ensuring that the starting value is never a real number otherwise complex roots can never be found. Title: Re: Multiple Critical Points Post by: element90 on February 21, 2014, 07:17:39 PM Quote I think I've got a simple reliable method for finding the roots of a general polynomial using Newton-Raphson, ensuring that the starting value is never a real number otherwise complex roots can never be found. After testing the code, I find that it often does not find all the roots and in one case it just found the same root four times (I was expecting 4 roots). The problem is determining the initial guesses for the roots, I used equally spaced values on the unit circle. I've since dug out an old book "Numerical Recipes in Pascal" and the section on polynomial root finding shows that it is much more complicated than I'd thought. I've also found statements that Newton-Raphson has some serious drawbacks regarding finding roots. Ideally an existing C++ library for finding roots of a general polynomials would ave me a lot of time. Failing that I'll have a go at building the DMath on Linux, I'm in the process of downloading Lazarus. Title: Re: Multiple Critical Points Post by: jdebord on February 22, 2014, 09:31:54 AM The latest edition of "Numerical Recipes" is in C++
You can access a limited number of pages of the book for free at: http://apps.nrbook.com/empanel/index.html# Laguerre's method (suitable for polynomials with complex coef.) is decribed at page 466 sq. The eigenvalue method is described at p. 469 but the source code is not complete. The complement is at http://www.nr.com/webnotes/nr3web17.pdf Title: Re: Multiple Critical Points Post by: element90 on February 22, 2014, 01:01:45 PM Quote You can access a limited number of pages of the book for free at: http://apps.nrbook.com/empanel/index.html# Laguerre's method (suitable for polynomials with complex coef.) is decribed at page 466 sq. I've looked at the laguer routine on page 466 and I think there's a typo in it: dx = MAX(abp, abm) > 0.0 ? Doub(m)/gb : polar(1*abx,Doub(iter)); I don't think it should be 1*abx as the first parameter of polar. I checked with the Pascal laguer routine in my edition and it doesn't have any code involving the use of polar, there's also no code for breaking any limit cycle. Title: Re: Multiple Critical Points Post by: Kalles Fraktaler on February 22, 2014, 04:46:18 PM Very nice indeed. Unfortunately perturbation seems only work on second degree functions
Title: Re: Multiple Critical Points Post by: Fractal Ken on February 22, 2014, 10:27:59 PM I always produce high resolution pictures at 12000x8000 or 12000x12000 and scale them to 1200x8000 and 1000x1000 using GIMP without problems before posting them here or on my blog. I don't see any "horrible artifacts. The only change is the move from Ubuntu One to Photobucket. I was going to put a link to the same picture hosted on Ubuntu One but creation of folders and upload of files is current unavailable. Here is an other Photobucket hosted file: (http://i895.photobucket.com/albums/ac155/Thorium232/nt20140220011000x1000_zps8e1fe267.jpg) which looks fine to me (via preview). Sometimes Photobucket compresses JPEG images. It doesn't happen when you first upload, but rather days or weeks later. I suspect the compression is almost unnoticeable on photographs, but fractals are a different matter. PNGs seem to remain untouched, so that may be a better format when using Photobucket. Title: Re: Multiple Critical Points Post by: xenodreambuie on February 23, 2014, 08:35:53 AM I've looked at the laguer routine on page 466 and I think there's a typo in it: dx = MAX(abp, abm) > 0.0 ? Doub(m)/gb : polar(1*abx,Doub(iter)); I don't think it should be 1*abx as the first parameter of polar. I checked with the Pascal laguer routine in my edition and it doesn't have any code involving the use of polar, there's also no code for breaking any limit cycle. The 3rd edition has it as 1+abx. I would consider this method but I need functions other than just polynomials. I'm using Newton-Raphson now and have already run into the typical problems with it, such as non-convergence. Title: Re: Multiple Critical Points Post by: jdebord on February 24, 2014, 10:34:36 AM I read "1+abx" in both the book and the web page. There should be no problem :)
Title: Re: Multiple Critical Points Post by: element90 on February 24, 2014, 01:37:05 PM Quote I read "1+abx" The + wasn't as well formed as it is elsewhere in the example code, looking again with the knowledge that is a + I can see that it is. That makes much more sense. When I've got time I'll have a go at finding the roots of a polynomial using the example code as I want to allow the use of complex coefficients. Thanks for help so far. Title: Re: Multiple Critical Points Post by: element90 on February 24, 2014, 07:16:04 PM I've now got laguere implemented as LaguerreMethod but I keep on getting "too many iterations". I changed the throw to just output the message to console so that I can continue.
For z^5 + z^4 + z^3 + z^2 + z + 1 = 0 Code: ======== The first set of five values are the unpolished values out of laguere (the number before the "too many iterations message is the absoulute difference between the final two values of the "root"), the middle five values are the polished roots plugged back into the polynomial and the final set are the polished roots. There are only 3 distinct values in the five roots, does anybody know if these are correct? I also tried 6z^5 + 5z^4 + 4z^3 + 3z^2 + 2z + 1 = 0 this produced Code: Laguerre Note the second "too may iterations" message, that occurred when polishing the fourth root. Note: I've moved the replacement of very small imaginary values to after the polishing of the values. Curiously the best root found is the one that produced the "too many iterations" messages. Finally I tried 5z^4 + 4z^3 + 3z^2 + 2z + 1 = 0 Code: ======== Again there is the "too many iterations" message, the roots found here match the roots I found using Newton-Raphson and trial and error for the initial values. Title: Re: Multiple Critical Points Post by: jdebord on February 25, 2014, 09:25:21 AM I got this with my FreeBasic program:
Code: Polynomial: I have checked the roots with Maple. I use the eigenvalue method for degree > 4, otherwise I use the algebraic solution. Title: Re: Multiple Critical Points Post by: element90 on February 25, 2014, 10:41:36 AM It looks like I'll need to use a combination of approaches as I want to allow complex coefficients. Am I right in thinking that the eigenvalue approach only works for real coefficients? Am I also right in thinking that Laguerre can't always find real roots when real coefficients are used?
Title: Re: Multiple Critical Points Post by: jdebord on February 26, 2014, 09:12:46 AM The eigenvalue codes used in both "Numerical Recipes" and my own libraries are translations of the Fortran codes in the EISPACK library (http://www.netlib.org/eispack/). This library also has routines for complex matrices which could be translated too, but this may take some time...
On the other hand, if the degree of the polynomial does not exceed 5, so that the degree of the derivative does not exceed 4, the standard formulas should be used with complex numbers I think. Laguerre's method is an iterative method. There is no guarantee that it will find all the roots. Title: Re: Multiple Critical Points Post by: element90 on February 26, 2014, 10:45:37 AM Thanks for the link to the EISPACK library. As I've already discovered that Laguerre can't guarantee to find all the roots, so a method of finding roots by eigenvalue of a complex matrix is what I want, translating from Fortran to C++ won't be a problem although it's a long time since I did any Fortran programming (Fortran IV and then Fortran 77).
I'm already on a derivative of degree 6. EISPACK has been superseded by LAPACK of which there is a C++ implementation lapack++ which has in turn been superseded by the Template Numerical Toolkit (TNT). I'll see if I can find what I want in TNT. Title: Re: Multiple Critical Points Post by: element90 on February 27, 2014, 10:19:37 AM Quote EISPACK has been superseded by LAPACK of which there is a C++ implementation lapack++ which has in turn been superseded by the Template Numerical Toolkit (TNT). I'll see if I can find what I want in TNT. I can't find any sign of routines for finding the eigenvalues of a matrix of complex numbers in TNT or lapack++ and the documentation isn't much help. I resorted to EISPACK and found a routine for finding the eigenvalues of a matrix of complex numbers. Eek! It's Fortran spaghetti in Fortran IV, even Fortran 77 would've made it easier. I've disentangled the code to produce a C++ which probably has numerous bugs in int. Title: Re: Multiple Critical Points Post by: jdebord on February 28, 2014, 09:54:17 AM There is a Fortran 90 version here:
http://people.sc.fsu.edu/~jburkardt%20/f_src/eispack/eispack.html (http://people.sc.fsu.edu/~jburkardt%20/f_src/eispack/eispack.html) The same site has also versions in C and C++ but they don't seem to include the complex numbers. I have started to extend my own routines, beginning with the classical formulas for degrees < 5. I will adapt the eigenvalue code later. By the way, which is the general formula of a polynomial of degree n, for generating fractal graphics? If I understand correctly, the coefficient of z^n should be 1 and the coefficient of z^(n-1) should be 0, so: Is this correct? Title: Re: Multiple Critical Points Post by: element90 on February 28, 2014, 11:18:08 AM Quote By the way, which is the general formula of a polynomial of degree n, for generating fractal graphics? If I understand correctly, the coefficient of z^n should be 1 and the coefficient of z^(n-1) should be 0, so: f(z) = z^n + a_{n-2} z^{n-2} + ... + a_2 z^2 + a_1 z + c Is this correct? I've been using polynomial formulae with parameters (coefficients) for each z term. The only thing that was lacking was a means of determining the critical points. My program, Saturn, only went up as far as quintics which reduces to a quartic derivative for determining the critical values. To find critical points easily I've been zeroing out some of the terms so that the derivative factors out to zero and an nth root of a number or zero and a quadratic. I'm now in the process of developing a program called Neptune which will automatically determines all the critical points and uses all the available coefficients. Quote There is a Fortran 90 version here: http://people.sc.fsu.edu/~jburkardt%20/f_src/eispack/eispack.html The same site has also versions in C and C++ but they don't seem to include the complex numbers. I've also find it difficult finding code for C++ for matrices of complex numbers. I've also had trouble with the EISPACK code I downloaded, I built it using gfortran but for some reason the matrix gets corrupted when passed into a subroutine the first row was duplicated for all the remaining rows, using constant array dimensions fixed that problem so that I can step through the Fortran and C++ versions to find out where the C++ version goes astray. I suspect the problem may be because the code I downloaded looks like Fortran IV and the compiler doesn 't refer to any standards prior to Fortran 95. I'll have a look at the Fortran 90 code, that will be easier to deal with. There haven't been any pictures for while: (https://copy.com/9RUM6ytyXcG6) https://copy.com/9RUM6ytyXcG6 (https://copy.com/9RUM6ytyXcG6) This is for the polynomial for the above picture, z = z^6 + z^5 + z^4 + z^3 + z^2 + z + c So the critical points are the roots of f'(z) = 6z^5 + 4z^4 + 3z^3 + 2z + 1 = 0 To make this general I'll need to add a parameter for each coefficient in the fractal formula and to multiply each of them by the associated power so that they can then be used as the coefficients of the polynomial used to find the critical points. I've also included in Neptune z = sin(z) + c and will include formulae such as z = alpha*z^2 + beta*z^(-2) + c There will probably be a number of such formulae as it's easier to optimise specific formulae than it is for a general formula that allows the powers to changed with the proviso that they are always real and integers and of opposite signs. The critical points for these formulae are always the nth roots of a number and are consequently easy to find. Title: Re: Multiple Critical Points Post by: element90 on March 07, 2014, 12:48:15 PM I have now integrated a polynomial root solver into my new program called Neptune (currently under development) which allows parameters to added as coefficients of polynomials. As the coefficients are allowed to be complex the roots are found by finding the eigenvalues of a complex matrix, the code is a translation of Fortran 90 EISPACK routines into C++.
The critical points are determined once for each fractal to be calculated as only fixed coefficient values will be allowed (for version 1.0.0), the use of c (location in the complex plane) in the coefficients will be considered for a future version at which point the critical points will have to calculated for each location. I've also been looking at formulae of this sort: z = alpha*z^2 + beta*z^-2 + c the critical points for this formula are solution of f'(z) = 2*alpha*z - 2*beta*z^-3 = 0 z^4 = beta/alpha Happily the solutions of this formulae is easy, they are just the 4th roots which are all equally spaced on a circle centred at the origin. Using the same values for alpha and beta the critical values are at 1, -1, i and -i which produces two pictures one for 1 and -1 and one for i and -i. Critical points 1 & -1, alpha = beta = 1 (https://copy.com/Q70jbCrO8QCm) https://copy.com/Q70jbCrO8QCm (https://copy.com/Q70jbCrO8QCm) Critical points i and -i, alpha = beta =1 (https://copy.com/Hh9eIjXtF16N) https://copy.com/Hh9eIjXtF16N (https://copy.com/Hh9eIjXtF16N) Combined: (https://copy.com/HZ4FSRP83cPN) https://copy.com/HZ4FSRP83cPN (https://copy.com/HZ4FSRP83cPN) alpha = beta = 0.75 (https://copy.com/KJ86MbRZzgnh) https://copy.com/KJ86MbRZzgnh (https://copy.com/KJ86MbRZzgnh) alpha = beta = 0.5 (https://copy.com/L9Z8xTeycRQC) https://copy.com/L9Z8xTeycRQC (https://copy.com/L9Z8xTeycRQC) alpha = beta = 0.4 (https://copy.com/LR8awazooOvm) https://copy.com/LR8awazooOvm (https://copy.com/LR8awazooOvm) alpha = beta = 0.34 (https://copy.com/cVvs16ZPO82B) https://copy.com/cVvs16ZPO82B (https://copy.com/cVvs16ZPO82B) Title: Re: Multiple Critical Points Post by: jdebord on March 10, 2014, 10:20:01 AM I have tried the formula z^p + c / z^q (with only one critical point). Here is an example with p = q = 2 :
(http://i56.servimg.com/u/f56/16/88/76/65/mandel10.png) Title: Re: Multiple Critical Points Post by: element90 on March 10, 2014, 11:59:11 AM The formula z = z^2 + c/z^2 has four critical points which are the roots of z^4 = c, all the pictures are the same so only one critical point is required.
Modifying the formula slightly to z = z^2 + c/z^2 + c does not alter the critical points but there are now two pictures one for +/-abs(z^0.25) and one for +/-abs(z^0.25)i. (https://copy.com/QYdpuokloBoP) https://copy.com/QYdpuokloBoP (https://copy.com/QYdpuokloBoP) (https://copy.com/IDocLu0sa3cH) https://copy.com/IDocLu0sa3cH (https://copy.com/IDocLu0sa3cH) And as two layers: (https://copy.com/sf8ncxzC1Byx) https://copy.com/sf8ncxzC1Byx (https://copy.com/sf8ncxzC1Byx) Title: Re: Multiple Critical Points Post by: laser blaster on March 11, 2014, 05:09:10 AM I've also been playing around with fractals with multiple critical points lately. I think the "most official" way to display these fractals is to color a point black only if it's in the set for every critical point. That's because the resulting set of points is the connectedness map for the corresponding julia sets, which is a key property of the original mandelbrot set. I don't think there's a clear-cut best algorithm for coloring these things; the method I use is to iterate all of the critical points simultaneously and use the point with the greatest distance from the origin for coloring after bailout.
The problem with the above method is that the results can be kinda ugly, or at least nowhere near as graceful as the classic M-set. The resultant sets often don't seem to be truly fractal in some spots, although you can find interesting fractal detail in other spots. So the other method I've experimented with is coloring each point black if it's in the set for ANY critical point. It comes a lot closer to the grace and symmetry of the M-set, but it it results in clearly overlapping and intersecting features, which make me feel it's somehow not ideal, either. Something I'm reeally curious about: if the set of points on the parameter plane where all the critical points escape under iteration is the connectedness map of the corresponding Julia sets, then does the set of points where ANY critical points escape have some special topological meaning as well? I doubt anyone would know, but it's interesting to ponder. Anyway, I read on Wikipedia that the behavior of cubic and higher degree polynomial maps is much more complicated than that of quadratic maps, so connectedness maps for cubic functions aren't really considered useful. I guess a simple, binary measure of behavior can't cut it for cubic fractals. So, that brings me back to what you're doing. I think you're on the right track by combining the images from each critical point. But I wish I understood all this complex analysis and topology stuff so I could figure out what's really going on behind the scenes. Title: Re: Multiple Critical Points Post by: xenodreambuie on March 11, 2014, 08:11:22 AM I too have been working with multiple critical points. The two main reasons for rendering Mandelbrot sets are to zoom into interesting/beautiful regions for their own sake, and as an atlas for Julia sets. For an atlas, individual sets are often incomplete, so a proper way to combine them could be useful if there is one. I'm not optimistic, because the situation is even worse. In addition to the sets between each critical point and infinity, there are sets between pairs of finite critical points and some may be different from the infinite ones. When infinity is not a critical point there are only sets between pairs of finite critical points. Any method using more than a subset would become unworkable for more complicated formulae. So I'm inclined to just flick through the possible sets and choose one at a time to work with. Any mathematicians' insights would be welcome.
Title: Re: Multiple Critical Points Post by: kram1032 on March 11, 2014, 10:26:43 AM I'm sure somebody else already thought of this, since it's such a simple thought, but here is a method to "invert" the problem of finding critical points to a polynomial and to, instead, craft polynomials with precisely the critical points you want (here for degree 6) :
http://www.wolframalpha.com/input/?i=Integrate+%28x-c0%29%28x-c1%29%28x-c2%29%28x-c3%29%28x-c4%29+dx as long as you don't put anything in all those constants (including the additional constant from integrating), which depends on x, you can use arbitrary terms, including arbitrary functions on the iteration constant c. The critical points will be solely determined by the constants (not including the integration constant). Title: Re: Multiple Critical Points Post by: jdebord on March 11, 2014, 10:57:56 AM Quote from: kram1032 here is a method to "invert" the problem of finding critical points to a polynomial and to, instead, craft polynomials with precisely the critical points you want The method is also discussed in Ingvar Kullberg's site: http://klippan.seths.se/fractals/articles/28.pdf Title: Re: Multiple Critical Points Post by: jdebord on March 11, 2014, 11:07:36 AM Quote from: element90 The formula z = z^2 + c/z^2 has four critical points which are the roots of z^4 = c Yes. In the general case Here is another example: a four-leaf clover from p=5 and q=1 (http://i56.servimg.com/u/f56/16/88/76/65/mandel11.jpg) When p > 2 and q = 1 the Mandelbrot set displays (p-1) symmetrical lobes. Title: Re: Multiple Critical Points Post by: element90 on March 11, 2014, 04:46:40 PM Quote Yes. In the general case z^p+c/z^q the critical points are (qc/p)^{1/(p+q)} Here is another example: a four-leaf clover from p=5 and q=1 When p > 2 and q = 1 the Mandelbrot set displays (p-1) symmetrical lobes. I originally had my doubts about the value of p used for that picture as I had a go at reproducing it with Gnofract4d but I haven't got the initial value of z right as it lacks a power function, however reducing p to 3 so that I could set the initial value of z two lobes are produced which would be 3 when p is 4 and 4 when it is 5. A similar picture can be obtained using p = 3 if both z terms have c as part of their coefficients and the critical points are simply numbers and not expressions involving c. z = c(z^3 + 3/z) (https://copy.com/Js4eqBMVvpMm) https://copy.com/Js4eqBMVvpMm (https://copy.com/Js4eqBMVvpMm) The fractal has four critical points (1, -1, i & -i), as it is well formed, i.e. has normal Mandelbrot type buds and no areas lacking in fractal detail it produces the same image for all four critical points. I have a sequence of posts on my blog on the formula z = c(alpha*z^beta + gamma*z^delta) http://element90.wordpress.com/2012/08/08/guide-to-cczcpaczcp-part-1/ (http://element90.wordpress.com/2012/08/08/guide-to-cczcpaczcp-part-1/) http://element90.wordpress.com/2012/08/10/guide-to-cczcpaczcp-part-2/ (http://element90.wordpress.com/2012/08/10/guide-to-cczcpaczcp-part-2/) http://element90.wordpress.com/2012/08/15/guide-to-cczcpaczcp-part-3/ (http://element90.wordpress.com/2012/08/15/guide-to-cczcpaczcp-part-3/) http://element90.wordpress.com/2012/08/16/guide-to-cczpaczcp-part-4/ (http://element90.wordpress.com/2012/08/16/guide-to-cczpaczcp-part-4/) http://element90.wordpress.com/2012/08/17/guide-to-cczcpaczp-part-5/ (http://element90.wordpress.com/2012/08/17/guide-to-cczcpaczp-part-5/) - Note: the central dots are the result of a bug that has since been fixed. http://element90.wordpress.com/2012/08/27/guide-to-cczcpaczcp-part-6/ (http://element90.wordpress.com/2012/08/27/guide-to-cczcpaczcp-part-6/) - Note: the odd fine loops within the black areas are the result of a bug that has since been fixed. (http://element90.wordpress.com/2012/10/11/guide-to-cczcpaczcp-part-7/) The posts were published long before I considered combining the pictures of versions of the same fractal using multiple critical points. I've briefly looked at z = alpha*z^3 + beta*z^-1 + c and it produces four pictures one for each critical point, pictures later. Title: Re: Multiple Critical Points Post by: element90 on April 05, 2014, 02:30:28 PM Quote I've briefly looked at z = alpha*z^3 + beta*z^-1 + c and it produces four pictures one for each critical point, pictures later. I forgot about this, there won't be any pictures for that formula (sorry can't be bothered). Meanwhile I've been making progress with my new programs Neptune and Triton. The programs are based on Saturn and Titan, so Neptune is the explorer and Triton is the expander. I expect to release them towards the end of April. The construction of the pictures boils down to how the pictures for each critical point are combined, for areas that are outer only the colour data is either averaged or the data for the highest iteration is used, for areas that are inner only the colour data is averaged, where inner and outer areas overlap there are three options: averaging the inner colour with outer colour, ignoring outer colour and using only the inner colour, and finally, ignoring inner colour data and using only outer colouring. Some fractal formulae produce pictures that are identical for more than one critical point so Neptune provides an option for ignoring critical points when calculating the fractal so that only the necessary calculations are performed. A side effect is to allow for "incomplete" multiple critical fractals to be produced, e.g. the final image may be made up of two out of three possible images. The critical points are automatically determined from the fractal's parameters. Now for some example pictures (average outer, average inner/outer, average inner): (https://copy.com/M3SiSGSvIirr) https://copy.com/M3SiSGSvIirr (https://copy.com/M3SiSGSvIirr) (https://copy.com/Ni1abEbnqxCw) https://copy.com/Ni1abEbnqxCw (https://copy.com/Ni1abEbnqxCw) (https://copy.com/M2nGsC1Pbf1M) https://copy.com/M2nGsC1Pbf1M (https://copy.com/M2nGsC1Pbf1M) (https://copy.com/CV1OcO4HQuJV) https://copy.com/CV1OcO4HQuJV (https://copy.com/CV1OcO4HQuJV) average outer, ignore outer average inner, average inner: (https://copy.com/lJzjqIKWeGFs) https://copy.com/lJzjqIKWeGFs (https://copy.com/lJzjqIKWeGFs) average outer, ignore inner average outer, average inner: (https://copy.com/pTB4SXovQOZI) https://copy.com/pTB4SXovQOZI (https://copy.com/pTB4SXovQOZI) Note: all the above pictures use quartic formulae and have three critical points. |