I want to show that a rigid body, with two components of its angular velocity vector and one component of its linear velocity vector, in the absence of external forces and torques, has helical trajectories. This is usually taken for granted in various papers I have read (see for example this p.4 section 4, or this p.206 first paragraph).

I consider a moving rigid body whose centre of mass is located at a point $\boldsymbol{r}_{0}(t)$ in the laboratory frame of reference defined by the basis vectors $\boldsymbol{e}_{x},\boldsymbol{e}_{y},\boldsymbol{e}_{z}$. I attach a moving frame of reference $\left\{ \boldsymbol{r}_{0}(t);\boldsymbol{e}_{x}^{\prime}(t),\boldsymbol{e}_{y}^{\prime}(t),\boldsymbol{e}_{z}^{\prime}(t)\right\} $ to the body; this frame is centred at $\boldsymbol{r}_{0}(t)$ and its axes rotate with the frame of the body. The rotating triad $\left(\boldsymbol{e}_{x}^{\prime},\boldsymbol{e}_{y}^{\prime},\boldsymbol{e}_{z}^{\prime}\right)$ can be characterised by three Euler angles $\theta_{1},\theta_{2},\theta_{3}$ and the following transformation rules:

$$ \mathbf{e}_{i}^{\prime}=\boldsymbol{L}\left(\theta_{1},\theta_{2},\theta_{3}\right)\cdot\mathbf{e}_{i} $$

I adopt the Tait-Bryan angle convention, with an $y-x^{\prime\prime}-z^{\prime}$ intrinsic definition:$\theta_{1}$ is the yaw (anticlockwise around $e_{y}$), $\theta_{2}$ the pitch (anticlockwise around $e_{x}^{\prime}$) and $\theta_{3}$ the bank (roll, anticlockwise around $e_{z}^{\prime}$). For brevity, I define the vector $\boldsymbol{\theta}=\left(\theta_{1},\theta_{2},\theta_{3}\right)$ of the three independent Euler angles. The matrix of the transformation is $$\boldsymbol{L}\left(\boldsymbol{\theta}\right)=\boldsymbol{R}_{Z}\left(\theta_{3}\right)\boldsymbol{R}_{X}\left(\theta_{1}\right)\boldsymbol{R}_{Y}\left(\theta_{2}\right)$$ where the $\bf R_i$ are the rotation matrices in $\mathbb{R}^3$. I assume that the body has linear velocity $\boldsymbol{U}(t)=U\boldsymbol{e}_{z}^{\prime}(t)$ oriented along its anterior-posterior axis $\boldsymbol{e}_{z}^{\prime}(t)$, and rotational velocity vector $\boldsymbol{\omega}(t)$. In the chosen representation, the components of angular velocity in the body's frame of reference are

\begin{align*} \omega_{x} & =\dot{\theta}_{2}\cos\theta_{1}-\dot{\theta}_{3}\sin\theta_{1}\cos\theta_{2}\\ \omega_{y} & =\dot{\theta}_{1}+\dot{\theta}_{3}\sin\theta_{2}\\ \omega_{z} & =\dot{\theta}_{2}\sin\theta_{1}+\dot{\theta}_{3}\cos\theta_{1}\cos\theta_{2}. \end{align*}

These can be found by noticing that $$\boldsymbol{L}^{T}\dot{\boldsymbol{L}}=\left(\begin{array}{ccc} 0 & -\omega_{z} & \omega_{y}\\ \omega_{z} & 0 & -\omega_{x}\\ -\omega_{y} & \omega_{x} & 0 \end{array}\right)$$

The trajectory of the body is therefore given by the curve traced by its centre of mass $\boldsymbol{r}_{0}$ as it moves through space. In the laboratory frame, this reads $$\boldsymbol{r}_{0}(t)=\intop_{0}^{t}\boldsymbol{U}\left(\tau\right)d\tau=U\intop_{0}^{t}\boldsymbol{e}_{z}^{\prime}\left(\tau\right)d\tau$$

