Title: Yet another alternate transformation idea. Post by: matsoljare on April 01, 2010, 10:17:51 PM The conventional way of squaring complex numbers can be described as squaring the distance from zero, while doubling the angle. The conventional Mandelbrot and Julia sets are of course generated by the simpler, more linear way of adding a value to the horizontal and vertical position value. It's the conflict between these two different geometries, the two different ways of representing the location of a point, which generates the amazing complexities we all know.
What if we instead add a constant to the angle and distance, and square or multiply the real and imaginary parts? Title: Re: Yet another alternate transformation idea. Post by: JosLeys on April 01, 2010, 11:33:55 PM Quote The conventional Mandelbrot and Julia sets are of course generated by the simpler, more linear way of adding a value to the horizontal and vertical position value. That is not correct. The value is added to z2, not to z... Title: Re: Yet another alternate transformation idea. Post by: Timeroot on April 02, 2010, 01:29:16 AM @JosLeys: I think he meant regular, linear addition after the angle doubling and radius squaring.
@Matsoljare: At first I was about to say that this would be equivalent to working in polar coordinates, but no... In the regular Mset: xNew=xOld*xOld-yOld*yOld+Cx yNew=2*xOld*yOld+Cy In your idea: radiusNew=radiusOld+Cradius angleNew=angleOld+Cangle which means: xMiddle=cos(angleNew)*radiusNew yMiddle=sin(angleNew)*radiusNew --> xMiddle=cos(atan(zOld)+atan(C))*cabs(zOld) yMiddle=sin(atan(zOld)+atan(C))*cabs(zOld) --> xMiddle=[cos(atan(zOld))*cos(atan(C))-sin(atan(zOld))*sin(atan(c))]*cabs(zOld) yMiddle=[sin(atan(zOld))*cos(atan(C))-cos(atan(zOld))*sin(atan(c))]*cabs(zOld) --> xMiddle=[1/[sqrt((1 + zOld^2)(1+C^2))] + zOld*C/[sqrt((1 + zOld^2)(1+C^2))] ]*cabs(zOld) yMiddle=[zOld/[sqrt((1 + zOld^2)(1+C^2))]-C/[sqrt((1 + zOld^2)(1+C^2))]*cabs(zOld) Then for xNew, square it, and for yNew, double it (or vice versa - they will give different fractals, I think). So the most efficient UF code would be: init: c=#pixel c1=(1+c^2) z=0 loop: sqrtMult=1/sqrt(c1*sqrt(1+z^2)) z=((sqrtMult+z*c*sqrtMult)^2,2*(z*sqrtMult+c*sqrtMult)) final: //find a bailout condition that works! Good luck! :) Title: Re: Yet another alternate transformation idea. Post by: matsoljare on April 02, 2010, 05:09:24 PM So can anyone give me an example to see if this actually works?
Title: Re: Yet another alternate transformation idea. Post by: Krumel on June 06, 2010, 09:19:35 PM So you replace the standard formula
with the following formula: Well, I tried it out, and it turns out, that it gives pretty lame results for real n. Then I tried a complex n, and it turns out, that the results are quite interesting. For example, for n = -0.86 -0.52i you get the attached image. ps: Bailout conditions are the same as in the standard mandelbrot. Title: Re: Yet another alternate transformation idea. Post by: kram1032 on June 06, 2010, 11:12:24 PM shouldn't it rather be abs(z)*n?
* -> ^ and + -> * and such? Title: Re: Yet another alternate transformation idea. Post by: Krumel on June 07, 2010, 04:01:12 PM That's right, but if you do that, then you'll get just a boring dot...
Title: Re: Yet another alternate transformation idea. Post by: kram1032 on June 07, 2010, 08:59:22 PM ah, I see :)
I experimented a bit with the properties of ln to reduce or e to increase the grade of an operation... like: ln(x)+ln(y)=ln(x*y) and ln(x)-ln(y)=ln(x/y) and lnx^y)=y*ln(x) and e^x*e^y=e^(x+y) and (e^x)^y=e^(x*y) and x^ln(y)=y^ln(x) and with those I wondered if I could somehow manufacture a "fake" ternation and the operation that would be beyond + and - The lower grade operation would be ln(e^x+e^y) and ln(e^x-e^y), respectively. The higher grade operation would be something like (e^x)^(e^y) or something like that... - I'm not exactly sure about that. Maybe, two of those in combination would lead to interesting variations... Title: Re: Yet another alternate transformation idea. Post by: matsoljare on July 26, 2010, 06:37:06 PM I'm sure many have tried substituting x*(x+constant) for x*x in the normal Mandelbrot/Julia formula, but can anyone remind me what the result looks like? |