%program wygeneruje obrazek o szerokości m pikseli i proporcji zależnej od zakresu układu wsp. n = floor(m * (y_max - y_min)/(x_max - x_min)); unit = (x_max - x_min)/m; Mal = zeros(n,m,3);

C_0 = x_min + 1i*y_max; C = C_0;

%Tutaj zaczynają się parametry kolorowania w1 = 50; w2 = 50; w3 = 50;

p1 = 2.2; p2 = 2.2; p3 = 2.2;

c1 = 1/4; c2 = 1/2; c3 = 3/4;

f1 = @(x) exp(-w1*abs(x-c1).^p1); f2 = @(x) exp(-w2*abs(x-c2).^p2); f3 = @(x) exp(-w3*abs(x-c3).^p3); %koniec kolorowania

for i = 1:n C = C - real(C) + real(C_0); for j = 1:m c = checkC(0, C, iterations) / iterations; Mal(i,j,1) = f1(c); Mal(i,j,2) = f2(c); Mal(i,j,3) = f3(c); %Mal(i,j:) = c; %gdy chcemy zbiór czarno biały C = C + unit; end C = C - 1i*unit; end

imshow(Mal);

Użyta w skrypcie funkcja sprawdzająca zbieżność ciągu: function [ it_used ] = checkC(z_0, C, it_max )

for i = 0:it_max z_1 = z_0^2 + C; if abs(z_1) >= 2 break; end z_0 = z_1; end

it_used = i; end

Zobacz też mnich Mandelbrota MPSolve – obliczanie punktów centralnych składowych zbioru Mandelbrota płonący statek

Przypisy

Bibliografia

Linki zewnętrzne

Polskojęzyczne Łukasz Lamża, Gdzie jest zbiór Mandelbrota?, „Tygodnik Powszechny”, tygodnikpowszechny.pl, 10 marca 2015 [dostęp 2026-02-23]. Informacje o fraktalu i kod w różnych językach programowania