Clearly, $\boldsymbol{e}_{z}^{\prime}$ rotates with the body, and therefore is a function of time through the angular velocity components $\omega_{i}$: \begin{align*} \boldsymbol{e}_{z}^{\prime}(t) & =\boldsymbol{L}(t)\cdot\boldsymbol{e}_{z}\\ & =\left(\cos\theta_{3}\sin\theta_{1}+\cos\theta_{1}\sin\theta_{2}\sin\theta_{3}\right)\boldsymbol{e}_{x}+\left(-\cos\theta_{1}\cos\theta_{3}\sin\theta_{2}+\sin\theta_{1}\sin\theta_{3}\right)\boldsymbol{e}_{y}+\left(\cos\theta_{1}\cos\theta_{2}\right)\boldsymbol{e}_{z} \end{align*}

$$ \text{where }\ \theta_{i}=\intop_{0}^{t}\dot{\theta}_{i}d\tau. $$

The problem is complicated, because in order to integrate $\boldsymbol{e}_{z}^{\prime}$ I have to invert the relationships between $\omega_{i}$ and $\theta_{j}$. Notice that I am keeping all three components of the angular velocity here, to see at what point and to what extent having only two rotational degrees of freedom is necessary.

However, even if I assume that the angular velocities are constant $\theta_{i}=\theta_{i}t$, I do not get expressions that contain $\omega_i$ explicitly. Is there another approach that makes use of $\boldsymbol{L}^{T}\dot{\boldsymbol{L}} = \boldsymbol{\omega}\times$?

  • $\begingroup$ I'm not sure that I understand your question. You want to show that 2 components of the angular velocity and a component of linear velocity always have an helical trajectory. Are we assuming that no net torque nor forces are applied? Or are we being completely general and working with arbitrary forces? $\endgroup$
    – Shamaz
    Commented Apr 7, 2019 at 17:52
  • $\begingroup$ Thanks for pointing this out. Net external force and torque are zero. And yes, my question is exactly this. Why in the presence of two components $\omega_x,\omega_z$ of the angular velocity, and one $U_z$ of the linear velocity, I should always obtain an helical trajectory. $\endgroup$ Commented Apr 7, 2019 at 18:08
  • $\begingroup$ So there is no $\omega _y$ component nor $U_x $ and $U_y$ components? $\endgroup$
    – Shamaz
    Commented Apr 7, 2019 at 22:03
  • $\begingroup$ That's right. But in principle, if there was also $\omega_y$, the literature seems to imply that I would obtain a helix anyway. $\endgroup$ Commented Apr 8, 2019 at 9:15
  • 1
    $\begingroup$ In absence of forces, the trajectory of the centre of mass is a straight line, not an helix. The references you give, are of microbes swimming in water, thus they have external forces? For free body, see Goldstein, Classical mechanics, Chapter 5.6. $\endgroup$
    – patta
    Commented Apr 8, 2019 at 15:03

4 Answers 4


The problem is complicated, because in order to integrate $\boldsymbol{e}_{z}^{\prime}$ we have to invert the relationships between $\omega_{i}$ and $\theta_{j}$. Let us assume that the angular velocities are constant and take the small angle approximation: \begin{align*} \dot{\theta}_{i}=\text{const.}\ \ \Longrightarrow\ \ \theta_{i}(t)=\dot{\theta}_{i}t \end{align*} the small angle approximation implies that the angular velocity components in the body frame become: \begin{align*} \Omega_{x} & \approx\dot{\theta}_{2}\\ \Omega_{y} & \approx\dot{\theta}_{1}\\ \Omega_{z} & \approx\dot{\theta}_{3} \end{align*}

