Discussion:
Cubic Julia IFS models for for the Mandelbrot set
(too old to reply)
Roger Bagula
2007-07-18 20:10:33 UTC
Permalink
The Dolitin- Morozov model on page103
of their book " The Universal Mandelbrot set"
if c=4/9+delta: ( about delta =0.02 or so the parts come together)
f(x)=c*x^3+x^2
My own version of the German Becker's cubic is:
a0 = 1 + 5/9
sd = Sqrt[7]
g(x)=(x^3 + (a0)*x^2 - (x/(a0) - 1))/sd
I formed the Bezier between the two as: ( delta=0)
h(x)=p*g(x)+(1-p)*f(x)
I also animated the D-M version, but it is significantly poorer in quality
as a Mandelbrot set approximation.
I posted both animations at active Mathematica at Yahoo egroups.

Respectfully, Roger L. Bagula
11759Waterhill Road, Lakeside,Ca 92040-2905,tel: 619-5610814
:http://www.geocities.com/rlbagulatftn/Index.html
alternative email: ***@sbcglobal.net

Mathematica for the Bezier:
Clear[x, y, a, b, z, w, f, fa, ga, ha, f1, f2, f3, r]
a0 = 1 + 5/9
sd = Sqrt[7]
b0 = 4/9
f0[r_] := p*(r^3 + (a0)*r^2 - (r/(a0) - 1))/sd + (1 - p)*(b0*r^3 + r^2)
fa[w_] = N[r] /. NSolve[f0[r] - w == 0, r][[1]];
ga[w_] = N[r] /. NSolve[f0[r] - w == 0, r][[2]];
ha[w_] = N[r] /. NSolve[f0[r] - w == 0, r][[3]];
z = x + I*y;
(*Wellin IFS program type*)(*
Diskfraction*)f1[{x_, y_}] = {Re[fa[z]], Im[fa[z]]};
f2[{x_, y_}] = {Re[ga[z]], Im[ga[z]]};
f3[{x_, y_}] = {Re[ha[z]], Im[ha[z]]};
f4[{x_, y_}] = {2*(y/x)/(1 + (y/x)^2)/2, (1 - (y/x)^2)/(1 + (y/x)^2)/2};

f[x_] := Which[(r = Random[]) ≤ 1/4, f1[x], r ≤ 2/4, f2[x], r ≤ 3/4,
f3[x], r ≤ 1.00, f4[x]]
ifs[n_] := Show[Graphics[{PointSize[.001], Map[Point, NestList[f,
{0.000001, 0}, n]]}], AspectRatio -> Automatic]
Table[ifs[10000], {p, 0, 1, 0.1}]
Roger Bagula
2007-07-19 23:20:47 UTC
Permalink
Instead of an IFS this is a regular iterative calculation
of the Julia in 25 parts.

Clear[nz, f0, g, arraym, a0, b0, sd, p]
a0 = 1 + 5/9;
sd = Sqrt[7];
b0 = 4/9;
f0[r_] := p*(r^3 + (a0)*r^2 - (r/(a0) - 1))/sd + (1 - p)*(b0*r^3 + r^2)
3D Julia of Mandelbrot like cubic Bezier
(*Julia with SQRT(x^2 + y^2) limited measure*)
(*by R. L. BAGULA 19 July 2007 © *)
numberOfz2ToEscape[z_] := Block[
{escapeCount, nz = N[z], nzold = 0},
For[
escapeCount = 0,
(Sqrt[Re[nz]^2 + Im[nz]^2] < 16) && (escapeCount <
255) && (Abs[nz - nzold] > 10^(-3)),
nzold = nz;
nz = f0[nz];
++escapeCount
];
escapeCount
]
FractalPureM[{{ReMin_, ReMax_, ReSteps_},
{ImMin_, ImMax_, ImSteps_}}] :=
Table[
numberOfz2ToEscape[x + y I],
{y, ImMin, ImMax, (ImMax - ImMin)/ImSteps},
{x, ReMin, ReMax, (ReMax - ReMin)/ReSteps}

]

