Problème de compréhension de code
Bonjour,
J'aimerai savoir quelles sont les formules utilisées dans ces deux série de codes:
Le premier correspond a une translation et rotation de coordonnées.
Code:
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
| %Coordonnées: Temps[1] - Museau[2,3] - Axis[4,5] - Hip[6,7] -
%Proie1[8,9]
tic
% close all;
% Name = uigetfile('*.xls','Fichier à traiter');
Coord=xlsread(Name,'Data1');
Name=Name(1:length(Name)-4)
[Coord0] = OpenCoord(Coord);
%Dans un repère lié au cou (translation) - Coord1
Coord1=ones(size(Coord0));
Coord1(:,1)=Coord0(:,1);
X=Coord0(:,4);
Y=Coord0(:,5);
for i=2:2:size(Coord0,2)-1
Coord1(:,i)=Coord0(:,i)-X;
Coord1(:,i+1)=Coord0(:,i+1)-Y;
end
%Dans un repère lié à la tête (rotation) - Coord2
AngHead = f_Ang1(Coord1);
c=cos(AngHead);
s=sin(AngHead);
Coord2=ones(size(Coord1));
Coord2(:,1)=Coord1(:,1);
for i=2:2:size(Coord1,2)-1
Coord2(:,i)=Coord1(:,i).*c+Coord1(:,i+1).*s;
Coord2(:,i+1)=-Coord1(:,i).*s+Coord1(:,i+1).*c;
end |
Le second correspond a un calcul d'angle.
Code:
1 2 3 4 5 6 7 8
| function [AngHead] = f_Ang1(Coord)
AngHead = [];
for i = 1:size(Coord,1)
Xd = Coord(i,2) ; Yd = Coord(i,3); %Coordonnées museau
Ang = atan2(Yd,Xd);
AngHead = [AngHead ; Ang];
end
AngHead=unwrap(AngHead); |
Je tiens à préciser que je ne sais pas comment fonctionne matlab, je désire simplement comprendre et extraire les formules pour les utiliser à partir du jeu de coordonnées impliqué dans les calculs de matlab.
En vous remerciant d'avance de l'aide apportée.
Bonne journée!
Bilineata.