On my own, I tried deriving the rotational kinetic energy for a rotating body with an arbitrary changing axis of rotation. What I did is use the formula:

$$T = \frac{1}{2}\omega^2 (\hat{n}^{T} \mathbf{I} \hat{n})$$

where $\mathbf{I}$ is the inertia tensor. I'll express everything with respect to the principle axis of rotation, so the tensor is diagonal. Also, $\hat{n}^T = (\cos \phi \sin \theta, \sin \phi \sin \theta, \cos \theta)$ is the unit vector in spherical coordinates with respect to the principle axis of rotations basis. The formula I'd get is:

$$T = \frac{1}{2}\omega^2(\sin^2\theta \cos^2\phi I_{xx} + \sin^2 \theta \sin^2 \phi I_{yy} + \cos^2 \theta I_{zz})$$

My intuition tells me this is correct. I tried comparing it with the one expressed with euler angles however I can't figure out how to make them equivalent. The formula with euler angles contains three time derivatives $\dot\theta, \dot\phi, \dot\psi$, but the one above contains the derivative of one coordinate $\omega$, which I believe is $\dot \psi$. What am I doing incorrectly.

  • $\begingroup$ Just like with translational motion , rotational motion is frame varrying. $\endgroup$
    – Cerise
    Nov 3, 2023 at 17:39
  • $\begingroup$ This is correct and I looked into it, however, I don't see how it would affect the equation. I am not taking the derivatives of the basis anywhere. $\endgroup$
    – Habouz
    Nov 3, 2023 at 17:43

2 Answers 2


Using the basis-vectors of the inertial frame, rotational kinetic energy (assuming center of mass is fixed) is

$$ T = \tfrac{1}{2} \boldsymbol{\omega}^\intercal \boldsymbol{L} = \tfrac{1}{2} \boldsymbol{\omega}^\intercal \mathbf{I} \,\boldsymbol{\omega} $$

where $\boldsymbol{\omega}$ is the rotational velocity vector, $\boldsymbol{L}$ the angular velocity vector, and $\mathbf{I}$ the mass moment of inertia tensor. All quantities are summed about the center of mass.

Now if you know the orientation (rotational transformation) of the body $\mathrm{R}(t)$ in terms of body-to-inertial matrix, and the body-fixed mass moment of inertia matrix $\mathbf{I}_{\rm body}$ then the above is

$$ T = \tfrac{1}{2} \boldsymbol{\omega}^\intercal \left( \mathrm{R} \mathbf{I}_{\rm body} \mathrm{R}^\intercal \right) \boldsymbol{\omega} $$

  • Now if you know that axis of rotation in the inertial frame, then $\boldsymbol{\omega} = \omega \,\boldsymbol{\hat{n}}$

    Kinetic energy is thus calculated with

    $$ T = \tfrac{1}{2} \omega^2 \left( \boldsymbol{\hat{n}}^\intercal \mathrm{R} \mathbf{I}_{\rm body} \mathrm{R}^\intercal \boldsymbol{\hat{n}} \right) $$

    Here the part in the parenthesis changes with time, as the orientation matrix changes. You can use Euler-Angles to encode the rotation, or use quaternions. Either way you need to calculated $\mathrm{R}$ first before doing any calculations on a rigid body.

  • If you know that axis of rotation in the body frame, then $\boldsymbol{\omega} = \omega \, \mathrm{R}\, \boldsymbol{\hat{n}}_{\rm body}$

    Kinetic energy is thus calculated with

    $$ T = \tfrac{1}{2} \omega^2 \left( \boldsymbol{\hat{n}}_{\rm body}^\intercal \mathbf{I}_{\rm body} \boldsymbol{\hat{n}}_{\rm body} \right) $$ Note that if the axis of rotation is fixed to the body, then the part in the parenthesis is a constant.

I think you are asking about the case where the axis of rotation is not fixed to the body, and KE is expressed in body-fixed coordinates (like above). In this case $ \boldsymbol{\hat{n}}_{\rm body} = \mathrm{R}^\intercal \boldsymbol{\hat{n}}$

Specifically you are using $\boldsymbol{\hat{n}} = \pmatrix{0 \\ 0 \\ 1}$ and the spherical rotation matrix

$$ \mathrm{R} = \mathrm{rot}_y(-\theta) \mathrm{rot}_z(-\phi) = \begin{pmatrix}\cos\phi\cos\theta & \sin\phi\cos\theta & -\sin\theta\\ -\sin\phi & \cos\phi & 0\\ \cos\phi\sin\theta & \sin\phi\sin\theta & \cos\theta \end{pmatrix} $$

Note that ${\rm R}^\intercal {\rm R} = 1$ and that when the angles all are zero ${\rm R} = 1$.

Such that $$\boldsymbol{\hat{n}}_{\rm body} = {\rm R}^\intercal \boldsymbol{\hat{n}} = \begin{pmatrix}\cos\phi\sin\theta\\ \sin\phi\sin\theta\\ \cos\theta \end{pmatrix}$$

Take the equation above and plug in the above to get

$$ T = \tfrac{1}{2} \omega^2 \left( I_1 \cos^2 \phi \sin^2 \theta + I_2 \sin^2 \phi \sin^2\theta + I_3 \cos^2 \theta \right) $$

where $I_1$, $I_2$, and $I_3$ are the three diagonal terms of the body-fixed MMOI tensor (the principal MMOI values).

  • $\begingroup$ Oh okay I see. I think this is very helpful. One more question. $T = \frac{1}{2} \mathbf{\omega}^T (R \mathbf{I_{\text{body}}} R^T) \mathbf{\omega}$ is the expression that, if I expand, is in terms of euler angles? I can see how euler angles enter through the rotational matrix, but I can't see where they would enter as time derivatives. $\endgroup$
    – Habouz
    Nov 3, 2023 at 18:03
  • $\begingroup$ @Habouz - see my updates above to clarify how to enter the Euler angles (hint: they go into $R$ and not into $n$). $\endgroup$ Nov 3, 2023 at 18:12
  • $\begingroup$ @Habouz - I made some corrections to the calculations above in order to match your post better. $\endgroup$ Nov 3, 2023 at 18:34

You can say that the rotation axis is $(dx,dy,dz)$ then multiply it by the general 3d rotation matrix($A=R_{x}R_{y} R_{z}$) to check your answer.


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.