Title: A total MSet generalization. Post by: Timeroot on January 31, 2010, 10:15:18 AM As far as I can tell, there are hundreds - if not thousands - of generalizations of the Mset. I think it would be very interesting if we could integrate them all into a single, "master" Mandelbrot formula. I'd like some help looking for different variants. Note that I only want one that could be continuously varied (or at least an infinite range of integers), and that at *some* point are identical to the regular MSet. Here some easy ones I think of off the top of my head:
-Multibrot - change the power. -Perturbation - change the initial value. -Chaosbrot - scales the imaginary component. Also includes the tricorn set. -Independent powers - as discussed on the Swirl Mandelbrot thread, these multiply the angle and exponentiate the radius by different amounts. Multibrots are a subset of this. Includes the tricorn set, but doesn't seem to produce images the same as chaosbrot fractals for most values. -Change in "c" value - Start z with #pixel, instead of 0, and then suddenly change the value which is added. For example, z->z^2+ p1*(c^p2). These already can all be put together approxamitely, somewhat like: init: c=@CScale*(#pixel^@CPower) z=#pixel+@Perturbation loop: z=Real(z) + Imag(z)*@ChaosValue/2 z=(cabs(z)^@RadiusPower) * exp(i*atan2(z)*@AnglePower) z=z+c bailout: |z|<=16 Here already we have issues, though, because we apply the chaos scaling before or after the powers are applied. You can see why combining these formulas may be difficult. Other examples of variations include the "Whirlwind" an "Shifted Whirlwind" in Tglad's thread; while Whirlwind is just a scaled Multibrot, the Shifted Whirlwind can produce other shapes and has maybe 10 or so options for the generalization which would also need to be included - a value of "1" for the timestep produces the normal Mset for all of them, so they are all valid generalizations. I really hope some other people get interested in this and mind some interest formulas to add! :D Title: Re: A total MSet generalization. Post by: kram1032 on January 31, 2010, 01:06:29 PM Where f(x) could be any mix of subfunctions... and x could be in any numberic space (N,R,C,Q,O,S,T (Triplex^^), -what ever -) Not sure if that includes them all... There would also be those, which have multiple constants or those which vary each iteration or cycle between different functions... And those, which depend on earlier functions... I wonder how the full Mset of the Hypergeometric Series would looks like :) A lot of special cases can be found easily... http://en.wikipedia.org/wiki/Hypergeometric_series Title: Re: A total MSet generalization. Post by: Timeroot on January 31, 2010, 05:54:56 PM Yes, perhaps one of the most general ways to define a one-variable iteration fractal would be:
init: c=#pixel z=Const + f(c) loop: z=g(z,#numiter) + h(c) But clearly, since this has is 3*Infinity (or just simply infinity) dimensions, it's not very interesting. Also, it's difficult to manipulate functions smoothly. Hypergeometric functions do hold some appeal, because you have a finite list of constants fully describing the function which then can be changed. The problem is that they don't include the mandelbrot, and the list of constants really could extend forever, both of which make it unattractive. Of course, for any function you could say z->z^2 + p1*f(z) + c includes the mandelbrot at the value p1. In fact, this is what the Phoenix Fractal does, with the special condition that f(z)=z. I'd include the phoenix fractal, I suppose, but if the functions get too complicated it won't really be "fair". :-\ Title: Re: A total MSet generalization. Post by: matsoljare on January 31, 2010, 06:42:59 PM "Julibrot" and related non-straight angle projections, obviously.
Title: Re: A total MSet generalization. Post by: David Makin on January 31, 2010, 10:54:53 PM I think:
z[n+1] = f(z[n],c) covers everything ? Title: Re: A total MSet generalization. Post by: cKleinhuis on February 01, 2010, 01:07:41 AM kram's notation showed an alternation method :D
O0 Title: Re: A total MSet generalization. Post by: Timeroot on February 01, 2010, 01:14:01 AM Yes, it does cover everything, but like I said, that's too general. I'm interested in taking some of the popular variations and combining them. For example, both the Chaosbrot and Chaosjulia look interesting. The Julibrot looks interesting. What would the, erm, Chaosjulibrot look like? Or, if we used triplex numbers, the Chaosjulibrolb? (Julibrot + Mandelbulb = Julibrolb) - Those are the kinds of things I'm interested in. Here's another example:There are some "polar addition" fractals, generally boring, where the radius and angle of the pixel are calculated and z's radius and angle are modified accordingly. There some mandelbulb videos where a constant angle is added after each iteration. We could then define a 6-dimensional "Polar Julibrot" where CartC=#location, PolarC=cabs(#location) + i*atan2(#location); z2=z^2 + CartC, z=cabs(z2 + real(PolarC)) * exp(i*atan(z2) + imag(PolarC)). Here, the problem is that addition in Cartesian an addition in Polar aren't commutative, so we'd have to decide on a way to order/synchronize them.
One could interpret things in such a way that each extra parameter accompanying a generalization adds an extra dimension. The perturbation of the MSet adds two dimensions and creates the Julibrot. The mandelbulb adds a real latitude variable (otherwise kept at zero) and thus adds a third dimension. And of course, as the dimensions go up, the number of ways to slice it goes up. Boy my posts get too long winded sometimes.. not only that, I stray from topic... In short, I don't just want an infinite-dimensional function space. I want some concrete formulas that can be combine in aesthetic and mathematically logical ways. Title: Re: A total MSet generalization. Post by: cKleinhuis on February 01, 2010, 01:40:30 AM i am using alternating iterations for doing that, i wrote some more combination formulas,
so fractal formulas could also be linearly interpolated , or even better polar interpolated, both methods lead to interesting results! it is hard to generalize, because of the many parameters used, because if you want a real generalisation, each of the base formulas you included must be 100% at a certain ( clearly visible ) parameter configuration Title: Re: A total MSet generalization. Post by: David Makin on February 01, 2010, 03:54:32 AM kram's notation showed an alternation method :D O0 Apologies - just add ",iteration" to the function parameters ;) I'll be adding a "Mandelbulb" style formula framework to mmf.ulb for UF when I get further on with my class-based ray-trace formulas. |