Ultimate Mandelbrot Fractal Zooming

983 Views Asked by At

I'm sure I'll mess up my use of terminology here, please forgive me and have patience - I have problems with written communications because of brain cells. Meh.

Background first:

I'm a programmer and I've always been interested in Fractals, both as concept and works of art.

To keep this relatively directed, I'm talking about the Mandelbrot Set here, but if there is another kind that would better suit the question or an answer, please let me know!

Especially I love the way one can 'Zoom' into a Fractal, and whilst the area is finite - the perimeter is apparently infinite, as far as I've read anyway. I also love the way it's sometimes described that if a fractal could be, say, printed beyond certain zoom levels then the end result that would show the original Mandelbrot all the way to the zoom, would be larger than solar system or something like that!

Details like that blow my mind, and indeed it was thinking about Infinity that prompted the question below.

First off, lets establish a basic playing field; This is how I setup my usual first run:

I think of it at different levels in terms of units, that each individual pixel is a unit in this case, and if we take a normal starting point, I usually start at:

-2.0 + -1.21i 
to: 
0.6 + 1.2i

Which I find is a pleasant default level of detail and I seem to recall that there was an obscure optimization that I could use with these values.

Now, I wrote my first generator a long time ago and my screen was a 15" CRT that I could run at 1024x768 256 Colours using a nice Borland VESA BGI file. And that should age me well for those in the know! I initially wrote it in Turbo Pascal, but swiftly moved on the Borland Turbo C++ (the first release that had syntax highlighting). On that screen, a Pixel would be about 281 micrometres on each side.

Okay, apart from the Pixel Size, I don't know if any of that is relevant, but I wanted to demonstrate what I was working with, at the time.

Taking the Above, lets presume we're going to be zooming in along the Seahorse valley, but if another area is easier, say the Nautilus, let me know too! Perhaps less 'Set' and more Colour might make it faster to calculate this?

And so with default parameters established and an understanding of how big each first unit is :.


  • How far do you need to zoom into such a Fractal, until its units are smaller than Planck length?

As mentioned a default unit in this case is a 281μm square, but if it's easier, please scale this first size and let me know how to convert the final result!

So, how far would I have to zoom? What would the Complex numbers that represent the corners look like at this level? Has anyone done this already and can point me at a picture, movie or even program that can do this?

I'm as decent with Math as a I need to be, to be a programmer and have an interest in writing my own fractal code, but this question just blows my mind basically, so I will be incredibly grateful if you can break this down for me/point me in the right direction or indeed (Please!) solve this!

Lastly, this is just a what-if, brain teaser kind of question, as it's just novel way of visualising ranges of numbers, I can't say that there's any practical result here - but I think it would be fascinating to know what the numbers, and indeed the Fractal itself, look like at this ultimate level!.

Thank you for your time, support and patience!

1

There are 1 best solutions below

1
On BEST ANSWER

$1024$ pixels representing $-2.0 \ldots 0.6$ makes $1$ pixel correspond to $2.6/1024 = 0.0025390625$ units. $1$ pixel also corresponds to $281$μm by the resolution of the screen, so taking this zoom level as the base scale reference, $1$ unit corresponds to $281/0.0025390625 = 110670.76923076923$μm which is about $110$mm or $11$cm or $0.11$m.

Now you want to find out how many units correspond to the Planck length, which Wikipedia says is $1.616255(18)\times 10^{−35}$m. The answer you seek is Planck length divided by meters per unit, i.e., $1.616255(18)\times 10^{−35} / 0.11067076923076923 = 1.4604174085298043\times 10^{-34}$ but as your input numbers are not so precise it would be more relevant to give it to only 3 significant figures: $$1.46 \times 10^{-34}$$ This is a dimensionless zoom factor or ratio, meaningful only when compared to a fixed reference image.

The generic complex number coordinates would need to have at least $34$ decimal digits specified for each of the real and imaginary parts, to distinguish individual pixels for generating an artifact-free image you might need 3 more decimal digits (assuming $1024 \approx 10^3$ pixels wide image). Computers usually work in binary so you would need $-\log_2 (1.46\times 10^{-37}) \approx 123 $ bits of mantissa precision. Typical computer number types go to $53$ bits (double precision) and even quadruple precision (_Float128) has only $113$ bits, so you would need to investigate higher precision representations of numbers (both fixed point and floating point are fine for Mandelbrot set computations as the numbers are all bounded by the escape radius).