%% Coordonnées initial du point B et C
clear
Xa=0;
Ya=0;
Za=0;
Xa1=0;
Ya1=0.4;
Za1=0;
Ax=0;
Ay=0;
Az=1;
A1x=0;
A1y=0;
A1z=1;
AB = 0.4;
BC = 0.3;
A1C = 0.4;
alpha_init = 0*pi/180;
%Xc = Xb + tan(alpha_init)*(Yc-Yb)
x=[Xa+AB Ya Za Ya1 Za1];
for k=2:10
%Equation et dérivées partielles relatives à la distance AB
f = (Xa-x(k-1,1))^2+(Ya-x(k-1,2))^2+(Za-x(k-1,3))^2-AB^2;
f1 = -2*Xa+2*x(k-1,1);
f2 = -2*Ya+2*x(k-1,2);
f3 = -2*Za+2*x(k-1,3);
f4 = 0;
f5 = 0;
%Equation et dérivées partielles relatives à la distance A1C.
g = (Xa1-x(k-1,1)-tan(alpha_init)*(x(k-1,4)-x(k-1,2)))^2+(Ya1-x(k-1,4))^2+(Za1-x(k-1,5))^2-A1C^2;
g1 = -2*Xa1+2*x(k-1,1)+2*tan(alpha_init)*(x(k-1,4)-x(k-1,2));
g2 = 2*(Xa1-x(k-1,1)-tan(alpha_init)*(x(k-1,4)-x(k-1,2)))*tan(alpha_init);
g3 = 0;
g4 = -2*(Xa1-x(k-1,1)-tan(alpha_init)*(x(k-1,4)-x(k-1,2)))*tan(alpha_init)-2*Ya1+2*x(k-1,4);
g5 = -2*Za1+2*x(k-1,5);
%Equation et dérivées partielles relatives à la distance BC.
h = tan(alpha_init)^2*(x(k-1,4)-x(k-1,2))^2+(x(k-1,2)-x(k-1,4))^2+(x(k-1,3)-x(k-1,5))^2-A1C^2;
h1 = 0;
h2 = 2*x(k-1,3)-2*x(k-1,5);
h3 = -2*x(k-1,5)+2*x(k-1,3);
h4 = 2*tan(alpha_init)^2*(x(k-1,4)-x(k-1,2))+2*x(k-1,4)-2*x(k-1,2);
h5 = -2*x(k-1,3)+2*x(k-1,5);
%Equation et dérivées partielles relatives à la direction de la
%droite AB par rapport à la direction de la liaison pivot en A.
i = (Xa-x(k-1,1))*Ax+(Ya-x(k-1,2))*Ay+(Za-x(k-1,3))*Az;
i1 = -Ax;
i2 = -Ay;
i3 = -Az;
i4 = 0;
i5 = 0;
%Equation et dérivées partielles relatives à la direction de la
%droite A1C par rapport à la direction de la liaison pivot en A1.
j = (x(k-1,1)+tan(alpha_init)*(x(k-1,4)-x(k-1,2))-Xa1)*A1x+(x(k-1,4)-Ya1)*A1y+(x(k-1,5)-Za1)*A1z;
j1 = A1x;
j2 = -A1x*tan(alpha_init);
j3 = 0;
j4 = A1y+A1x*tan(alpha_init);
j5 = A1z;
diff=inv([f1 f2 f3 f4 f5 ;g1 g2 g3 g4 g5 ;h1 h2 h3 h4 h5;i1 i2 i3 i4 i5;j1 j2 j3 j4 j5]);
xy=[x(k-1,1) x(k-1,2) x(k-1,3) x(k-1,4) x(k-1,5)]'-diff*[f,g,h,i,j]';
x(k,1)=xy(1);
x(k,2)=xy(2);
x(k,3)=xy(3);
x(k,4)=xy(4);
x(k,5)=xy(5);
end
Xb=x(k,1);
Yb=x(k,2);
Zb=x(k,3);
Yc=x(k,4);
Zc=x(k,5);