вот программа по множеству Жюлиа (для z2+c). что в ней нужно исправить, чтоб она работала для z2-2?
uses GraphABC;
type TComplex = record
X,Y : Real;
end;
const iter = 50;
max = 16;
var z, t, c : TComplex;
x, y, n : Integer;
mx, my : Integer;
begin
Randomize;
Mx := windowwidth div2;
My := windowheight div2;
for y := -my to my dofor x := -mx to mx dobegin
n := 0;
z.x := x * 0.005;
z.y := y * 0.005;
c.x := 0.11;
c.y := -0.66;
while (sqr(z.x) + sqr(z.y) < max) and (n < iter) dobegin
t := z;
z.x := sqr(t.x) - sqr(t.y) + c.x;
z.y := 2*t.x*t.y + c.y;
Inc(n);
end;
if n < iter then SetPixel(mx + x,my + y,clBlack)
else SetPixel(mx + x,my + y,RGB(10*(16 - n mod16),60*(16 - n mod16),140*(16 - n mod16)));
end;
end.
OCTAGRAM
8.02.2017 2:14
Думаю, это здесь
c.x := 0.11;
c.y := -0.66;
valerianka97
9.02.2017 0:41
Помогите пожалуйста переделать программу, написанную для z²-2 на программу для функции z²+0,1+0,1i
uses GraphABC;
type TComplex = record
X,Y : Real;
end;
const iter = 50;
max = 16;
var z, t, c : TComplex;
x, y, n : Integer;
mx, my : Integer;
begin
Randomize;
Mx := windowwidth div2;
My := windowheight div2;
for y := -my to my dofor x := -mx to mx dobegin
n := 0;
z.x := x * 0.005;
z.y := y * 0.005;
c.x := -2;
c.y := 0;
while (sqr(z.x) + sqr(z.y) < max) and (n < iter) dobegin
t := z;
z.x := sqr(t.x) - sqr(t.y) + c.x;
z.y := 2*t.x*t.y + c.y;
Inc(n);
end;
//цвета подбирайте какие нравятся
if n < iter then SetPixel(mx + x,my + y,clBlack)
else SetPixel(mx + x,my + y,RGB(10*(16 - n mod16),60*(16 - n mod16),140*(16 - n mod16)));
end;
end.
Федосеев Павел
9.02.2017 12:55
Замените строки
c.x := -2;
c.y := 0;
на
c.x := 0.1;
c.y := 0.1;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.