Desenvolupament de fractals mitjançant el mètode de Mandelbrot

El mètode de Mandelbrot és un mètode dissenyat per a desenvolupar "objectes fractals" i que fou va ser creat per Benoît Mandelbrot a la dècada dels anys 70, mentre treballava a IBM.

Benoît Mandelbrot durant el 2007.

Bases generals del mètode

modifica

Consisteix en, per cada punt del pla complex C=(Cx,Ciy), iterar una funció arbitrària sumant en cada iteració aquest punt. Així doncs : Fn+1(x,iy) = Fn(x,iy) + (Cx,Ciy) Totes les iteracions parteixen dels punts x=0, iy=0, i quan la iteració convergeix s'acoloreix d'un color sòlid. La divergència a infinit és acolorida mitjançant un patró cromàtic progressiu.
El fractal derivat de la funció iterativa Z = Z2 + C s'anomena conjunt de Mandelbrot.

Z = Zm + C

modifica

A continuació es mostra una sèrie de fractals iterant les diferents potències de Z = Zm + C, segons el mètode de Mandelbrot.

Exemples de fractals del tipus Mandelbrot: Z = Zm + C

Tal com es pot veure en els exemples representats, el nombre de lòbuls es L = m - 1

Un breu viatge a les profunditats del fractal de Mandelbrot Z = Z2 + C

modifica

A continuació anem a endinsar-nos en el fractal clàssic de Mandelbrot, utilitzant el microscopi de molt elevada resolució que ens proporciona el càlcul iteratiu. Totes les ampliacions vénen precedides d'una imatge del fractal a escala 1:1 on podem apreciar la zona ampliada.

Ampliació zona 1

modifica

Centre de coordenades : Cx = 0.291811, Cy = 0.0144686

Ampliació zona 2

modifica

Centre de coordenades : Cx = -0.165643411, Cy = 0.656685704

Ampliació zona 3

modifica

Centre de coordenades : Cx = -0.755625, Cy = 0.06328125

Ampliació zona 4

modifica

Centre de coordenades : Cx = -0,1758752481899, Cy = 1,075392007
A continuació baixarem a gran profunditat, amb una ampliació de més de 2 milions i amb un nombre màxim de 6000 iteracions per pixel !

Ampliació zona XX

modifica

Centre de coordenades : Cx = 0,02816835288421, Cy = 0,63790834667330

Ara ens endinsarem en un lloc amb estranyes formes i colors, però a on podem apreciar perfectament les Formes del fractal de Mandelbrot ...

Z = Z-m + C

modifica

Exemples de fractals del tipus de Mandelbrot, amb potències negatives de Z.

Z = Zm + Cp

modifica

Pero, què passa quan fem Z = Zm + Cp ?. Tal com podeu veure en els següents exemples, el nombre de lòbuls és L = (m - 1) * p

Z = Zp / (1 + Zq) + C

modifica

Z = Zm + Z + C

modifica

A continuació es mostra una sèrie de fractals iterant les diferents potències de Z = Zm + Z + C, segons el mètode de Mandelbrot.

Z = Zm - Z + C

modifica

A continuació es mostra una sèrie de fractals iterant les diferents potències de Z = Zm - Z + C, segons el mètode de Mandelbrot.

Z = Zm + 1/C

modifica

També es pot transformar cada punt del pla complex, d'acord a una funció arbitrària, abans de ser adicionat a la funció iterativa, segons la següent equació Z = Zm + F(C) . Veiem que passa quan la transformació és del tipus: F(C) = 1 / C

Ejemples de fractals del tipus Mandelbrot: Z = Zm + 1/C, a on cada punt C del pla complex es transforma a 1/C, abans d'entrar en la iteració de la potència de Z.
Zo = (0,0i). El nombre de vèrtexs és V = (m - 1)

Pero, què passa quan fem Z = Zm + (1 / C2) ?. Doncs quelcom molt semblant, com podeu veure en els següents exemples, ara el nombre de vèrtexs és V = (m - 1) * p



