Фигуры Лиссажу и рекурсивный алгоритм заливки в затравкой

Ответить
katbka
Сообщения: 1
Зарегистрирован: 07 ноя 2010, 22:56

Необходимо каждый сегмент залить отдельным цветом рекурсивным алгоритмом с затравкой.
Вот что у меня получается, а точнее не получается:

Код: Выделить всё

uses Graph,crt;

const
a=80;w1=2;w2=10;

var
driver,mode,x1,y1,x2,y2,t,color:integer;

procedure Figure(w1,w2:integer);
begin
 driver:=9;
 mode:=0;
 initgraph(driver,mode,'');
 for t:=1 to 1000 do
   begin
   setcolor(white);
   x1:=100+round(a*cos(w1*t / (180/Pi)));
   y1:=100+round(a*sin(w2*t / (180/Pi)));
   x2:=100+round(a*cos(w1*(t+1) / (180/Pi)));
   y2:=100+round(a*sin(w2*(t+1) / (180/Pi)));
   line(x1,y1,x2,y2);
   end;
end;

procedure Fill(x,y,color1,color2:integer);
begin
 driver:=9;
 mode:=0;
 initgraph(driver, mode,'');
 if((GetPixel(x,y)<>color1)and(GetPixel(x,y)<>color2))
 then
  begin
  PutPixel(x,y,color2);
  Fill(x+1,y,color1,color2);
  Fill(x,y+1,color1,color2);
  Fill(x-1,y,color1,color2);
  Fill(x,y-1,color1,color2);
  end;
end;
begin
  Figure(w1,w2);
  ReadKey;
  color := random(256);
  Fill(random(320),random(200),white, color);
  ReadKey;
end.
Подскажите пожалуйста, что не так?
Заранее всем спасибо.
Ответить