Pages: [1] 2 3 4   Go Down
 Author Topic: Meta-Mandelbrot [Mandeljulia?]  (Read 1753 times) Description: 0 Members and 1 Guest are viewing this topic.
gds-entropy
Alien

Posts: 24

 « on: January 25, 2017, 11:30:04 PM »

A technique which is my favorite, and I am not aware of its popularity, is the use of meta-formulae.

These are fractal formulae that follow the convention of an original but at a much higher level.

One such is below [and attached, and I copy the text of the Flickr description below as well]:
https://www.flickr.com/photos/gds-entropy/31665738024/in/dateposted-public/

I always share all of my formulae unless I have lost them and would need to reconstruct them from Fractal Explorer *.frs files.
I'm both too busy and too lazy to do this, but will freely share the *.frs files; I would appreciate a link back to my Flickr if you use them and please share any derivative formulae with the world in return.

<ot>
For any of the cellular automata and PDE simulations on my Flickr, I cannot post code on that platform, they mangle it beyond imagination. I am always open to collaborations though, such as the one I undertook with Softology/Jason Rampe which resulted in us largely cracking the McCabe "Very Cellular Automata"...that was fun. Link.. https://softologyblog.wordpress.com/2016/11/17/more-experiments-with-coupled-cellular-automata/
</ot>

The Level 3 Meta-Mandel formula looks almost like a Mandeljulia, for certain values of Real.

While this IS a Julia rendered formula colored according to Newton and Log(|Z|), it follows the rough pattern of the Mandelbrot fractal.
This makes sense, even though it does so for only ONE particular value of real [-0.1], because the formula is itself a meta-Mandelbrot.

Look at it.

I simply followed the convention of z*z+c to three levels...so thing A times itself plus thing B. Thing B is simply an inverted thing A which follows the same convention.

Level 0 is:
z*z+c

Level 1 is:
((z*z+c)*(z*z+c)+(c*c+z))

Level 2 is:
(((z*z+c)*(z*z+c)+(c*c+z)) * ((z*z+c)*(z*z+c)+(c*c+z)) + ((c*c+z)*(c*c+z)+(z*z+c)))

Level 3 is:
((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))*(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))+(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z))))

Try this technique yourself with other models, you will get interesting results!

Ian
 MandelJulia.jpg (17.93 KB, 150x150 - viewed 308 times.) Logged
PieMan597
Conqueror

Posts: 114

 « Reply #1 on: January 26, 2017, 12:18:03 AM »

This is very cool!
 Logged
kram1032
Fractal Senior

Posts: 1844

 « Reply #2 on: January 26, 2017, 01:15:49 AM »

There was a thread about this technique a while a go. Pretty neat indeed. I believe it was called Meta-brot at the time.
I wonder if there is some limit estimate one could do to this, so you get a "short" formula that approximates the limit and then works more like the original iteration formula.
Although the c²+z might be new? I don't know what the other thread had as a pattern.
 « Last Edit: January 26, 2017, 01:33:57 AM by kram1032 » Logged
kram1032
Fractal Senior

Posts: 1844

 « Reply #3 on: January 26, 2017, 01:32:21 AM »

 Logged
gds-entropy
Alien

Posts: 24

 « Reply #4 on: January 26, 2017, 05:00:15 AM »

Very interesting, and certainly some similarity in the output. If the formula I posted is rendered as a Mandelbrot, it produces a rather boring star shape though; the most interesting manifestations seem to be when treated as Julia.

Ian
 Logged
Dinkydau
Fractal Senior

Posts: 1551

 « Reply #5 on: January 26, 2017, 09:36:31 AM »

This is amazing.
 Logged

SamTiba
Navigator

Posts: 66

 « Reply #6 on: January 26, 2017, 10:18:05 AM »

expanded Formula for the pattern level 3 with c = -0.1:

z^16 + -0.8*z^14 + 4*z^13 + 0.32*z^12 + -2.4*z^11 + 9.92*z^10 + 0.76*z^9 + -4.1862*z^8 + 11.856*z^7 + 0.95832*z^6 + -2.782*z^5 + 13.888144*z^4 + 0.51864*z^3 + -1.191008*z^2 + 0.984064*z^1 + 0.03988026

I computed it not using the diverging method and it looks rather like a normal Julia-set with nothing special.
 Multibrot.jpg (245.93 KB, 550x550 - viewed 18 times.) Logged

Some of my images: Pinterest
kram1032
Fractal Senior

Posts: 1844

 « Reply #7 on: January 26, 2017, 12:48:33 PM »

It's beautiful though.
I still wonder what my own works would eventually actually look like. I need to make an iterative density plot version of it somehow. - In my old mathematica code I just evaluated all the points without ever actually plotting the result mid-calculation to see how it progresses. If anybody has a take on it, that would be nice.
Also, is there a similar, what appears to be a closed form, for this variant of the Metabrot compared to the other?
Just to reiterate, here is the Mathematica code that recursively builds all points in the set given a specific value for c and up to a specific recursion depth n:

Code:
z[0, _, _] := 0
z[n_, c_, -1] := {1/2 (1 - Sqrt[1 - 4 z[n - 1, c, -1]]) + c,
1/2 (1 + Sqrt[1 - 4 z[n - 1, c, -1]]) + c}
z[n_, c_,  1] := {1/2 (1 - Sqrt[1 - 4 z[n - 1, c,  1]]) + c,
1/2 (1 + Sqrt[1 - 4 z[n - 1, c,  1]]) + c}
z[n_, c_] := {z[n, c, -1], z[n, c, 1]}

Yesterday I coded up what should be the equivalent function in Python:
Code:
import collections
from cmath import sqrt

def flatten(l):
for el in l:
if isinstance(el, collections.Iterable) and not isinstance(el, (str, bytes)):
yield from flatten(el)
else:
yield el

def z(n, c, b=None):
if n == 0:
yield 0
elif b == -1:
for _z in flatten(z(n-1, c, -1)):
yield .5 * (1 - sqrt(1 - 4 * _z)) + c
yield .5 * (1 + sqrt(1 - 4 * _z)) + c
elif b == 1:
for _z in flatten(z(n - 1, c, 1)):
yield .5 * (1 - sqrt(1 - 4 * _z)) + c
yield .5 * (1 + sqrt(1 - 4 * _z)) + c
elif b is None:
yield flatten(z(n, c, -1))
yield flatten(z(n, c, 1))

So what has to be done with this code is to evaluate it with all possible values for c: That would then be the actual Meta-Mandelbrot Set. For any specific value of c, it's the Meta-Julia-set.

To find my potential closed form expression, I simply kept expanding larger and larger meta-iterations of the M-set as given at the start of the other thread, and I observed that the first few polynomial coefficients remained constant; the polynomial family converged to a limit which appears to be the expansion of $z\to\frac{1}{2} \left(1-sqrt{1-4z}\right)$ which is one of two inverses of $z \leftarrow z - z^2$, the other one being $z \to \frac{1}{2} \left(1+\sqrt{1-4z}\right)$. These two formulae are what the above functions iterate over.
It was relatively easy due to c not being involved in the iteration though. This new take also involves powers of c and thus it will be quite a bit tougher, I assume.
Though perhaps it's just as simple to do. Gotta expand a bunch of terms and see if any pattern emerges.
 « Last Edit: January 26, 2017, 12:55:15 PM by kram1032 » Logged
Chillheimer
Global Moderator
Fractal Iambus

Posts: 864

Just another fractal being floating by..

 « Reply #8 on: January 26, 2017, 04:34:11 PM »

uhhh fascinating!! thanks for sharing.
 Logged

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

http://fractal.institute
http://www.chillheimer.de/music
SamTiba
Navigator

Posts: 66

 « Reply #9 on: January 27, 2017, 12:58:18 AM »

I am somehow worrying about the small dots where the number of iterations get higher not beeing on the spiral-sequence.
Can you zoom in there, gds-entropy?
Or can someone confirm them or could it also be a bug?