Integrant en el mateix fractal una funció de C i la seva inversa Z = Zm + C .. i .. Z = Zm + 1/C

modifica

La zona en color BLANC intens és l'àrea d'intersecció dels 2 sets.

Z = ( Zm / Cm ) + C

modifica

Z = Zm + C + Cp + 1/ C + 1/ Cq

modifica

També podem afegir más sumants a la funció Zm, combinant C, Cm, 1/C y 1/Cp en grups de 2, 3 o 4, veiem que passa si agrupem C,C2, 1/C i 1/C2 en 2, 3 i 4 ..:


A continuació més combinacions amb altres exponents:

Z = Zm + polinomi de C

modifica

El cas de la funció: Z=Z2 + 1 /(Cm-1)

modifica

Z = Zm + polinomi mixt de C i Z

modifica

Podem sumar a Zm polinomis mixtes de C i Z, veiem què passa:

Z = Z2 + C/ (Z2 + k)

modifica

Z = Zm + Cp/Zq + C

modifica

Z= [(Zm+C-1) / (m*Zm-1+C- m)]2

modifica

Z= [(Z + Cm-1) / Cm]2

modifica

Z= [(Z + Cm-1) / Cm]3

modifica

Z= [(Z + Cm+1) / (Cm - 1)]2

modifica

Z= [(Z + Cm-1) / (Cm + 1)]2

modifica

Altres combinacions de Z i C

modifica

Més funcions de variable complexa

modifica

Però hi ha una àmplia varietat de funcions, en el domini dels nombres complexos, que poden ser iterades segons el mètode de Mandelbrot.
Vaig a citar aquí alguns exemples, explicitant la part real i la imaginària:

Exp(Z) = [ Exp(x) * Cos(y), Exp(x) * Sin(y)i ]
Sin(Z) = [ Sin(x) * ((Exp(y) + Exp(-y)) / 2), Cos(x) * ((Exp(y) - Exp(-y)) / 2)i ]
Cos(Z) = [ Cos(x) * ((Exp(y) + Exp(-y)) / 2), -Sin(x) * ((Exp(y) - Exp(-y)) / 2)i ]
SinH(Z) = [ Cos(y) * ((Exp(x) - Exp(-x)) / 2), Sin(Y) * ((Exp(x) + Exp(-x)) / 2)i ]
CosH(Z) = [ Cos(y) * ((Exp(x) + Exp(-x)) / 2), Sin(y) * ((Exp(x) - Exp(-x)) / 2)i ]
LN(Z) = [ 0.5 * Log(x * x + y * y), Atn(y / x)i ]
SQR(Z) = [ (x * x + y * y)^0.25 * Cos(0.5 * Atn(y/x)), (x * x + y * y)^0.25 * Sin(0.5 * Atn(y/x))i ]
ATN(Z) = [PI / 4 - (1 / 2) * Atn((1 - x^2 - y^2) / (2 * x)), -(1 / 4) * Log((1 - x^2 - y^2) ^2 + 4 * x^2) + (1 / 2) * Log((1 + y) ^2 + x^2)i]


Z = Zm + F(C)

modifica

A continuació alguns exemples de fractals per iteració de Z2, pero transformant C segons les funcions descrites anteriorment:

Fractals per iteració de Exp(Z)

modifica

La funció eZ es descompon en una part real i una imaginària: [Exp(x) * Cos(y), Exp(x) * Sin(y)i ]

Pot ser utilitzada com a funció iterativa o com a funció transformadora dels punts C = (Cx,Cyi), simultàniament:

Com a funció iterativa

modifica

Com a funció transformadora de C

modifica

Com a funció iterativa i transformadora de C, simultàniament

modifica

El cas de la funció Z = Exp[(Z2 + k * Z) / F(Cm)]

modifica

Aquesta funció és molt sensible a Zo, i també a el coeficient (k) que multiplica a Z. Veiem alguns exemples interessants:

El cas de la funció Zn+1 = Exp(Zn / C m)

modifica

