1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
function v=fit3(A,B,C,donnee)
% par exemple :
%A=[1 3 5];B=[1 7 0];C=[2 6 1];donnee=0:10;
p=[A;B;C];
ab=sqrt((p(2,:)-p(1,:))*(p(2,:)-p(1,:))');
M=zeros(3,3);
M(:,1)=(p(2,:)-p(1,:))'/ab;
x3=(p(3,:)-p(1,:))*M(:,1);
ac2=(p(3,:)-p(1,:))*(p(3,:)-p(1,:))';
y3=sqrt(ac2-x3^2);
M(:,2)=((p(3,:)-p(1,:))-x3*M(:,1)')/y3;
M(1,3)=M(2,1)*M(3,2)-M(3,1)*M(2,2);
M(2,3)=M(1,2)*M(3,1)-M(1,1)*M(3,2);
M(3,3)=M(1,1)*M(2,2)-M(2,1)*M(1,2);
Xe=[0 ab x3];
Ye=[0 0 y3];
P=polyfit(Xe,Ye,1);
syms X x
V=[X; P(1)*X+P(2); 0];
v=M*V+p(1,:)';
X=solve(v(1)-x,X);
x=donnee;
X=eval(X);
v=eval(v);
plot3(v(1,:),v(2,:),v(3,:));hold on
plot3(p(:,1),p(:,2),p(:,3),'*k')
grid
xlabel('X');ylabel('Y');zlabel('Z'); |
Partager