# lissajousovy obrazce jako animace
clear;
clc;
# vymazeme nastaveni vykreslovani
__gnuplot_raw__ "reset;";
# nastavuje opet vykresleni plnou carou
__gnuplot_set__ data style lines;
% 1. perioda
T1=input('Zadejte periodu T1: ');
% 2. perioda
T2=input('Zadejte periodu T2: ');
% 1. amplituda
a1=input('Zadejte amplitudu a1: ');
% 2. amplituda
a2=input('Zadejte amplitudu a2: ');
% fazovy posuv mezi skladanymi kmity v radianech
faze=input('Zadejte fazovy rozdil phi ve stupnich: ')/180*pi;
% mereni casu zacatku vypoctu
cas_spusteni = clock();
% nejmensi spolecny nasobek T1 a T2
T=lcm(T1,T2);
% pocet kroku
n=200;
% deleni casu a hodnoty souradnic
t=linspace(0,T,n);
x=a1*sin(2*pi/T1*t);
y=a2*sin(2*pi/T2*t+faze);
% vymazani pripadneho predchoziho obrazku 
clearplot
% vlastnosti obrazku
__gnuplot_set__ nokey
__gnuplot_set__ grid
__gnuplot_set__ mxtics
__gnuplot_set__ mytics
__gnuplot_set__ tics out
__gnuplot_set__ xlabel "x(m)"
__gnuplot_set__ ylabel "y(m)"
%__gnuplot_set__ decimalsign ','
axis([-a1, a1, -a2, a2],'equal')
hold on
for i=2:n-1
plot(x(i:i+1),y(i:i+1),"-b");
plot(x(i-1:i),y(i-1:i),"1");
%pause(0.05)
endfor
hold off
% vypiseme trvani vypoctu
celkovy_cas = etime(clock(), cas_spusteni);
disp(['Program bezel ',num2str(celkovy_cas),' sekund.']);
