Math on the Cloud
FacebookTwitterInstagram

Generic Mandelbrot Set Plotter (version 8.2)

This is an extension of our previous Mandelbrot Set (M-set) plotters. The iteration functions F(z,c) are extended from simple "z^n+c" to polynomial functions, rational functions, transcendental functions, and composition of them. Although, for some of these functions, the produced M-set may not meet the classic M-set definition in a strict mathematical sense, they can still produce fancy patterns and images. In these cases, M-set images may be sensitive to the Escape Radius, the Max Iteration number, and selection of Initial/Critical point. 

This plotter gives more options open to the user and thus makes it a more flexible experimental tool. Because the mathematical strictness are sometimes compromised, we may call this experimental tool as a Generic M-Set Plotter.

Quickstart:
  • Click "Run/Re-Run Plotter" button to plot the default M-set image.
  • To zoom in on an area of the image, hold down the left button and drag a selection with your mouse.
  • On a touch-screen device, zoom in by tapping the desired point on the image.
  • Change "F(z,c)" with the select menu to explore 146 different iteration functions or composition functions.
  • Further explore the image by changing the "Escape Radius", "Max Iteration", "Plot Size", "Hue(Color)", "Init/Default Plot Range" and/or "Initial/Critical Point" options.

→ CLICK HERE TO [ SHOW ] MORE USAGE INFORMATION

1. Click "Run/Re-Run Plotter" button to start and display the whole M-set image.

2. After the initial M-set image is displayed, you can use the Mouse Left button(down-move-up) to select a specific portion of the image to zoom-in.
Or, on a "Touch Screen Device", just "touch" at any point of the image where you want to zoom-in, the image will be magnified and the touched point be placed at the center of the canvas.
The boundary of the M-set, and the areas close to the M-set boundary but outside the M-set, will exhibit great complexity and fancy patterns. Whereas, all M-set points are colored as black and the M-set's inner structure is not revealed at present. Zooming into inner of the black area will obtain no detail, but can cost more computation power.

3. The Zoom-In operation can be repeated/iterated to see more details of an image area.
The "Zoom-out/Back" button can be used to reverse the Zoom-In operation step by step.
At any zoom-in stage, the user have options to:
  • select a larger "Max Iteration" number to increase the image resolution,
  • select different "Hue(Color)" algorithms to signify different aspects of image details,
  • select different "Escape Radius" to explore its effect on the image,
  • change the "Plot Size" to get a bigger-size and higher-resolution image,
  • use "Reset/Init" button to jump back by one step to the initial stage and display the whole M-set image again,
  • input a number in text box "Set Init/Default Plot Range" and press "Reset/Init" button to increase the plot range, if the image is larger than the canvas.
  • or, select a different F(z,c) function to start a new plot session.

4. In theory, the M-set/Multibrot set image zoom-In levels can be infinite, whereas the actual zoom-in levels of this plotter are limited by its accuracy.
A fuzzy image, and/or the displayed mouse (x, y) position showing no or little change when the mouse is moving over the image, indicate the plotter has reached its accuracy limit.
r(x,y) is the distance between current mouse position and the origin point (0,0).

5. M-set/Multibrot sets plotting can be computation intensive.
Combination of a large "Max Iteration" number, a large "Plot Size", and a high order(degree) F(z,c) type, can trap the plotter in a lengthy calculating status.
In this situation, if you do not want to wait, you can click on the "Restart/Reload This Web Page" link to stop the running plotter and start a new session.
More Information for this Generic Mandelbrot Set Plotter is at the end of this page.

Restart/Reload This Web Page

M/J Color, Non-M/J Hue & Lightness Ranges:
(R,G,B,Hmin,Hmax,Lmin.Lmax):
Escape Radius:Max Iteration:Plot Size:Worker Number:
F(z,c):Hue(Color):

Keep Graph Shape or Not:

Click "Run/Re-Run Plotter" Button to Start
A(z)=???
B(z)=???

Input Parameter a[i]=(a0,a1,a2,a3,,,,) for Polynomial Function A(z):
Input Parameter b[i]=(b0,b1,b2,b3,,,,) for Polynomial Function B(z):
Input Initial/Critical Point Position Xcr and Ycr:

Set Init/Default Plot Range X Y MaxMin:
X Plot Range---xmin and xmax:

Y Plot Range---ymin and ymax:

More Information for the M-set/Multibrot set Plotter:

The Generic M-set is generated by iteration of a complex equation:
`z(n+1)=F(z(n),c(x,y))`
For a point c(x,y) on the complex plane, with designated iteration parameters of a maximum iteration number, a escape radius, and an iteration condition `abs(z(n))<=`escape radius:
If the iteration reaches the maximum iteration number, the c(x,y) point is defined as a member of M-set or a bounded set;
If during the iteration, the condition `abs(z(n))<=`escape radius fails, the iteration is stopped and the point is then defined as a member of non-M-set or escape set.

The escape or jump iteration number, denoted as Jmp for each non-M-set point, represents the property of the point. Coloring each non-M-set point according to its Jmp value will produce a colorful and amazingly beautiful pattern or image.

This plotter provides 24 types of simple coloring/rendering algorithms and they are displayed in the Hue(Color) selection menu.