With these assumptions we obtain: \begin{align*} \boldsymbol{e}_{z}^{\prime}(t) & =\cos\theta_{3}\sin\theta_{1}\boldsymbol{e}_{x}+\sin\theta_{1}\sin\theta_{3}\boldsymbol{e}_{y}+\cos\theta_{1}\boldsymbol{e}_{z}\\ & =\cos\left(\Omega_{z}t\right)\sin\left(\Omega_{y}t\right)\boldsymbol{e}_{x}+\sin\left(\Omega_{y}t\right)\sin\left(\Omega_{z}t\right)\boldsymbol{e}_{y}+\cos\left(\Omega_{y}t\right)\boldsymbol{e}_{z} \end{align*} which can be integrated in order to derive $\boldsymbol{r}_{0}(t)$: \begin{align*} \boldsymbol{r}_{0}(t) & =U\intop_{0}^{t}\boldsymbol{e}_{z}^{\prime}\left(\tau\right)d\tau=\frac{U}{\Omega_{y}-\Omega_{z}}\left[\Omega_{y}-\Omega_{y}\cos\left(\Omega_{y}t\right)\cos\left(\Omega_{z}t\right)-\Omega_{z}\sin\left(\Omega_{y}t\right)\sin\left(\Omega_{z}t\right)\right]\boldsymbol{e}_{x}\\ & \hspace{8em}+\frac{U}{\Omega_{y}-\Omega_{z}}\left[-\Omega_{y}\cos\left(\Omega_{y}t\right)\sin\left(\Omega_{z}t\right)+\Omega_{z}\sin\left(\Omega_{y}t\right)\cos\left(\Omega_{z}t\right)\right]\boldsymbol{e}_{y}\\ & \hspace{8em}+\frac{U}{\Omega_{y}}\sin\left(\Omega_{y}t\right)\boldsymbol{e}_{z} \end{align*} This is in general a complex and very intriguing curve, but we will limit our study here to the case where $\Omega_{y}\ll\Omega_{z}$. A series expansion of $\boldsymbol{r}_{0}$ around $\Omega_{y}$ yields \begin{align*} \boldsymbol{r}_{0}(t) & \approx\frac{U\Omega_{y}}{\Omega_{z}}\left[1+\cos\left(\Omega_{z}t\right)+\Omega_{z}t\sin\left(\Omega_{z}t\right)\right]\boldsymbol{e}_{x}+\frac{U\Omega_{y}}{\Omega_{z}}\left[-\Omega_{z}t\cos\left(\Omega_{z}t\right)+\sin\left(\Omega_{z}t\right)\right]\boldsymbol{e}_{y}+t\boldsymbol{e}_{z}\\ & =\underset{\text{circular helix}}{\underbrace{\left(\begin{array}{c} r\cos\left(\Omega_{z}t\right)\\ r\sin\left(\Omega_{z}t\right)\\ t \end{array}\right)}}+\underset{\text{spiral}}{\underbrace{\left(\begin{array}{c} t\ \Omega_{z}r\sin\left(\Omega_{z}t\right)\\ -t\ \Omega_{z}r\cos\left(\Omega_{z}t\right)\\ 0 \end{array}\right)}}+\underset{\text{axis shift}}{\underbrace{r\left(\begin{array}{c} 1\\ 0\\ 0 \end{array}\right)}} \end{align*}

The growth rate of the spiral is very small, $\dot{\rho}=U\Omega_{y}/\Omega_{z}^2\ll U$, due to the approximation $\Omega_{y}\ll\Omega_{z}.$ Hence, the trajectory is a quasi-circular helix of radius $r$.


The purpose of this post is to demonstrate how to calculate an inverse from the body frame to reference after performing rotations in the body frame using the Tait-Bryan angles https://upload.wikimedia.org/wikipedia/commons/5/53/Taitbrianzyx.svg

Some of material is identical to OP's post but the emphasis is on the order of rotations and keeping track of the multiple body frames induced by the body rotations.

In the end, it makes the calculation of the inverse transformation from the body frame to the reference frame and the angular velocities easier.

On the other hand, if may be over kill for the problem.

Reference frame: $R=(X,Y,Z).$

Body frame: $r=(x,y,z).$

Euler angles: $(\psi,\theta,\phi).$

First rotation: heading angle $\psi$, where $0 \leq \psi\leq 2\pi$ - is the positive rotation $\psi$ about the $x$ axis to frame $r^{'}=(x^{'},y^{'},z^{'})$. The body frame $r$ coincides with reference frame $R$.

