{Lissajousove obrazce}
uses graph,crt;
var a,GD,GM:integer;
x,y,xx,yy,xxa,yya,x1,y1:real;
c:string;
label skok,start,skok2;
begin
start:;
 initgraph(GD,GM,'c:\bp\bgi');
clearviewport;
 a:=0;
outtextxy(30,0,'[?] na konci > |ENTER|=znovu   |nieco|=end');
outtextxy(30,10,'zadaj pomernu f vertikal.vlnenia a jeho zac. fazu-stupne');
 readln(yy);
 readln(yya);
outtextxy(30,20,'zadaj pomernu f horizont.vlnenia a jeho zac. fazu-stupne ');
 readln(xx);
 readln(xxa);
repeat
  a:=a+1;
  {parametre xxv a yyv su na nastavovanie amplitudy}
  x1:=sin(( pi *xx/3000)*(a-1)+(pi*xxa)/180)*160{*xxv};
  y1:=sin(( pi *yy/3000)*(a-1)+(pi*yya)/180)*160{*yyv};
  x:=sin(( pi *xx/3000)*a+(pi*xxa)/180)*160{*xxv};
  y:=sin(( pi *yy/3000)*a+(pi*yya)/180)*160{*yyv};
  {Nevykresluje len body ale usecky}
  line(round(300+x1),round(250-y1),round(300+x),round(250-y));
  delay(1);
until KeyPressed;
readln(c);
if c='' then goto start;
end.
