Vés al contingut

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

Benoît Mandelbrot durant el 2007.

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.

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]
Viquipèdia A la Viquipèdia hi ha contingut enciclopèdic relatiu a Benoît Mandelbrot.



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



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