Title: Mandelbrot-based Bifurcations Post by: Philippe on January 31, 2016, 06:21:19 PM Hello,
I recently came across this forum, and after seeing the wonderful Bifurcation Fractal Plotter by nkercso (http://www.fractalforums.com/windows-fractal-software/bifurcation-fractal-plotter-biffrapl/), it gave me the idea to share a little program I did some years ago, and just recently improved. I’m not sure where this topic shall be published between Programming, Fractal Programs or Fractal Math, Chaos Theory & Research… So, to the mods, feel free to move this topic to the correct area. For the moment, I assume that’s the background theory which is more important to discuss, the program being here to illustrate… I actually never read anything related to those curves, and when I got the idea about plotting them, that was the main motivation for writing this program. Please let me know if you have any link related to these curves, fractals (are they?). The idea of the program was to plot kind of bifurcation fractals based on the Mandelbrot calculation. First draw the Mandelbrot set, and then draw a line onto it. We will follow that line, and plot for each value of this axis, the calculation of the madelbrot fractal, but plotted like a bifurcation fractal. For example, let's start from A (=a+bi) and C (=c+di), for real k=[0…1], I’ll consider K=(1-k)*A + k*B (=((1-k)*a+k*c) + ((1-k)*b+k*d)i), and I’ll compute the Mandelbrot calculation.. f(z) = z^2+k, and for each k plot the values of module and the argument of the complex numbers z; like we would do with the logistic equation. Of course we can enlarge the graphic for k < 0 and k > 1 (like we extended the logistic equation for negatives values) Here is some screen shoots of the calculations to show… (https://lut.im/Q7vVvL2fJD/hY04lQkfLpoRnl6c.jpg) pick a line over the Mandel set (https://lut.im/vYSm2NuWMC/NBAfgLmyn7BnET73.jpg) the bifurcation diagram following that axis (https://lut.im/1d5ENpaGkh/gcvsnxtBhRCXp7DE.jpg) a zoom of a part of it https://lut.im/razCijR9Bv/hjxW87012GuxF3Bt.jpg with more iterations (https://lut.im/uLkKCRWYo9/v9Qn0NVKsmGPGsOg.jpg) the bifurcation diagram shows the module in the positive area, and behind it the argument (from Pi-4 to –Pi-4). (https://lut.im/1GH8JMQJ28/RndNDAAoeKPxmtkP.jpg) here is another example with zoom over the phase, you can see this is circular of course (https://lut.im/tcGjO4P8M5/DcXhMnI7vyO8tEOn.jpg) Here is another example again (https://lut.im/XBZsNXzA6H/zg3vhunckbRFVlJj.jpg) the bifurcation diagram (with default zoom values) (https://lut.im/hLfHBfb4Qy/OBvHOcs6eVP5RNGc.jpg) zooming out: modules and arguments (https://lut.im/vtGri3gQhd/WGZx3xrIsvxKdlW4.jpg) zooming in some details (https://lut.im/EOmV1Gk4CM/yYb9bOXdEPlWJRpb.jpg) with more iterations (https://lut.im/VGD2qb1W8m/SIqggIggrLtVFal2.jpg) plotting a Julia (https://lut.im/cYfi8put4F/ikO2tMAiUMj4MkOn.jpg) the same algorithm can be applied… The program is written in Java (you need a JVM to be installed) and is far to be optimized… I guess the computations can be optimized… The GUI is not really finished… and I’m not very good at graphics programming. I’ve recently optimized the plotting using the algorithm used by nkercso’s program… Also the default zoom values are not optimized, but this is no big deal… To use the program, you can select Julia to click on the figure and plot the Julia for the point. You can select zoom and click to zoom-in, or right-click to zoom out. You can also manually set zoom value (sorry the GIU forum is pretty poor). And then select Bifurcation to create a bifurcation from a drawed line. Thanks for reading. Thanks for trying ! Title: Re: Mandelbrot-based Bifurcations Post by: hobold on January 31, 2016, 09:18:41 PM These are some very nice bifurcation diagrams. Yet another new way to derive interesting imagery from the good ole' formula. Very good idea!
Thank you for sharing this. Title: Re: Mandelbrot-based Bifurcations Post by: panzerboy on January 31, 2016, 11:32:35 PM How do you get the initial mandelbrot to show?
There's a unresponsive blank window when I start the mandbelbifur.cmd. The "Logistic" option does not show in the drop down box the first item is "--" then "Zoom", "Julia" and finally "Bifurcation". Nothing happens when I select any of the items from the drop down box. I'm running Windows 10 64 bit, Java verion 8 update 71 (build 1.8.0_71b15). Title: Re: Mandelbrot-based Bifurcations Post by: Philippe on February 01, 2016, 12:29:08 AM Thanks for your interest.
Yeah, sorry a couple of mistakes: * the Logistic option has been renamed to Bifurcation actually, that's more accurate. * the computation may need some time (I may not have optimized the calculations I guess)... Please wait some time - and to make sure something is happening, open the Windows's task manager and monitor CPU usage. Title: Re: Mandelbrot-based Bifurcations Post by: panzerboy on February 01, 2016, 01:31:55 AM I'm guessing it should show the mandelbrot set on startup?
Task manager is showing 0% CPU usage, if I move the window or click something on the drop down CPU climbs to .3% then .7% for a few seconds. But then its back 0% and nothing shows on the big white area of the window. Title: Re: Mandelbrot-based Bifurcations Post by: Philippe on February 01, 2016, 09:41:50 AM I'm guessing it should show the mandelbrot set on startup? Task manager is showing 0% CPU usage, if I move the window or click something on the drop down CPU climbs to .3% then .7% for a few seconds. But then its back 0% and nothing shows on the big white area of the window. Yeah, it should be! I guess there must be some error due to memory allocation. I've updated the program with better memory options... but that's all my fault, the program is far to be optimized... I'm not very good at high-performance programming with good cpu and memory usage.... all I've learnt at engineer school is long gone now, since I've done stupid web development for years... :hurt: Title: Re: Mandelbrot-based Bifurcations Post by: Chillheimer on February 01, 2016, 11:22:03 AM Great to see that there is now a program that shows the connection between my 2 favourit fractals!
and thanks for sharing it here! Very nice pictures! I can't test it myself, having the same problem as panzerboy, no m-set showing at startup.. Title: Re: Mandelbrot-based Bifurcations Post by: Philippe on February 01, 2016, 12:37:16 PM Ah, I'm really sorry about this.
Can you please try to run, from the extracted directory Code: java -Xms512m -Xmx2048m -cp "mandelbifur.jar" "window.MainWindow" and see if there is any stacktrace printed. Thank you Title: Re: Mandelbrot-based Bifurcations Post by: Chillheimer on February 01, 2016, 01:17:52 PM yep, now it works! :)
though it starts zoomed in a little already - is there a way to zoom out? edit: never mind, found it, just change the width to 5 --very cool! Title: Re: Mandelbrot-based Bifurcations Post by: Philippe on February 01, 2016, 01:47:14 PM Glad it works... you may still had the non-corrected script I uploaded yesterday...
Yeah, the default zoom values are not wise... You can indeed change the zoom by setting up the width; or select zoom and then right-drop and click over the picture. Title: Re: Mandelbrot-based Bifurcations Post by: panzerboy on February 02, 2016, 12:17:43 AM I have 16 GB of memory, so why wouldn't it be able to reserve 2 GB?
Code: C:\Users\user1\Documents\Java\mandelbifur>java -Xms512m -Xmx2048m -cp "mandelbifur.jar" "window.MainWindow" I changed the -Xmx to 1024 and now it runs, CPU is a 64% been waiting about a couple of minutes. The CPU usage varies from 63.1% to 65%, memory is mostly 1017.0Mb occasionally 1017.1Mb. Tried again with -xms1280m, CPU down to 39% Memory up (naturally). Whooh I've got Mandelbrot. Tried changing the X to -1, Zoom to 3, no response no CPU usage. Changed drop down to zoom and right clicked, no response no CPU usage. I can select bifurcation and draw a line, a second window pops up with the graph, but its not centred well, see attached. Found the trick, enter the position and width and PRESS ENTER, then the window redraws. Another slight niggle. On startup the drop down box isn't there, If I resize (smaller) it becomes pops into being. Its really slow, not helped by the -X option? Been waiting for location 0,0 width 2 to draw for what seems like 5 minutes. Title: Re: Mandelbrot-based Bifurcations Post by: panzerboy on February 02, 2016, 12:57:15 AM Solution found. :chilli:
Installed 64bit Java VM for windows. :embarrass: The original javaw -cp "%~dp0mandelbifur.jar" "window.MainWindow" works. Click box band zoom works. Seems much faster than 32bit and -X options. Altering the Y position and width of bifurcation graph solves graph stuck at the top problem. It would be really nice if the fractal could be drawn as it processes, otherwise I have no idea how long its going to take. I've zoomed into the valley and increased iterations to 1000, and waiting waiting. Finally results! Title: Re: Mandelbrot-based Bifurcations Post by: lkmitch on February 02, 2016, 07:09:20 PM Neat concept! It should be generalizable to any 1-d section of the Mandelbrot set, such as a circle, the main cardioid boundary, a rose curve, etc.
Title: Re: Mandelbrot-based Bifurcations Post by: Philippe on February 06, 2016, 09:14:19 AM Thank you !
> It would be really nice if the fractal could be drawn as it processes, otherwise I have no idea how long its going to take. > I've zoomed into the valley and increased iterations to 1000, and waiting waiting. Yeah, the computations are quite long. Please take it only as a prototype... if anyone would like to write a more efficient program with more features such colouring, etc. feel free to do it ! > Neat concept! It should be generalizable to any 1-d section of the Mandelbrot set, such as a circle, the main cardioid boundary, a rose curve, etc. Yeah; I'd definitely love to see the result of a circle. if I got the time, I'll work on it... There would be more advanced stuffs that would be interested, such a animations if we shit the line continuously, etc... Also, I'd like to add a feature to draw a Julia for each abscissa of the curve. Then, it'd show some relation between the plotted Julia and the strange attractors. Title: Re: Mandelbrot-based Bifurcations Post by: Chillheimer on February 06, 2016, 10:37:10 AM if anyone would like to write a more efficient program with more features such colouring, etc. feel free to do it ! maybe there is a way to integrate/combine this with kalles fractaler? it's open source. but I probably think way to easy..There would be more advanced stuffs that would be interested, such a animations if we shit the line continuously, etc... now that would indeed be an "interesting" animation... ;DTitle: Re: Mandelbrot-based Bifurcations Post by: lkmitch on February 14, 2016, 01:54:32 AM Here's another approach to bifurcation diagrams in the Mandelbrot set, to which I alluded in an earlier post.
The parameter c doesn't have to move along a line segment (traditionally, the spike along the negative x axis, more recently, arbitrary diagonal segments). In concept, any curve that can be one-dimensionally parameterized can be used, for examples, circles and other polar curves that are parameterized by the polar angle. There are two interesting regions in the Mandelbrot set whose boundaries can be expressed exactly in easy terms: the main cardioid, (x=r * cos(theta)+0.25, y=r*sin(theta), where r = (1-cos(theta))/2) and the period-2 disk centered at -1 (x = r * cos(theta)-1, y=r*sin(theta), where r=0.25). Also, since the iterate z is complex along any of these other curves, any one-dimensional aspect of z can be plotted. Specifically, the magnitude, real part, imaginary part, and polar angle are easily used. Here are two examples. They both move c along the boundary of the main cardioid, from theta = -pi to pi, and plotting the real part of z or the imaginary part, respectively. Title: Re: Mandelbrot-based Bifurcations Post by: lkmitch on February 14, 2016, 01:56:50 AM Here are two more examples. These both involve the magnitude of z and the period-2 disk. In the first, c moves along the boundary. The second images uses a rose curve that extends beyond the boundary of the disk. This is a zoom into the bifurcation diagram.
Title: Re: Mandelbrot-based Bifurcations Post by: hobold on February 14, 2016, 12:40:54 PM Whoah. Yet another new view on the dynamics of the Mandelbrot formula. Very nice to see that we are not done yet! :)
Wait, here is another idea: Pick a nice smooth closed curve, e.g. a circle, that is fully inside the Mandelbrot set (i.e. no orbits ever escape). Then plot the limit of all those orbits in the complex plane. In other words, plot the ultimate image of the original circle after "infinite" Mandelbrot iterations. This should be rather boring with a circle in the main cardioid, because all orbits there converge to a fixed point. But within smaller disks / minibrots, where the orbits are attracted to periodic cycles, the original circle should be multiplied, and the various images might be intertwined, woven, braided in interesting ways ...? Title: Re: Mandelbrot-based Bifurcations Post by: claude on February 14, 2016, 03:44:26 PM If you plot all of the boundaries of the hyperbolic components in this way then you get something that resembles a Buddhabrot (this one has thick lines and colour to make it easier to distinguish different parts):
(http://mathr.co.uk/tmp/vbb1.png) The boundaries of circles get mapped to a leaf/tear shape, then the iterations jump that shape around the complex plane with various distortions. Here's a higher resolution monochrome version: http://mathr.co.uk/tmp/vbb6.png (2.7MB), some glitches/artifacts from the calculation method remain unfortunately... Title: Re: Mandelbrot-based Bifurcations Post by: matsoljare on February 15, 2016, 01:40:50 AM Could you extend this to 3D somehow?
Title: Re: Mandelbrot-based Bifurcations Post by: bkercso on May 27, 2016, 02:20:39 PM Really interesting idea, thanks for share and for the software! :joy:
Could you please implement arbitrary aspect ration for zoom area selection? Title: Re: Mandelbrot-based Bifurcations Post by: bkercso on May 27, 2016, 03:16:06 PM According to this picturebelow, we should looking for nice bifurcation qhere there is no any apple men. I wonder can we find non-divergent areas which produce nice bifurcation, which differ from the logic map?
(https://upload.wikimedia.org/wikipedia/commons/b/b4/Verhulst-Mandelbrot-Bifurcation.jpg) Title: Re: Mandelbrot-based Bifurcations Post by: Chillheimer on May 27, 2016, 03:29:27 PM I wonder what happens if you don't use the main branch but one of the smaller bulbs with more than 2 bifurcation branches
Title: Re: Mandelbrot-based Bifurcations Post by: bkercso on May 27, 2016, 03:44:33 PM Nondivergent chaos is placed on the fractal lines which connet the little periodic bulbs (apple men). In apple men, there is nothing interesting just finite priodicity (seen in the pics before: hasn't any finestructure). But if we leave these lines, we find divergent behaviour (these regions also hasn't any infinite fractal structure).
Well, these lines have zig-zag geometry, except the real axis, which produces the well know logistic map (?). So we would need an algorithm to fit parameter-line of bifurcation plot to the zig-zag lines of Mandelbrot set. Or is the shape of these lines is known? The zig-zag lines are visible on low iteration numbers: (http://2.bp.blogspot.com/_uea8fC_rl8A/SsNoE3BxErI/AAAAAAAAAHc/vdhQcv-Ddxw/s320/mandelbrot.png) Title: Re: Mandelbrot-based Bifurcations Post by: bkercso on May 27, 2016, 04:05:34 PM If we stay on real axis as parameter axis, the iterative equation is (for mandelbrot, burning ship and burning bird too)
Code: x:=x^2+x0; EDIT: Yes, it is (x-axis: -2..2, y-axis: -2..2, both with linear scaling) Title: Re: Mandelbrot-based Bifurcations Post by: bkercso on May 27, 2016, 05:23:00 PM I have an idea how to stay on the zig-zag lines:
frame this line with a rectangle frame, draw the midline of it (parallel with zig-zag line), and at first point on this midline calculate the Lyapunov exponent. It is a linear optimization task to find the minimum Lyapunov exponent along the perpendicular direction to midline: here is the point of the zig-zag line, ie. the Mandelbrot set. This is the point where chaos takes place: the edge of divergence and convergence. Repeat this on each point of the midline. Or, an easier but slower way: along the perpendicular direction to midline, the point of the zigzag line is where the iterative function is not divergent (ie. don't reach the bailout) (requires at least 1000 iterations, and more at zooms). This method is not perfect because of the crossings of the Mandelbrot set; you should find the minimum Lyapuniv exponents. And another idea: Use equations of my different nonlinear systems but with complex numbers for create a Mandelbrot-like fractal on the complex plane. Title: Re: Mandelbrot-based Bifurcations Post by: Adam Majewski on May 27, 2016, 06:35:59 PM What about internal rays of hyperbolic components ?
http://fraktal.republika.pl/internalAngleMset.html Title: Re: Mandelbrot-based Bifurcations Post by: Max Sinister on May 28, 2016, 12:19:31 AM This is a topic I'd also like to get deeper into, if only for the graphics.
Title: Re: Mandelbrot-based Bifurcations Post by: Chillheimer on May 28, 2016, 12:59:24 AM if only for the graphics. https://cdn.meme.am/instances/11376084.jpg sorry, couldn't resist.. ;D |