function dvojite_kyvadlo

m2 = 1;
I2 = 1;
m3 = 1;
I3 = 1;
m4 = 1;
I4 = 1;

x1 = [0 0];
x2 = [1 0];
x3 = [2 0];
x4 = [3 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 0]);
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',3,'T2',2,'xr',x2');
V{3} = struct('typ',1,'T1',4,'T2',3,'xr',x3');

dt = 0.01;
grav = [0 -9.81 0];
n_iter = 2000;

% spusteni simulace
[C,V,t] = run(C, V, grav, dt, n_iter, 3);

tisk_teleso(t,C,2);
tisk_teleso(t,C,3);
tisk_teleso(t,C,4);

tisk_reakce(t,V,1);