# What is the method for calculating the instantaneous angular velocity for an arbitrary 3D trayectory?

I am working on a simulation of a point moving in an elliptical 3D trayectory as shown in the image .

I wish to calculate the angular velocity vector of the motion . In this case I can't supose a single axis of rotation for all the trayectory because the orientation of the axis is changing every instant of time . Is there any method for calculating the angular velocity vector given the position at every instant of time ?

• Generally the answer would be the cross product $\vec{\omega}=\vec{r}\times\vec{v}/|\vec{r}|^2$ where $\vec{r}$ is the position with respect to the origin (which may change with time) and $\vec{v}$ is the velocity. But it depends on precisely how you want to define the 'angle'. Perhaps you'd prefer to project the trajectory onto a plane first? – lemon Nov 21 '17 at 16:52

The usual definition is this: first, pick an origin. Let the position of the particle with respect to the origin be $\vec{x}(t)$ and $\dot{\vec{x}}(t)=\vec{v}(t)$. We can then decompose the velocity vector into a part that is parallel to the line from the origin to the particle and a perpendicular part. If $\hat{x} = \vec{x}/|\vec{x}|$ then $\vec{v}_{\parallel} = (\vec{v}\cdot \hat{x})\hat{x}$ and $\vec{v}_\perp =\vec{v}-(\vec{v}\cdot \hat{x})\hat{x}$.
Then if we use the cross product to define $\vec{\omega} = (\hat{x}\times\vec{v})/|\vec{x}|$ we can always get the perpendicular part of the velocity back via $$\vec{\omega}\times\vec{x} = \vec{v}_\perp$$ where that equality follows from the definition of $\vec{\omega}$ and some cross product identities.