AlephZero said:
The "easy" way to get over that hurdle is to use Euler angles and a Lagrangian formulation instead.
Don't do that!
http://www.google.com/search?client=safari&rls=en&q="Euler+angles+are+evil"&ie=UTF-8&oe=UTF-8".
This first result is covered in most upper-level mechanics course: The relationship between time derivative of a vector quantuty in a rotating versus non-rotating frame.
Suppose we have two reference frames that share the same origin but one has inertial axes while the other is rotating at some rate [itex]\vect \omega[/itex] with respect to this inertial frame. The time derivative of some vector quantity [itex]\vect q[/itex] depends on the observer's reference frame:
[tex]
\left(\frac {d\vect q}{dt}\right)_I =<br />
\left(\frac {d\vect q}{dt}\right)_R + \vect \omega \times \vect q[/tex]
This can be applied to the problem of rigid body rotational dynamics to get a tensor/vector based version of Euler's equations for a rigid body.
Let
[tex]
\begin{matrix}<br />
\mathbf I &\text{\ be the inertia matrix for some body} \\<br />
\vect \omega &\text{\ be the rotation rate of the body with respect to inertial}<br />
\end{matrix}[/tex]
where both [itex]\mathbf I[/itex] and [itex]\vect \omega[/itex] are represented in the coordinates of the rotating body (body frame coordinates).
The angular momentum of the body with respect to inertial represented in body frame coordinates is
[tex]\vect L = \mathbf I\;\vect \omega[/itex]<br />
<br />
Differentiating with respect to time,<br />
<br />
[tex]\left(\frac {d\vect L}{dt}\right)_R =<br />
\frac {d\mathbf I}{dt}\;\vect \omega +<br />
\mathbf I\;\frac {d\vect \omega}{dt}[/itex]<br />
<br />
Using the generic relation for the time derivative of a vector quantity,<br />
<br />
[tex]\left(\frac {d\vect L}{dt}\right)_I =<br />
\frac {d\mathbf I}{dt}\;\vect \omega +<br />
\mathbf I\;\frac {d\vect \omega}{dt} +<br />
\vect\omega\times(\mathbf I\;\vect \omega)[/tex]<br />
<br />
The rotational equivalent of Newton's second Law is<br />
<br />
[tex]\left(\frac {d\vect L}{dt}\right)_I = \vect N[/tex]<br />
<br />
where [itex]\vect N[/itex] os the net external torque acting on the body.<br />
<br />
Combining the above,<br />
<br />
[tex]
\frac {d\mathbf I}{dt}\;\vect \omega +<br />
\mathbf I\;\frac {d\vect \omega}{dt} +<br />
\vect\omega\times(\mathbf I\;\vect \omega) = \vect N[/tex]<br />
<br />
Note that if [itex]\mathbf I[/itex] is constant, the above reduces to<br />
<br />
[tex]
\mathbf I\;\frac {d\vect \omega}{dt}<br />
= \vect N - \vect\omega\times(\mathbf I\;\vect \omega)[/tex]<br />
<br />
The term [itex]\vect\omega\times(\mathbf I\;\vect \omega)[/itex] is the rotational analog of the Coriolis force.<br />
<br />
Finally, Euler's equations result in the special case of [itex]\mathbf I[/itex] being a diagonal matrix.[/tex][/tex]