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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.