Finding arbitrary shapes in the Mandelbrot set

  • 28 Replies
  • 536 Views

0 Members and 1 Guest are viewing this topic.

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #15 on: March 15, 2020, 12:15:41 AM »
A 3X3 pattern with all black except center is not possible I think. Boundary tracing optimization (any region enclose by points inside M-set is in M-set) relies on this.

I have attached an image of a spot in the M-Set that will generate this image. Generally you're right, the M-Set is connected and simply connected in the topological sense, so you never get islands or lakes, but if you are just rendering 3 x 3 pixels, you will take the center of these pixels as your starting values for the sequence (the red spots). In this case, this will lead the script to draw black pixels all around and a white one in the middle, even though you can see in greater resolution, that there was never a white lake in the black.

On an unrelated note: How do you change your avatar here? When I try to upload an image it says its too large or "not an avatar", but my pictures are pretty small.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2096
« Reply #16 on: March 15, 2020, 03:18:17 AM »
I have attached an image of a spot in the M-Set that will generate this image. Generally you're right, the M-Set is connected and simply connected in the topological sense, so you never get islands or lakes, but if you are just rendering 3 x 3 pixels, you will take the center of these pixels as your starting values for the sequence (the red spots). In this case, this will lead the script to draw black pixels all around and a white one in the middle, even though you can see in greater resolution, that there was never a white lake in the black.

On an unrelated note: How do you change your avatar here? When I try to upload an image it says its too large or "not an avatar", but my pictures are pretty small.
What do you mean? I don't see any white pixel surrounded by black pixels in that image.

Hang on... I guess my brain finally turned on, I see. Interesting, but it's of course not the M-set, just a bad approximation to it.
« Last Edit: March 15, 2020, 07:31:44 AM by gerrit »

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #17 on: March 15, 2020, 09:37:11 AM »
Yes, but I guess even when you render a 1920 x 1080 pixel grid of the M-Set it is a bad approximation so that's all we ever do pretty much. The interesting part of this conjecture would be that you can increase the pixel count arbitrarily and would still find any m x n pixel grid you want.

The kind of boundry tracing optimization you were talking about would have to be turned off of course to even see the lakes of white surroundedby black pixels.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2096
« Reply #18 on: March 15, 2020, 07:21:10 PM »
Yes, but I guess even when you render a 1920 x 1080 pixel grid of the M-Set it is a bad approximation so that's all we ever do pretty much.
I don't think that is so. You can adjust oversampling and iteration count such that further increases do not change anything visible, which is then the approximation of the "true" picture at infinite resolution and infinite # iterations. It is an approximation, but with error small enough to be invisible.

You can of course make a bad approximation if you like.

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #19 on: March 15, 2020, 09:14:13 PM »
I don't think that is so. You can adjust oversampling and iteration count such that further increases do not change anything visible, which is then the approximation of the "true" picture at infinite resolution and infinite # iterations. It is an approximation, but with error small enough to be invisible.


I just mean no matter how high the pixel count, these renderings are always the same kind of "bad". What improvement is "visible" just depends on the ability of the human eye to resolve pixels at arms length. If you print out your 1920 x 1080 image on a billboard and go right up to it, a change to 16K would be the same kind of amazing improvement as you would have when you go from 200 x 100 to 1920 x 1080 on your computer screen.

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2096
« Reply #20 on: March 15, 2020, 10:00:22 PM »
Making images from M-set that rely on "doing it wrong" is of course a respectable activity, but you can't really say such shapes "are in the M-set".

Some but not all shapes (I think, but am pretty sure) are "really in the M-set", for example various curve segments in https://fractalforums.org/image-threads/25/gerrit-images/565/msg2805#msg2805 are "really there", they don't rely on any particular coloring method.

Another one is https://fractalforums.org/image-threads/25/gerrit-images/565/msg2953#msg2953 making 3 letters.

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #21 on: March 16, 2020, 09:08:52 AM »
I would have to disagree that this is "doing it wrong". I think when we are talking about black and white renderings of the Mandelbrot set, this is the only way of doing it right. When you set your grid size, say 3 x 3, all you can do to stay true to the M-Set is take the complex number at the middle of these grid cells and run them as the starting point of their Mandelbrot sequence. If the value is greater than 2 after your set iteration count, you color the pixel white and if not, black. That way you will get the 3 x 3 grid of white in the middle and black around that you were talking about in the postion that I gave.

If you want to save time by using the border tracing optimization you mentioned, you could *assume* pixels that are already surrounded by black to be also black, but this is simply not the case in renderings with finite pixel counts, i.e. any rendering. These methods make the picture slightly less true to the original meaning of rendering a Mandelbrot set, even though we know that at an infinte resolution, there would never be a white surface surrounded by black.

As CoryMcG pointed out, there will never be a "triangle in the M-Set", but you can find finer and finer black and white pixel grids that resemble perfect triangles as far as the resolution allows them to.

Really love the pictures!

Offline hobold

  • *
  • Fractal Furball
  • ***
  • Posts: 286
« Reply #22 on: March 16, 2020, 06:39:17 PM »
So let's not call it right or wrong. But when we start relying on aliasing artifacts, then there is less and less meaning in the claim that the Mandelbrot set is relevant to the resulting shape. Many other deterministic noise generators could be used as sources, too, which by random chance may contain any desired finite pixel pattern with nonzero probability.

In other words, when we use aliasing artifacts, we may well obtain results, but we are unlikely to learn anything interesting about the Mandelbrot set specifically.

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #23 on: March 16, 2020, 07:45:30 PM »
Yeah that's a good point. It's still pretty impressive to me that the M-Set would be capable of creating any pixel grid of aliasing artifacts. I don't claim that this is unique to the M-Set though. An intersting question even for a mathematician would be: What general properties does a fractal have to have in order to be able to create any given pixel grid in this way?

