function kulisov_mech
clear all;
clc;

% definice teles
m2 = 1;
I2 = 0.5;
m3 = 1;
I3 = 0.5;
m4 = 0.1;
I4 = 0.05;
m5 = 0.1;
I5 = 0.05;
m6 = 1;
I6 = 0.5;

x1 = [0 0];
x2 = [0,-4];
x4 = [2,4];
x3 = x2+ 2/3*(x4-x2);
x5 = [0,5];

M2 = -2;

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+x3)/2 0]','v',[0 0 0]','xtisk',[x1(1) x3(1)],'ytisk',[x1(2) x3(2)],'Q',[0 0 M2]);
C{3} = struct('M',[m3 m3 I3],'x',[(x2+x4)/2 0]','v',[0 0 0]','xtisk',[x2(1) x4(1)],'ytisk',[x2(2) x4(2)],'Q',[0 0 0]);
C{4} = struct('M',[m4 m4 I4],'x',[x3 0]','v',[0 0 0]','xtisk',[x3(1) x3(1)],'ytisk',[x3(2) x3(2)],'Q',[0 0 0]);
C{5} = struct('M',[m5 m5 I5],'x',[x4 0]','v',[0 0 0]','xtisk',[x4(1) x4(1)],'ytisk',[x4(2) x4(2)],'Q',[0 0 0]);
C{6} = struct('M',[m6 m6 I6],'x',[x5 0]','v',[0 0 0]','xtisk',[x5(1)-3 x4(1) x4(1) x4(1) x5(1)+6],'ytisk',[x5(2) x5(2) x5(2)-3 x5(2) x5(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',4,'xr',x3');
V{3} = struct('typ',1,'T1',3,'T2',1,'xr',x2');
V{4} = struct('typ',2,'T1',4,'T2',3,'xr',x3','n',[-(x4(2)-x2(2)) (x4(1)-x2(1))]);
V{5} = struct('typ',1,'T1',3,'T2',5,'xr',x4');
V{6} = struct('typ',2,'T1',5,'T2',6,'xr',x4','n',[1 0]);
V{7} = struct('typ',2,'T1',6,'T2',1,'xr',x5','n',[0 1]);
% V{8} = struct('typ',3,'T1',2,'alfa','-5*t');

dt = 0.02;
grav = [0 -9.81 0];
n_iter = 500;

% spusteni simulace
[C,V,t] = run(C, V, grav, dt, n_iter, 5);

tisk_teleso(t,C,6);

tisk_reakce(t,V,6);