I thought of finding nice known patterns for formulas aswell, already tried some things like for example the legendre polynoms.
They have special behaviours but nothing extraordinary yet. There are also some nice continous fractions I would like to try out, hopefully the result is stunning.
If anyone has ideas feel free to share!
 Logged

Some of my images: Pinterest
gds-entropy
Alien

Posts: 24

 « Reply #10 on: January 27, 2017, 08:55:04 PM »

I am somehow worrying about the small dots where the number of iterations get higher not beeing on the spiral-sequence.
Can you zoom in there, gds-entropy?
Or can someone confirm them or could it also be a bug?

Without having the source of Fractal Explorer I cannot really say if it is a bug or not. They no longer respond to their old e-mail at the Ukrainian government...anyone know how to contact them? I am trying to track them both down with LinkedIn and using academic routes. I wish I had bought a license to it when I had the chance in 2005.

In FE I am using 8192 iterations, N-Set Method, View As Julia, Log Counting |Z|-area, and Linear(Ident) within color control.

The [inside and outside] dots remain regardless of the settings I choose, with only a few exceptions that look like pure chaos so I couldn't tell the difference. They remain if I select Inverted too, albeit in a different place.
It may be a Fractal Explorer thing, maybe not; it does not manifest in UF when just calculating the raw fractal, it is just black inside. However the image generated by SamTiba has [outside] dots, though I cannot say their relation to the ones in my image, as I have no context.

The outside dots are tiny, complete copies of the fractal as a whole, rotated. I'll render one and upload it.

I'm not sure how useful that information is.

rsidwell from the UF forum was kind enough to make a UFM for me, in order to assist in migrating my formulae from FE to UF...those programs are so different... Honestly I much prefer FE for ease of use and all of the built in options...but alas, that infernal 16bit Formula Compiler fails to function without a 16 bit subsystem being in the newer windows...[I will try both XP Mode in win7 and a VM...]. With UF I'm essentially going to have to reverse engineer all of the modes that FE had...ugh...that is a lot of reimplementation work for what is essentially a solved problem.

Here is the UFM:

Code:
Ian1-M {
;
; Ian McDonald custom formula from the forum (Mandelbrot mode)
;
init:
z = (0,0)
c = #pixel
loop:
z = ((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))*(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))+(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z))))
bailout:
|z| <= @bailout
default:
title = "Ian1 Mandelbrot"
float param bailout
caption = "Bailout value"
default = 4.0
endparam
switch:
type = "Ian1-J"
seed = #pixel
bailout = bailout
}