Offline gerrit

  • *
  • 3f
  • ******
  • Posts: 2096
« Reply #24 on: March 16, 2020, 07:58:34 PM »
I would have to disagree that this is "doing it wrong". I think when we are talking about black and white renderings of the Mandelbrot set, this is the only way of doing it right. When you set your grid size, say 3 x 3, all you can do to stay true to the M-Set is take the complex number at the middle of these grid cells and run them as the starting point of their Mandelbrot sequence. If the value is greater than 2 after your set iteration count, you color the pixel white and if not, black.
I don't think that's the only way to do it right. Better is when you have a pixel near the boundary (say the center white pixel in our example) to realize a pixel is a square with \( \infty \) many points, some of which escape, some of which don't. This leads to standard oversampling methods perhaps including jitter (option in KF) to improve accuracy.

For a shape to "be in the M-set" I would think the shape needs to be robust against improving accuracy (ie oversampling and possibly jittering) and colormap changes. It's a bit vague as no matter what shape you can always make it disappear with an evil choice of colormap, but I mean "reasonable" colormap changes in "good faith".

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #25 on: March 16, 2020, 10:25:25 PM »
Yes oversampling is a good point but you would still be able to generate the 3 x 3 grid with white in the middle when you use oversampling.

For a shape to "be in the M-set" I would think the shape needs to be robust against improving accuracy (ie oversampling and possibly jittering) and colormap changes.

That requirement would certainly not hold for the M-Set but I agree that it's a sensible demand for the notion of "finding a shape". I'm pretty sure we have to settle with being able to find any pixel grid you want but not finding the finer and finer grids in the same postion only by enhancing the resolution. You would have to jump from place to place to find the increasingly accurate grids of say a triangle.

Offline marcm200

  • *
  • Fractal Freak
  • **
  • Posts: 689
« Reply #26 on: March 17, 2020, 08:42:16 AM »
Out of curiosity: Has anyone found one of these shapes for larger n:

a) (extending gerrit's example) a large n x n matrix, all black, but with a single white pixel around the center?
b) a set of concentric circles (or rectangles) with alternating color?
c) an n x 2 matrix with one row being fully white, one fully black ?

Should it really be possible, especially for b), to find this for any number n ? I tend towards no here, but it would certainly be a nice world record like challenge.

Just, that I get it right: We are talking about a regular spaced grid of points in the complex plane, right? Or are those grid points allowed to wobble a tiny bit like subatomic particles? I reckon, this would make pattern finding a whole lot easier (maybe even provable?)

One interesting thing about white pixels:

If the pattern contains exactly one white pixel (and white, if detected by escape time, is stable), then there is a lower limit on how close the grid points can come to each other.

As the complement of the M-set is an open set, if there's a white pixel in the pattern, then there must be a small neighbourhood around its complex coordinats which is also exterior. But a grid being much closer together would then inherently show a second white pixel in the only-one-pixel pattern.

Offline C0ryMcG

  • *
  • Uploader
  • *
  • Posts: 168
« Reply #27 on: March 18, 2020, 02:19:55 AM »
So let's not call it right or wrong. But when we start relying on aliasing artifacts, then there is less and less meaning in the claim that the Mandelbrot set is relevant to the resulting shape. Many other deterministic noise generators could be used as sources, too, which by random chance may contain any desired finite pixel pattern with nonzero probability.

In other words, when we use aliasing artifacts, we may well obtain results, but we are unlikely to learn anything interesting about the Mandelbrot set specifically.

You've just lead me to realize what we're actually talking about doing in this thread... And that is using the Mandelbrot set as a pseudo-random number generator. Not a particularly good one, I'd say, but good enough that we can assume arbitrary results are possible to produce given enough attempts.

Offline ambiguousmartingale

  • *
  • Fractal Friend
  • **
  • Posts: 13
« Reply #28 on: March 18, 2020, 09:58:29 AM »
Out of curiosity: Has anyone found one of these shapes for larger n:

a) (extending gerrit's example) a large n x n matrix, all black, but with a single white pixel around the center?
b) a set of concentric circles (or rectangles) with alternating color?
c) an n x 2 matrix with one row being fully white, one fully black ?

Should it really be possible, especially for b), to find this for any number n ? I tend towards no here, but it would certainly be a nice world record like challenge.

That was sort of my question to begin with. But I am pretty sure that even if what we are talking about is true, which you are right is nowhere near proven, then there wouldn't be any efficient algorithm to search for specific n x m grids. As CoryMcG said, it's pretty close to a random pixel generator. But guess the world record challenge is out there now.  8)

Just, that I get it right: We are talking about a regular spaced grid of points in the complex plane, right? Or are those grid points allowed to wobble a tiny bit like subatomic particles? I reckon, this would make pattern finding a whole lot easier (maybe even provable?)

I would say that this is only interesting for a regular tiling of the complex plane, say squares or hexagons or some regular combination of polygons. But I would guess that the results for these should be the same. It would be a good place to start with irregular tilings though when you are actually trying to prove something.

As the complement of the M-set is an open set, if there's a white pixel in the pattern, then there must be a small neighbourhood around its complex coordinats which is also exterior. But a grid being much closer together would then inherently show a second white pixel in the only-one-pixel pattern.

Yes, that's why it will in general be necessary to alter the position when you go from a n x m grid with one white pixel in the middle to a n+1 x m+1 grid.
« Last Edit: March 18, 2020, 10:55:12 AM by ambiguousmartingale »