Фрактал Hopalong

Hopalong.jpg

Построить фрактал Hopalong.

Данный фрактал рисуется с использованием формул:
x'=y-sign(x)*sqrt(abs(b*x-c))
y'=a - x

x' и y' - эти значения, которые вычисляются на основании значений, полученых на предыдущем шаге.

Меняя параметры a, b и c можно получить совершенно разные изображения(см. прикреплённые изображения).

Примеры параметров: a=0.4, b=1,с=0.
a=1, b=4,с=60.
a=-1, b=-2,с=-3.
a=-1000, b=0.1,с=-10.

Uses Graph, Crt;
Var
   x, t, y  : Real;
   sign     : Integer;
   n        : Integer;
   gd, gm   : Integer;
Begin
   gd := Detect;
   InitGraph(gd,gm,'d:\bp\bgi'); \\инициализируем графику
\\инициализируем начальные данные
   x:=0;
   y:=0;
   n:=0;
   While Not KeyPressed Do Begin
     t:=x; \\запоминаем значение x вычисленное на предыдущем шаге
     if x>0 then sign:=1  \\запоминаем знак x
     else sign :=-1; 
     x:=y-sign*sqrt(abs(4*x-60));  \\вычисляем новое значение x
     y:=1-t;  \\вычиляем новое значение y
     inc(n);
     PutPixel(round(x*2)+320,round(y*2)+240,n mod 16)  \\рисуем очередную точку
   End;
   Readkey;
   CloseGraph;
end.

Ключевые слова: 
фрактал Hopalong
ВложениеРазмер
Hopalong.rar232.02 кб