Ian1-J {
;
; Ian McDonald custom formula from the forum (Julia mode)
;
init:
z = #pixel
c = @seed
loop:
z = ((((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))*(((z*z+c)*(z*z+c)+(c*c+z))*((z*z+c)*(z*z+c)+(c*c+z))+((c*c+z)*(c*c+z)+(z*z+c)))+(((c*c+z)*(c*c+z)+(z*z+c))*((c*c+z)*(c*c+z)+(z*z+c))+((z*z+c)*(z*z+c)+(c*c+z))))
bailout:
|z| <= @bailout
default:
title = "Ian1 Julia"
param seed
caption = "Seed"
default = (-0.1, 0)
endparam
float param bailout
caption = "Bailout value"
default = 4.0
endparam
switch:
type = "Ian1-M"
bailout = bailout
}
 « Last Edit: January 27, 2017, 09:01:08 PM by gds-entropy, Reason: added info » Logged
3dickulus
Fractal Senior

Posts: 1467

 « Reply #11 on: January 28, 2017, 06:29:24 AM »

this looks really interesting and a bit familiar, like something I found while investigating BioMorphs using Fragmentarium,
I tried your level 3 with the standard Mandelbrot.frag using this to calculate z... (i think I got it right?)
and in the spirit of the OP I thought I would share what I have too
Code:
for (i = 0; i < Iterations; i++) {
z = (
cMul(
(
cMul((cMul((cMul(z,z)+c),(cMul(z,z)+c))+(cMul(c,c)+z)),
(cMul((cMul(z,z)+c),(cMul(z,z)+c))+(cMul(c,c)+z)))+
(cMul((cMul(c,c)+z),(cMul(c,c)+z))+(cMul(z,z)+c))
),
(
cMul((cMul((cMul(z,z)+c),(cMul(z,z)+c))+(cMul(c,c)+z)),
(cMul((cMul(z,z)+c),(cMul(z,z)+c))+(cMul(c,c)+z)))+
(cMul((cMul(c,c)+z),(cMul(c,c)+z))+(cMul(z,z)+c))
)
)+
(
cMul((cMul((cMul(c,c)+z),(cMul(c,c)+z))+(cMul(z,z)+c)),
(cMul((cMul(c,c)+z),(cMul(c,c)+z))+(cMul(z,z)+c)))+
(cMul((cMul(z,z)+c),(cMul(z,z)+c))+(cMul(c,c)+z))
)
);
if (dot(z,z)> 100.0) break;
}
...c.x = -0.1077844 c.y = 0.0000000 image meta1.png

which looks similar to the biomorph plot of  z=z+z²+c
Code:
Power = 4;

vec2 Plot(vec2 a) {
vec2 b;
b.x = sqrt (a.x * a.x + a.y * a.y);
b.y = atan (a.y / a.x);
if ( a.x < 0.) b.y += 3.141592;
b.x = pow(b.x,float(Power));
b.y *= float(Power);
a.x = cos(b.y) * b.x;
a.y = sin(b.y) * b.x;
return a;
}

...
for (i = 0; i < Iterations; i++) {
z += Plot(z) + c;
if (dot(z,z)> 100.0) break;
}
...
...c.x=0.0416913 c.y=0.0000000 meta2.png

both of these images are at about 40 iterations
 meta1.png (117.55 KB, 400x400 - viewed 218 times.)  meta2.png (72.52 KB, 400x400 - viewed 218 times.)  BioMorph.frag (3.2 KB - downloaded 3 times.)  Metabrot.frag (2.66 KB - downloaded 6 times.) Logged

Resistance is fertile...
You will be illuminated!

#B^]
gds-entropy
Alien

Posts: 24

 « Reply #12 on: January 31, 2017, 12:49:34 AM »

I am somehow worrying about the small dots where the number of iterations get higher not beeing on the spiral-sequence.
Can you zoom in there, gds-entropy?

Here is the fractal found at: [which is one of the dots in the halo]
x: -0.589605376476377944
y:  0.162209338090551179

This is just to the upper left of the leftmost set of spirals.

https://www.flickr.com/photos/gds-entropy/31769659574/in/dateposted-public/
 MandelJuliaDot.jpg (22.7 KB, 240x240 - viewed 189 times.) Logged
gds-entropy
Alien

Posts: 24

 « Reply #13 on: January 31, 2017, 12:56:34 AM »

this looks really interesting and a bit familiar, like something I found while investigating BioMorphs using Fragmentarium,
I tried your level 3 with the standard Mandelbrot.frag using this to calculate z... (i think I got it right?)
and in the spirit of the OP I thought I would share what I have too

Thank you for sharing.

The first image is the closest I have seen yet, it is structurally identical from what I can tell.
Other interesting forms are at Real -0.2 and -0.1.

Here is the one for R-0.2:
https://www.flickr.com/photos/gds-entropy/32052371270/in/dateposted-public/
 MandelJuliaR-0.2.jpg (22.38 KB, 240x240 - viewed 189 times.) Logged
DarkBeam
Global Moderator
Fractal Senior

Posts: 2498

Fragments of the fractal -like the tip of it

 « Reply #14 on: January 31, 2017, 08:58:01 AM »

It reminds me the Spider fractint formula. Also I wonder what happens when you expand the massive product
 Logged

No sweat, guardian of wisdom!
 Pages: [1] 2 3 4   Go Down