Cette page présente l'utilisation du produit vectoriel pour la conversion de vitesses linéaires en vitesses angulaires (ou l'inverse).
Considérons le corps C, en rotation autour du point O. La vitesse linéaire du point A est donnée par \( \vec{V} \).
La vitesse angulaire autour du point O est donnée par:
$$ \vec{\omega} = \frac {\vec{OA} \times \vec{V}} { \| \vec{OA} \| ^2 } $$
En supposant maintenant que la vitesse angulaire est connue, la vitesse linéaire au point A est donnée par:
$$ \vec{V} = \vec{\omega} \times \vec{OA} $$
Le code Matlab suivant montre comment convertir la vitesse angulaire en vitesse linéaire et vice versa:
close all;
clear all;
clc;
%% Parameters
% Coordinates of point O
O=[0;0;0];
% Coordinates of point A
A=[1;2;0];
% Coordinates of point B
B=[2;1;0];
% Speed applied at point A
VA=[0;2;0];
%% Compute angular velocity
% Compute vector OA
vOA=A-O;
% Compute angular speed around point A
wO=cross (vOA,VA)/(norm(vOA)*norm(vOA));
%% Compute linear speed at point B
vOB=B-O;
VB=cross(wO,vOB);
%% Draw system
plot3(O(1),O(2),O(3));
hold on;
line ([O(1) A(1)],[O(2) A(2)],[O(3) A(3)]);
line ([O(1) B(1)],[O(2) B(2)],[O(3) B(3)]);
text(O(1)+0.2,O(2)+0.2,O(3)+0.2,'O','FontSize',100);
text(A(1)+0.2,A(2)+0.2,A(3)+0.2,'A','FontSize',100);
text(B(1)+0.2,B(2)+0.2,B(3)+0.2,'B','FontSize',100);
% Draw speed at point A
hFA=quiver3 (A(1),A(2),A(3),VA(1),VA(2),VA(3),'Color','k','LineWidth',3,'MaxHeadSize',1.5);
% Draw speed at point O
hTO=quiver3 (O(1),O(2),O(3),wO(1),wO(2),wO(3),'Color','g','LineWidth',3,'MaxHeadSize',1.5);
% Draw speed at point B
hFB=quiver3 (B(1),B(2),B(3),VB(1),VB(2),VB(3),'Color','r','LineWidth',3,'MaxHeadSize',1.5);
% Display axis and legends
grid on;
axis square equal;
xlabel('X');
ylabel('Y');
zlabel('Z');
legend ([hFA,hTO,hFB],'Linear speed at point A','Angular velocity a point O','Linear speed at point B');