# 3D: Get linear velocity from position and angular velocity

I want to find out the linear velocity of a point in 3D space, (Euclidean), given:

• Its position
• Its angular velocity
• The point it's rotating around (fulcrum)

(This is a problem I need to solve for 3D graphics programming with a physics engine).

The position of the point and position of the pivot point will be 3-value vectors, $x$, $y$ and $z$.

The angular velocity will also be a 3-value vector, representing Euler angles.

What operation(s) would I need to perform to calculate the linear velocity of the point?

The 3d/physics engine has various high level mathematical operations including matrix, vector and quaternion operations, so hopefully what I need is among those.

-

Let $\vec r_0(t)$ denote the point around which the object is rotating and $\vec r(t)$ the position of the object. Then the fact that the particle is rotating around the point $\vec r_0(t)$ can be formalized by the mathematical statement that $$\vec r(t) - \vec r_0(t) = R(t) \vec c$$ for some constant vector $\vec c$ and time-dependent rotation $R(t)$. It follows that $$\dot{\vec r}(t) - \dot{\vec r}_0(t) = \dot R(t) \vec c = \dot R(t)R(t)^{-1}(\vec r(t) - \vec r_0(t)) = \vec \omega(t)\times (\vec r(t) - \vec r_0(t))$$ (the last equality is a standard result about rotations) so we have the final result $$\dot{\vec r}(t) =\dot{\vec r}_0(t)+\vec \omega(t)\times (\vec r(t) - \vec r_0(t))$$ which is what you were looking for I believe.

Cheers!

-

The relation between angular velocity $\vec{\omega}$, position $\vec{r}$ (assuming rotation around the origin) and tangential velocity $\vec{v}$ (which is what you are asking for) is given by

$\vec{\omega}=\frac{\vec{r}\times\vec{v}}{\mid\vec{r}\mid^2},$

where $\times$ is the cross product and $\mid\vec{r}\mid^2$ the norm of the position vector squared. You can write down this equation component-wise to get three equations for three unknown variables (the components of $\vec{v}$) and solve them algebraically.

-