Fraktály

 

Fraktály. 1

Mandelbrotova množina. 1

Implementácia. 1

Ukážka. 1

Juliova množina. 2

Definícia Juliovej množiny pre komplexné číslo c. 2

Implementácia. 2

Ukážka. 2

Sierpinskeho trojuholník. 2

Implementácia. 2

Ukážka. 3

 

Mandelbrotova množina

Implementácia

%mandelbrot.m
% Mandelbrotova mnozina
obr=0;
for x=1:400
    xv=(x-300) / 200;
    for y=1:400
        yv=(y-200) / 200;
        z(1)=(xv) + (yv) * i;
        for n=2:100
            z(n)=(z(n-1))^2 + z(1);
            if abs(z(n)) > 2
                obr(y,x) = n;
                break
            end
        end
    end
end
image(obr);

Ukážka

Juliova množina

Definícia Juliovej množiny pre komplexné číslo c

Majme dané nejaké komplexné číslo c. Juliova množina pre toto komplexné číslo je množina všetkých komplexných čísel d, ktoré spĺňajú nasledujúcu podmienku:

·        Pomocná postupnosť komplexných čísel {z1, z2, z3, z4, ...}, získaná iterovaním vzorca zn+1 = zn2 + c, ktorej prvý člen z1 = d, je ohraničená.

Implementácia

%julia.m
% Juliova mnozina
obr=0;
c=-0.787+0.213*i;
for x=1:400
    xv=(x-200) / 200;
    for y=1:400
        yv=(y-200) / 200;
        z(1)=(xv) + (yv) * i;
        for n=2:100
            z(n)=(z(n-1))^2 + c;
            if abs(z(n)) > 2
                obr(y,x) = n;
                break
            end
        end
    end
end
image(obr);

Ukážka

Juliova množina pre c=-0.787+0.213*i

Sierpinskeho trojuholník

Implementácia

%Sierpinskeho trojuholnik
 
numPoints=80000;
theImage = zeros(1000,1000);
 
corners = [866 1;1 500;866 1000];
startPoint = [866 1];
theRand = rand(numPoints,1);
theRand = ceil(theRand*3);
 
for i=1:numPoints
   startPoint = floor((corners(theRand(i),:)+startPoint)/2);
   theImage(startPoint(1),startPoint(2)) = 1;
end
 
imagesc(theImage);colormap([1 1 1;0 0 0]);
axis equal tight

Ukážka