p = n/26;
Table[ListDensityPlot[FractalPureM[{{-3.5, 1.5, 100}, {-2.5, 2.5, 100}}],
Mesh -> False,
AspectRatio -> Automatic,
ColorFunction -> (Hue[2#] &)];, {n, 1, 25}]
Respectfully, Roger L. Bagula
11759Waterhill Road, Lakeside,Ca 92040-2905,tel: 619-5610814 :http://www.geocities.com/rlbagulatftn/Index.html
alternative email: ***@sbcglobal.net
Roger Bagula
2007-07-21 13:39:41 UTC
Permalink
The cubic polynomial has many faults;
amoung them are:
1) size ( cubic Julias are usuaklly bigger in size)
2) placement of bilateral bulbs in the y direction
3) lack of the antenna structure associated with the Mandelbrot set.

The general polynomial simulation model goes like this :

Limit[x^2+Sum[a(i)*x^i,{i,0,Infinity}]-> f(x)=x^2+c

The theory goes that the polynomial:

p(x)=Sum[a(i)*x^i,{i,0,Infinity}]

is a reconstruction of the attractor roots such that the Julia iteration
mimics the Mandelbrot set exactly.

Two polynomial Julias that demonstrate this approach are:
cubic: ( based loosely on the Boris Solomyak function: * On the
`Mandelbrot set' for pairs of linear maps: asymptotic self-similarity,
<http://www.math.washington.edu/%7Esolomyak/PREPRINTS/asymp2.ps> */
Nonlinearity /* 18 * (2005), 1927--1943.
http://www.math.washington.edu/~solomyak/PREPRINTS/fractal.html)
f(r)=(r^2 + (1 - r - r^2 + r^3)/3)
pentic:
f(r)=(r^2 + (1 - r - r^2 + r^3 - r^4 + r^5)/5)

Another less successful polynomial I found is:
g[x_] = ExpandAll[(x + .6557)*(x - 0.2616574221163778` -
0.8516078436906926*I*(x - 0.2616574221163778` + 0.8516078436906926`*I)]

An animation of a Bezier between a cubic and a pentic:
a0 = 1 + 5/9;
sd = Sqrt[7];

f0[r_] := p*(r^3 + (a0)*r^2 - (r/(
a0) - 1))/sd + (1 - p)*(r^2 + (1 - r - r^2 + r^3 - r^4 + r^5)/5)
3D Julia of Mandelbrot like cubic to pentic Bezier
(*Julia with SQRT(x^2 + y^2) limited measure*)
(*by R. L. BAGULA 21 July 2007 © *)
numberOfz2ToEscape[z_] := Block[
{escapeCount, nz = N[z], nzold = 0},
For[
escapeCount = 0,
(Sqrt[Re[nz]^2 + Im[nz]^2] < 16) && (
escapeCount < 255) && (Abs[nz - nzold] > 10^(-3)),
nzold = nz;
nz = f0[nz];
++escapeCount
];
escapeCount
]
FractalPureM[{{ReMin_, ReMax_, ReSteps_},
{ImMin_, ImMax_, ImSteps_}}] :=
Table[
numberOfz2ToEscape[x + y I],
{y, ImMin, ImMax, (ImMax - ImMin)/ImSteps},
{x, ReMin, ReMax, (ReMax - ReMin)/ReSteps}

]

p = n/26
Table[ListDensityPlot[FractalPureM[{{-3.5, 1.5, 100}, {-2.5, 2.5, 100}}],
Mesh -> False,
AspectRatio -> Automatic,
ColorFunction -> (Hue[2#] &)];, {n, 1, 25}]
Roger Bagula
2007-07-21 14:12:48 UTC
Permalink
Animation on the web of two kinds of iterations IFS and regular:
http://www.mathematica-users.org/mathematica/images/4/42/j_Mcubic_bezier_twokinds.avi
Loading...