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.


2 Answers 2


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.



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


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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.