Bonjour,
j'ai un problème très URGENT à régler et j'espère que vous allez pouvoir m'aider.
Je suis débutant en programmation Matlab.
Je m'explique. J'ai récupérer un code sur internet qui permet d'interpoler des points en 3D selon des splines. L'unité de mes trois axes est le mètre. Je souhaiterais pouvoir récupérer, disons tout les mètres pour commencer, les coordonnées des points qui ont été interpolé au millimètre près.
Le pb est que je suis débutant et je ne comprends pas très bien les programme d'interpolation que j'ai récupéré, mais il marche. Le *.m que j'exécute est le suivant :
Voila, j'espère que c'est possible et que vous allez pouvoir m'aider rapidement !Code:function[]=test(txt) n=100; % number of intervals (i.e. parametric curve would be evaluted n+1 times) M=dlmread(txt); % txt : matrice de coordonnées X=M(:,1); Y=M(:,2); Z=M(:,3); Px=[X]; Py=[Y]; Pz=[Z]; figure hold on plot3(Px,Py,Pz,'ro','linewidth',2) Tension=0; for k=1:length(Px)-3 MatOut3]=crdatnplusoneval([Px(k),Py(k),Pz(k)],[Px(k+1),Py(k+1),Pz(k+1)],[Px(k+2),Py(k+2),Pz(k+2)],[Px(k+3),Py(k+3),Pz(k+3)],Tension,n); % Between each pair of control points plotting n+1 values of first three rows of MatOut plot3(MatOut3(1,:),MatOut3(2,:),MatOut3(3,:),'b','linewidth',2) end title('\bf3D Cardinal Spline') view(3); box;
Merci d'avance
-----