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.
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
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
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.
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);
En vous remerciant d'avance de l'aide apportée.
Bonne journée!
Bilineata.
Partager