0. Hue(Color)="((Jmp-Min)*360)/(Max-Min)"
1. Hue(Color)="((Jmp-Max)*360)/(Min-Max)"
2. Hue(Color)="(Jmp/IteMax)*360"
3. Hue(Color)= "((IteMax-Jmp)/IteMax)*360"
4. Hue(Color)= "Jmp"
5. Hue(Color)= "IteMax-Jmp"
6. Hue(Color)= "((2*Jmp+10)/IteMax)*360"
7. Hue(Color)= "((Jmp/IteMax)*360)^2%360"
8. Hue(Color)="((Jmp-Min)*120)/(Max-Min)"
9. Hue(Color)= "120+((Jmp-Min)*120)/(Max-Min)"
10. Hue(Color)="240+((Jmp-Min)*120)/(Max-Min)"
11. Hue(Color)= "240+((Jmp-Max)*120)/(Min-Max)"
12. Hue(Color)= "120+((Jmp-Max)*120)/(Min-Max)"
13. Hue(Color)= "((Jmp-Max)*120)/(Min-Max)"

14. "H=Hmin,L=Lmin->Lmax"
Hue(Color)=Hmin
Lightness =lmin+((Jmp-Min)*(lmax-lmin))/(Max-Min); //L=Lmin->Lmax
15. "H=Hmin,L=Lmax->Lmin"
Hue(Color)=H=Hmin
Lightness=lmin+((nJmp-Max)*(lmax-lmin))/(Min-Max); //L=Lmax->Lmin
16. "H=Hmin->Hmax,L=Lmin->Lmax"
Hue(Color)=Hmin+((Jmp-Min)*(Hmax-Hmin))/(Max-Min);//H=Hmin->Hmax
Lightness=lmin+((Jmp-Min)*(lmax-lmin))/(Max-Min); //L=Lmin->Lmax
17. "H=Hmin->Hmax,L=Lmax->Lmin"
Hue(Color)=Hmin+((Jmp-Min)*(Hmax-Hmin))/(Max-Min);//H=Hmin->Hmax
Lightness=lmin+((nJmp-Max)*(lmax-lmin))/(Min-Max); //L=Lmax->Lmin
18. "H=Hmax->Hmin,L=Lmin->Lmax"
Hue(Color)=Hmin+((nJmp-Max)*(Hmax-Hmin))/(Min-Max);//H=Hmax->Hmin
Lightness=lmin+((Jmp-Min)*(lmax-lmin))/(Max-Min); //L=Lmin->Lmax
19. "H=Hmax->Hmin,L=Lmax->Lmin"
Hue(Color)=Hmin+((nJmp-Max)*(Hmax-Hmin))/(Min-Max);//H=Hmax->Hmin
Lightness=lmin+((nJmp-Max)*(lmax-lmin))/(Min-Max); //L=Lmax->Lmin
20. "H=7th Hue,L=Lmin->Lmax"
Hue(Color)="((Jmp/IteMax)*360)^2%360"
Lightness=lmin+((Jmp-Min)*(lmax-lmin))/(Max-Min); //L=Lmin->Lmax
21. "H=7th Hue,L=Lmax->Lmin"
Hue(Color)="((Jmp/IteMax)*360)^2%360"
Lightness=lmin+((nJmp-Max)*(lmax-lmin))/(Min-Max); //L=Lmax->Lmin
22. Hue(Color)="((Jmp/IteMax)*360)^4%360"
23. Hue(Color)="((Jmp/IteMax)*360)^8%360"

where, IteMax = "maximum iteration number",
Max = maximum of Jmp of the non-M-set points for the current/plotted image,
Min = minimum of Jmp of the non-M-set points for the current/plotted image,
Hmax, Hmin, Lmax, and Lmin are user input color and lightness parameters,
default Lightness=0.5.

About Initial/Critical Point
This plotter has a user option "Input Initial/Critical Point Position Xcr and Ycr" to let user to set different critical points of F(z,c) as the iteration initial point.
The critical points of F(z,c) are defined as points at where the derivative of F(z,c) are zero, dF(z,c)/dz=0.
For most F(z,c) functions used in this plotter, if using a critical point as the initial point, the generic M-set image will contain similar classic m-set image as those produced by simple function F(z,c)=z^n+c.

Some examples of critical points:
cos(z)+c:
Xcr=kπ=0,π,2π,3π=0,3.14519,,,,,,k=0,1,2,3,
Ycr=0
sin(z)+c:
Xcr=(k+1/2)π,k=0,1,2,3,
Ycr=0
cosh(z)+c:
Xcr=0
Ycr=kπ=0,π,2π,3π=0,3.14519,,,,,,k=0,1,2,3,
sinh(z)+c:
Xcr=0
Ycr=(k+1/2)π,k=0,1,2,3,
z*log(z)+c:
Xcr=1/e=0.367879
Ycr=0
z^2*log(z)+c:
Xcr==1/sqrt(e)=1/1.648721271= 0.6065306597
Ycr=0

The following wikipedia links provide more Information for Mandelbrot set and Multibrot sets:

https://en.wikipedia.org/wiki/Mandelbrot_set
https://en.wikipedia.org/wiki/Multibrot_set
https://en.wikipedia.org/wiki/Complex_dynamics
https://en.wikipedia.org/wiki/Escaping_set
https://en.wikipedia.org/wiki/Newton_fractal
https://en.wikipedia.org/wiki/Filled_Julia_set

Math on the Cloud/fractal/mandelbrotgeneric
©Math on the Cloud 2022-2024. Read our Privacy Policy and Terms & Conditions