%% Interaktyvus pratimas nr. 1. Judėjimo kreive aprašymas
% Interaktyvumui reikia turėti MATAB 2020a arba vėlesnę versiją, priešingu atveju galite keisti kreivės parametrus rankiniu būdu.
% Paskaitos metu kalbėjome apie tai, kad judėjimo kreive negalima aprašyti be trigonometrinių funkcijų. Šiame pratime mes nagrinėsime kreivę, kurią sudaro trys dalys: tiesės atkarpa, elipsės dalis ir apskritimo dalis. Kreivės parametrai yra šie:
% atkarpos ilgis;
% elipsės pusašės;
% apskritimo spindulys.
% Jūs galite keisti šiuos parametrus ir stebėti kaip keičiasi kreivės pavidalas, o išskleidę programos kodą galite suprasti, kaip yra aprašomas judėjimas kreive.
%
% Aprašome judėjimą tiesės atkarpa. Žinome, kad tiesės lygtis yra:
% y=kx+b.
% Šiuo atveju pagal nustatymus koeficientas k yra lygus 0. Galite keisti atkarpos ilgį.

start_x = 0;
start_y = 0;

linelen = 1.7;

check_x = start_x + linelen;
k = 0;

x1 = start_x:0.01:check_x;
y1 = start_y + k * x1;

%
% Aprašome judėjimą elipsės dalimi. Žinome, kad elipsės parametrinės lygtys atrodo taip:
% \left\lbrace \begin{array}{ll}
% x\left(\theta \;\right)= & x_0 +a\cdot \mathrm{cos}\left(\theta \right)\\
% y\left(\theta \right)= & y_0 +b\cdot \mathrm{sin}\left(\theta \;\right)
% \end{array}\right.,
% čia \left(x_0 ,y_0 \right) yra elipsės centro koordinatės.
% Šiuo atveju pagal nustatymus kampas \theta \in \left\lbrack -\frac{\pi }{2};0\right\rbrack. Galite keisti elipsės pusašes a ir b.

a = 2;
b = 4;

center_x = x1(end);
center_y = y1(end) + b;
theta = -pi/2:0.01:0;

x2 = center_x + a * cos(theta);
y2 = center_y + b * sin(theta);

x = [x1 x2];
y = [y1 y2];

%
% Aprašome judėjimą apskritimo dalimi. Žinome, kad apskritimo parametrinės lygtys atrodo taip:
% \left\lbrace \begin{array}{ll}
% x\left(\theta \;\right)= & x_0 +r\cdot \mathrm{cos}\left(\theta \right)\\
% y\left(\theta \right)= & y_0 +r\cdot \mathrm{sin}\left(\theta \;\right)
% \end{array}\right.,
% čia \left(x_0 ,y_0 \right) yra apskritimo centro koordinatės.
% Šiuo atveju pagal nustatymus kampas \theta \in \left\lbrack 0;\;\frac{\pi }{2}\right\rbrack. Galite keisti apskritimo spindulį r.

r = 3;

% Galime matyti kaip atrodo kreivė.


center_x = x2(end) - r;
center_y = y2(end);
theta = 0:0.01:pi/2;

x3 = center_x + r * cos(theta);
y3 = center_y + r * sin(theta);

x = [x x3];
y = [y y3];

plot(x,y)
xlim([min(x)-0.5 max(x)+0.5]);
ylim([min(y)-0.5 max(y)+0.5]);

%% Pabandykite patys:
% Pakeiskite kreivės aprašymą taip, kad judėjimas apskritimo lanku vyktų OX ašies didėjimo kryptimi (viso kito nelieskite).
% Pridėkite kelias papildomas dalis (kiek norite), kad kreivė taptų uždara. Stenkites, kad nebūtų aštrių kampų.