El cas de la funció Zn+1 = Exp(Zn / C m) + C p

modifica

El cas de la funció Zn+1 = Exp(Znp / C p)

modifica

El cas de la funció Zn+1 = Znq * Exp(Zn / C p) + C

modifica

El cas de la funció Zn+1 = Exp[ Zn2 / (C m + C p) ]

modifica

Apareixen un nombre de lòbuls centrals = m, i un nombre d'arestes exteriors = p, sent m<p.

El cas de la funció Zn+1 = Znm * Exp[ Cos(Zn)] + 1/C

modifica

Apareixen un nombre d'arestes = m,

Fractals per iteració de Sin(Z)

modifica

Aquesta funció es descompon en una part real i una imaginària: Sin(Z) = [ Sin(x) * ((Exp(y) + Exp(-y)) / 2), Cos(x) * ((Exp(y) - Exp(-y)) / 2)i ]
Pot ser utilitzada com a funció iterativa o com a funció transformadora dels punts C = (Cx,Cyi), simultàniament:

Com a funció iterativa

modifica

Com a funció transformadora de C

modifica


Com a funció iterativa i transformadora de C, simultàniament

modifica

El cas de la funció Zn+1 = Sin(Zn * C m)

modifica

El cas de la funció Zn+1 = Sin(Zn / C m)

modifica

Fractals per iteració de Cos(Z)

modifica

Aquesta funció es descompon en una part real i una imaginària: ' Cos(Z) = [ Cos(x)*((Exp(y)+Exp(-y)) / 2), -Sin(x)*((Exp(y)-Exp(-y))/2)i ]
Pot ser utilitzada com a funció iterativa o com a funció transformadora dels punts C = (Cx,Cyi), simultàniament:

Com a funció iterativa

modifica

Com a funció transformadora de C

modifica

Com a funció iterativa i transformadora de C, simultàniament

modifica

El cas de la funció Zn+1 = Cos(Zn * C m)

modifica

El cas de la funció Zn+1 = Cos(Zn / C m)

modifica

Fractals per iteració de SinH(Z)

modifica

La funció Sinus Hiperbòlic es descompon en una part real i una imaginària: SinH(Z) = [ Cos(y) * ((Exp(x) - Exp(-x)) / 2), Sin(Y) * ((Exp(x) + Exp(-x)) / 2)i ]
Pot ser utilitzada com a funció iterativa o com a funció transformadora dels punts C = (Cx,Cyi), simultàniament:

Com a funció iterativa

modifica

Com a funció transformadora de C

modifica


Com a funció iterativa i transformadora de C, simultàniament

modifica

Fractals per iteració de CosH(Z)

modifica

La funció CoSinus Hiperbòlic es descompon en una part real i una imaginària: CosH(Z) = [ Cos(y) * ((Exp(x) + Exp(-x)) / 2), Sin(y) * ((Exp(x) - Exp(-x)) / 2)i ]
Pot ser utilitzada com a funció iterativa o com a funció transformadora dels punts C = (Cx,Cyi), simultàniament:

Com a funció iterativa

modifica

Fractals per iteració de combinacions de diferents funcions de Z o C

modifica

Més fractals segons el mètode de Mandelbrot

modifica

Aquí es mostra un ejemple d'iteració de dos funcions F(X) i F(Y), per ad.dició de cada un dels punts del pla C(X,Y), i la introducció d'una tercera funció F(Z) que desequilibra el punt de convergència.
Xn+1 = Xn - Sin(Yn) + C(X)
Yn+1 = Yn - Sin( Xn) + C(Y)
Zn+1 = Zn - Cos( Xn + Yn)

Bibliografia

modifica

Enllaços externs

modifica
  A la Viquipèdia hi ha contingut enciclopèdic relatiu a Benoît Mandelbrot.



  A la Viquipèdia hi ha contingut enciclopèdic relatiu a Fractal.



  A Wikimedia Commons hi ha contingut multimèdia relatiu a Desenvolupament de fractals mitjançant el mètode de Mandelbrot