News: Check out the originating "3d Mandelbulb" thread here
 Welcome, Guest. Please login or register. February 08, 2023, 07:33:38 AM 1 Hour 1 Day 1 Week 1 Month Forever Login with username, password and session length

The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!

 Pages: [1] 2   Go Down
 Author Topic: Mandelbrot-based Bifurcations  (Read 6540 times) Description: Discuss theory and try program to view some bifurcation diagrams 0 Members and 1 Guest are viewing this topic.
Philippe
Forums Newbie

Posts: 6

 « 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, 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…

pick a line over the Mandel set

the bifurcation diagram following that axis

a zoom of a part of it

https://lut.im/razCijR9Bv/hjxW87012GuxF3Bt.jpg
with more iterations

the bifurcation diagram shows the module in the positive area, and behind it the argument (from Pi-4 to –Pi-4).

here is another example with zoom over the phase, you can see this is circular of course

Here is another example again

the bifurcation diagram (with default zoom values)

zooming out: modules and arguments

zooming in some details

with more iterations

plotting a Julia

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 !
 mandelbifur.zip (40.47 KB - downloaded 128 times.) « Last Edit: February 01, 2016, 09:38:39 AM by Philippe » Logged
hobold
Fractal Bachius

Posts: 573

 « Reply #1 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.
 Logged
panzerboy
Fractal Lover

Posts: 242

 « Reply #2 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).
 Logged
Philippe
Forums Newbie

Posts: 6

 « Reply #3 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.
 Logged
panzerboy
Fractal Lover

Posts: 242

 « Reply #4 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.
 Logged
Philippe
Forums Newbie

Posts: 6

 « Reply #5 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...
 Logged
Chillheimer
Global Moderator
Fractal Schemer

Posts: 972

Just another fractal being floating by..

 « Reply #6 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..
 Logged

--- Fractals - add some Chaos to your life and put the world in order. ---
Philippe
Forums Newbie

Posts: 6

 « Reply #7 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
 Logged
Chillheimer
Global Moderator
Fractal Schemer

Posts: 972

Just another fractal being floating by..

 « Reply #8 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!
 Logged

--- Fractals - add some Chaos to your life and put the world in order. ---
Philippe
Forums Newbie

Posts: 6

 « Reply #9 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.

 Logged
panzerboy
Fractal Lover

Posts: 242

 « Reply #10 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"
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap

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.
 mandelbifur.gif (18.39 KB, 534x465 - viewed 287 times.) Logged
panzerboy
Fractal Lover

Posts: 242

 « Reply #11 on: February 02, 2016, 12:57:15 AM »

Solution found.
Installed 64bit Java VM for windows.
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!

 mandelbifur2.gif (141.34 KB, 1186x893 - viewed 327 times.)  mandelbifur3.gif (63.82 KB, 655x521 - viewed 317 times.) « Last Edit: February 02, 2016, 01:31:01 AM by panzerboy » Logged
lkmitch
Fractal Lover

Posts: 238

 « Reply #12 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.
 Logged
Philippe
Forums Newbie

Posts: 6

 « Reply #13 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.
 Logged
Chillheimer
Global Moderator
Fractal Schemer

Posts: 972

Just another fractal being floating by..

 « Reply #14 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...
 Logged

--- Fractals - add some Chaos to your life and put the world in order. ---
 Pages: [1] 2   Go Down
Jump to:

 Related Topics Subject Started by Replies Views Last post 3D Mandelbrot Formula based on the Hopf Map Theory « 1 2 » bugman 19 19023 May 03, 2017, 02:27:40 PM by faxingberlin 3D Mandelbrot Formula based on Rotation Away from Azimuthal Axis Theory bugman 14 10047 January 02, 2010, 06:31:13 PM by mrrgu Web-based OpenGL ES2 Fractal Website of the Month David Makin 4 3527 January 29, 2011, 01:16:50 AM by subblue n dimensional extension of Mandelbrot set, based on the SVD (new) Theories & Research kram1032 9 1452 March 11, 2011, 08:52:01 PM by kram1032 Bifurcations of Coupled systems (new) Theories & Research bkercso 6 644 May 23, 2016, 01:30:36 PM by bkercso

 Dilber MC Theme by HarzeM
Page created in 0.199 seconds with 23 queries. (Pretty URLs adds 0.009s, 2q)