To change the area that should be rendered you have to change x/y_start/end values, thats right, but you also have to change:
double add = (4.0 / 256.0);
into:
double add = ((x_end - X_start) / 256.0);
assuming the distance between the x values and the y values is the same (ie that you render a square area of the imaginary plane)
If you change the area to for example:
start_x = -0.324017
end_x = -0.348219
start_y = 0.628567
end_y = 0.604365
you should se some nice results (on the mandelbrot)
Typically the nicest patterns occurs in the area where it goes from converging into diverging
And offcourse you can also change it to higher reses like 1024*1024, but remember to change the ''add'' into: ((x_end - X_start) / 1024.0)
if you want to use rectangulare areas you must specify two ''add'' variables, one for x and one for y
As I said, you can also save it as a height map instead of color values, and from that work out some approx normal vectors to generate lighting/3D effects, (maybe also a bool array containing info on wether it converge or diverge and then use a different lighting scheme on those areas to seperate them)
And dont be afraid to try out other recursions like for example:
|
All those will be symmetric about the real axis, to make them un-symmetric you can include the argument of P in the equation