Second rotation: attitude angle $\theta$, where $-\pi/2 \leq \theta \leq \pi/2$ - positive rotation about $y^{'}$ axis to frame $r^{''}=(x^{''},y^{''},z^{''})$.

Third rotation: banking angle $\phi$, where $0 \leq \theta \leq 2\pi$ - positive rotation about about $x^{''}$ axis to frame $r=(x,y,z)$

$$[\psi] = \begin{bmatrix} cos(\psi) & sin(\psi) & 0 \\ -sin(\psi) & cos(\psi) & 0 \\ 0 & 0 & 1\\ \end{bmatrix} $$

$$[\theta]= \begin{bmatrix} cos(\theta) & 0 & -sin(\theta) \\ 0 & 1 & 0 \\ sin(\theta) & 0 &cos(\theta)\\ \end{bmatrix} $$

$$[\phi] = \begin{bmatrix} 1 &0 & 0 \\ 0 &cos(\phi) & sin(\phi) \\ 0 &-sin(\phi) &cos(\phi)\\ \end{bmatrix} $$

$$[r{'}]=[\psi][R]$$ $$[r{''}]=[\theta][r{'}]$$ $$[r]=[\phi][r{''}]$$



where $[\phi]$,$[\theta]$, and $[\psi]$ are matrices, and $R$,$r$,$r{'}$,$r{''}$ are vectors.

Since $[\phi]$,$[\theta]$, and $[\psi]$ are orthogonal in the sense $det[\psi] = 1$, etc., then $[\psi]^T=[\psi]^{-1}$, etc. and the inverse transformation is

$$[R]=[\psi]^{T}[\theta]^{T}[\phi]^{T}[r].$$ For $\dot\psi$ along $z{'}$, $\dot{\phi}$ along $x^{''}$ and $x$, $\dot{\theta}$ along $y^{'}$ and $y^{''}$ $$\omega=\dot\psi + \dot{\theta} +\dot\phi$$


$$[\dot\phi]=[\dot\phi,0,0]^{T}$$ $$[\dot\theta]=[0,\dot\theta,0]^{T}$$ $$[\dot\psi]=[0,0,\dot\psi]^{T}.$$ The angular velocities are $$\omega_{x}=\dot\phi-\dot\psi sin(\theta)$$ $$\omega_{y}=\dot\theta cos(\phi)+\dot\psi cos(\theta)sin(\phi)$$ $$\omega_{z}=\dot\psi cos(\theta)cos(\phi)-\dot\theta sin(\phi).$$


I have a general answer to prove this. The first step is to establish the instantaneously the object moves about a rotation axis with a parallel translation (helical motion). Then since the velocity components are specified and enforced (forces are needed for this) the conditions for helical motion persist over time.

So take a rotating object with rotational velocity $\vec{\omega}$, and having linear velocity $\vec{v}$ at some specified point.


Next, decompose the velocity vector along the rotation axis, and perpendicular to it


and notice that the parallel vector can be described by a scalar value $h$ such that $$ \vec{v}_\parallel = h\, \vec{\omega}$$ also the perpenducular vector is explained by moving the rotation axis off center to a location $\vec{r}$ such that $$ \vec{v}_\perp = \vec{r} \times \vec{\omega}$$


To decompose the velocity along parallel and perpenducular vectors $$ \vec{v} = \vec{r} \times \vec{\omega} + h\, \vec{\omega}$$ use the position of the rotation $$ \vec{r} = \frac{ \vec{\omega} \times \vec{v} }{\| \vec{\omega} \|^2}$$

Similarly the scalar pitch $h$ is found by $$ h = \frac{ \vec{\omega} \cdot \vec{v} }{\| \vec{\omega} \|^2}$$


The result is that the motion of the rigid body can always decomposed into a rotation about an offset axis coupled with a parallel velocity to this axis.

The properties of the helix are as follows:

$$\begin{array}{r|l} \text{property} & \text{value} \\ \hline \text{magnitude} & \omega = \| \vec{\omega} \| \\ \text{direction} & \hat{z} = \frac{ \vec{\omega}}{ \omega} \\ \text{pitch} & h = \frac{\vec{\omega} \cdot\vec{v}}{\omega^2} \\ \text{location} & \vec{r} = \frac{\vec{\omega} \times \vec{v}}{\omega^2} \end{array}$$

and the motion from the helix is:

$$ \boxed{ \vec{v} = \omega \left( \vec{r} \times \hat{z} + h\,\hat{z} \right) } $$

The last part is to observe that for the helix to be unchanging in time, its direction, pitch and location needs to be unchanged. You can work out which components of velocity and rotation have to be specified for this to be a case. Hint: You will need specify 5 out of 6 components (3 linear and 3 angular), since the direction has 2 quantities (its magnitude doesnt matter), the pitch is scalar (1 quantity) and the position of the rotation axis has 2 quantities (since location along the axis doesn't count).

  • $\begingroup$ Thanks, I am still unsure about this being helical motion. Can you expand on this? Perhaps showing why the parametric 3D equations of such a trajectory are bound to be those of a helix? $\endgroup$ Commented Apr 10, 2019 at 21:50
  • $\begingroup$ It is what you get when you have rotation about an axis combined with parallel translation. The result is a helix. In mechanics, it is called screw motion. $\endgroup$ Commented Apr 11, 2019 at 11:36
  • 1
    $\begingroup$ @ja72: so the faster the object rotates, the slower the vertical rise. Also, can you calculate the curvature of the helix? How about the torsion? $\endgroup$ Commented Apr 11, 2019 at 21:17

Frenet Frame

See [Kinematics of the helical motion of organisms with up to six degrees of freedom] (link.springer.com/article/10.1007%2FBF02460302) referenced by the OP which uses the Frenet frame.

The Frenet frame or trihedron is used for describing the turning and twisting of curves in $R^3$.

There are 6 degree of freedom, namely, 3 degrees of freedom to fix a point in $R^3$, and 3 degrees of freedom to fix the $T$ tangent vector or a velocity vector to the point.

From these 6 degrees of freedom, all else follows, namely, the Frenet frame or trihedron.

The Frenet frame consists of 3 vector, namely, $T{'},N{'},B{'}$ which are calculated from $T$.

The vector $T{'}$ measures the curvature of the curve, and the vector $B{'}$ measures the torsion of the curve.

The parameter $s$ generates the trajectory.

Let $\beta:I\rightarrow R^3$ be the mapping of cylindrical helix curve in $R^3$ with $s$ in the open interval $0\lt s \lt1$ in $I$

$$\beta(s)=(a_{ } cos\frac{s}{c},a_{ }sin\frac{s} {c},\frac {bs}{c})$$

where $c=(a^2+b^2)^{1/2}$ and $a>0$.

The unit tangent vector to the curve $T$ is

$$T(s)=\beta{'}(s)=(-\frac {a}{c}sin\frac{s}{c},\frac {a}{c}cos\frac{s}{c},\frac {b}{c})$$

where $\beta{'}(s)$ is short hand for $\frac {d\beta(s)}{ds}$.


$$T^{'}(s)=\beta{''}(s)=(-\frac {a}{c^2}cos\frac{s} {c},-\frac {a}{c^2}sin\frac{s}{c},0)$$

and the curvature is

$$\kappa(s)=||T^{'}(s)||=\frac {a}{c^2}=\frac{a}{a^2+b^2} > 0$$

Since $T^{'}=\kappa N$, where $N$ is the normal vector $$N(s)=(-cos\frac{s}{c},-sin\frac{s}{c},0)$$

which always points toward the axis of the cylinder on which $\beta(s)$ lies regardless of values of $a$ and $b$.

Using the cross product, $B=T\times N$ gives

$$B(s)=(\frac {b}{c}sin\frac{s}{c},-\frac {b}{c} cos\frac{s}{c},\frac {a}{c})$$

To compute the torsion, by definition, $B{'}=-\tau N$

$$B^{`}(s)=(\frac {b}{c^2}cos\frac{s}{c},\frac {b}{c^2} sin\frac{s}{c},0)$$

which implies

$$\tau=\frac {b}{c^2}=\frac {b}{a^2+b^2}$$

In summary, the Frenet frame consists of the 3 orthonormal vectors

$$T{'}=\kappa N $$ $$N{'}=-\kappa T +\tau B$$ $$B{'}=-\tau N,$$

The first equation is the definition of curvature and last equation is the definition of torsion - both equations were calculated directly from the $T$ vector. The second equation has been written as orthonormal expansion of the first and last equations.


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.