This page explains how to use the cross product to convert linear velocity to angular velocity (or the reverse).
Let's consider the body C, rotating around the point O. The linear speed of point A is given by \( \vec{V} \).
The angular velocity around O is given by :
$$ \vec{\omega} = \frac {\vec{OA} \times \vec{V}} { \| \vec{OA} \| ^2 } $$
Assuming the angular velocity is known, the linear speed at point A is given by:
$$ \vec{V} = \vec{\omega} \times \vec{OA} $$
The following Matlab code shows how to convert linear velocity to angular velocity and 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');