Помощь - Поиск - Пользователи - Календарь
Полная версия: Множество Жюлиа на pascalABC.NET
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
valerianka97
вот программа по множеству Жюлиа (для 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 div 2;
My := windowheight div 2;
for y := -my to my do
for x := -mx to mx do
begin
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) do
begin
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 mod 16),60*(16 - n mod 16),140*(16 - n mod 16)));
end;
end.
OCTAGRAM
Думаю, это здесь
  c.x := 0.11;
c.y := -0.66;
valerianka97
Помогите пожалуйста переделать программу, написанную для 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 div 2;
My := windowheight div 2;
for y := -my to my do
for x := -mx to mx do
 begin
  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) do
   begin
    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 mod 16),60*(16 - n mod 16),140*(16 - n mod 16)));
  end;
 end.
Федосеев Павел
Замените строки
  c.x := -2;
c.y := 0;
на
  c.x := 0.1;
c.y := 0.1;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.