function ctyrkloubak
% teleso:
% hmota: M = [m m I],
% souradnice stredu + uhel natoceni: x = [x y alfa],
% pocatecni rychlost: v = [v1 v2 v3],
% tisk telesa: xtisk, ytisk,
% vnejší zatizeni: Q.
%
% vazba
% rotacni: 
% typ: 1,
% teleso 1: T1,
% teleso 2: T2,
% polohovy vekror: xr.
%
% posuvna:
% typ: 2,
% teleso 1: T1,
% teleso 2: T2,
% polohovy vekror: xr,
% normala: n = [n1 n2].

% definice teles
m2 = 1;
I2 = 0.5;
m3 = 1;
I3 = 0.5;
m4 = 0.5;
I4 = 0.5;

x1 = [0 0];
x2 = [0.5,0.5];
x3 = [3,2];
x4 = [3.1,0];

M2 = 0;

C{1} = struct('M',[0 0 0],'x',[0 0 0]','v',[0 0 0]','xtisk',[0 0],'ytisk',[0 0],'Q',[0 0 0]); % ram
C{2} = struct('M',[m2 m2 I2],'x',[(x1+x2)/2 0]','v',[0 0 0]','xtisk',[x1(1) x2(1)],'ytisk',[x1(2) x2(2)],'Q',[0 0 M2]);
C{3} = struct('M',[m3 m3 I3],'x',[(x2+x3)/2 0]','v',[0 0 0]','xtisk',[x2(1) x3(1)],'ytisk',[x2(2) x3(2)],'Q',[0 0 0]);
C{4} = struct('M',[m4 m4 I4],'x',[(x3+x4)/2 0]','v',[0 0 0]','xtisk',[x3(1) x4(1)],'ytisk',[x3(2) x4(2)],'Q',[0 0 0]);

% definice vazeb
V{1} = struct('typ',1,'T1',2,'T2',1,'xr',x1');
V{2} = struct('typ',1,'T1',2,'T2',3,'xr',x2');
V{3} = struct('typ',1,'T1',3,'T2',4,'xr',x3');
V{4} = struct('typ',1,'T1',4,'T2',1,'xr',x4');
V{5} = struct('typ',3,'T1',2,'alfa','-5*t*(1-exp(-t))');

dt = 0.01;
grav = [0 -9.81 0];
n_iter = 500;

% spusteni simulace
[C,V,t] = run(C, V, grav, dt, n_iter, 1);

% tisk teleso
tisk_teleso(t,C,2);
tisk_teleso(t,C,3);
tisk_teleso(t,C,4);

% tisk vazeb
tisk_reakce(t,V,2);









