// Функция для рисования множества Мандельброта на BitMap (Delphi 7)
рrосеdurе TForm1.DrawMandelbrot;
var
X, Y: Integer;
CRe, CIm, ZRe, ZIm, ZRe2, ZIm2: Double;
Iter: Integer;
begin
for X := 0 to Bitmap.Width - 1 do
for Y := 0 to Bitmap.Height - 1 do
begin
CRe := (X - Bitmap.Width / 2 + Offset.X) * Zoom / 200;
CIm := (Y - Bitmap.Height / 2 + Offset.Y) * Zoom / 200;
ZRe := 0;
ZIm := 0;
Iter := 0;
while (ZRe * ZRe + ZIm * ZIm < 4) and (Iter < 100) do
begin
ZRe2 := ZRe * ZRe - ZIm * ZIm + CRe;
ZIm2 := 2 * ZRe * ZIm + CIm;
ZRe := ZRe2;
ZIm := ZIm2;
Inc(Iter);
end;
if Iter < 100 then
Bitmap.Canvas.Pixels[X, Y] := RGB(Iter * 2, Iter, Iter * 3)
else
Bitmap.Canvas.Pixels[X, Y] := clBlack;
end;
end;