I'm using a physics programming library named Bullet and the documentation is really lacking so I have to figure much of it out as I go. I have a box with side lengths of 1 and mass 1. The "local inertia" calculated is the vector (0.16, 0.16, 0.16), according to the formula for a cuboid here (lists of moments of inertia). So is it the case that each component of the vector is the inertia when rotating the object around x, y and z axes respectively through the center of mass?

I want to figure out how much torque I need to apply to cancel out or stop its rotational velocity in a certain amount of time, however I'm not sure what proportion the torque is to the angular acceleration. For example if I have a box rotating about its X axis with an angular velocity of (1, 0, 0), I think the box rotates at one radian per second, but then I need to figure out how much torque needs to be applied for one second to stop that rotation in one second.

Is there a convention used for this or a way to figure out how the torque relates to the inertia? For example the inertia about the X axis for the box is 0.1666, is there a torque force I can apply to figure out how they relate? Or maybe you can just explain it.

The torque function takes a 3-component vector, which is direction, and the magnitude is the torque I'm pretty sure.

Secondly, let's say that the box is not rotating on one of its basis axes, if I want to apply torque to cancel out the rotation in a certain time then I need the moment of inertia for that particular axis, right? But I only have the inertia for rotating about three axes, the x, y and z. Is there a way to figure out what the inertia is for an arbitrary axis?

Could the explanation be as simple as possible please? I'm not familiar with advanced math stuff.


2 Answers 2


I hope you are somewhat familiar with linear algebra and rotation matrices. To find the mass moment of inertia 3x3 matrix along the world coordinates, from known 3 principal values along the body frame you do the following:

$$ \mathbf{I} = \mathbf{R} \, \mathbf{I}_{\rm body} \, \mathbf{R}^\top\tag{1} $$ where $\mathbf{I}_{\rm body} = \pmatrix{ I_1 & & \\ & I_2 & \\ & & I_3}$ is the body aligned MMOI matrix, and $\mathbf{R} = \pmatrix{ \cdots } $ is the 3x3 rotation matrix transforming vectors from the body frame orientation to the world orientation. Each column of $\mathbf{R}$ is a unit vector of the body frame.

Now combine the MMOI matrix with the vector for angular velocity $\boldsymbol{\omega}$ to get angular momentum at the center of mass.

$$\boldsymbol{L}_C = \mathbf{I}\, \boldsymbol{\omega} \tag{2}$$

To instantaneously stop a rotating body apply an equal and opposite angular impulse $\boldsymbol{G}_C$ to the angular momentum

$$ \boldsymbol{G}_C = - \mathbf{I}\,\boldsymbol{\omega} \tag{3}$$

Just as linear impulse $J = \int F {\rm d}t$ is the time integral of force, angular impulse is the time integral of torque (only over short period of time)

$$ \boldsymbol{G}_C = \int \boldsymbol{\tau}_C \,{\rm d}t \tag{4}$$

If the torque is applied over finite time and the body changes orientation during that time, then the above isn't valid anymore.

In any case, you can apply a constant torque over a small time $\Delta t$ that is equal to

$$ \boldsymbol{\tau}_C = -\tfrac{1}{\Delta t} \mathbf{I}\,\boldsymbol{\omega} \tag{5}$$


As I see it, your question has four parts.

1. Moments of inertia about $\hat i$, $\hat j$, and $\hat k$

The moment of inertia of any body can only be defined along an axis. It's defined as: $$\int r^2 dm \tag{1}\label{1}$$ where $r$ is the distance of $dm$ from the axis. This is usually different for different axes, except for cases where some axes are equivalent, such as axes through the diameter of a sphere.

Moment of inertia is the rotational equivalent of mass (the moment of mass about an axis).

I'm not familiar with Bullet, so I'm not sure what you mean by 'local inertia', that question is better directed to the StackOverflow community. In physics, whenever we need to calculate moments of inertia, we use \eqref{1}.

2. Relation between angular acceleration and torque

In physics, we have Newton's second law: $$F=ma \tag{2}\label{2}$$

where $F$ is the net applied force, $m$ the mass of the body, and $a$ the acceleration of the body.

Its rotational variant related torque to angular acceleration thus \eqref{3}: $$\tau = I\alpha \tag{3}\label{3}$$

where $\tau$ is the net applied torque, $I$ the moment of inertia of the body about the given axis, and $\alpha$ the angular acceleration of the body.

$I$ here is the moment of inertia calculated using \eqref{1}. Thus, the relation between $\tau$ and $\alpha$ is determined by $I$, similar to how much a body accelerates due to the action of a certain force depends on its mass.

3. Finding 'how much' angular acceleration you need

Again, here you have to apply the rotational variants of kinematics equations. Let $\omega_i$ be the initial angular velocity, $\omega_f$ be the final angular velocity, $\alpha$ be the angular acceleration, $t$ be the time interval, and $\theta$ the angle turned in $t$. We then have:

$$\omega_f=\omega_i + \alpha t \tag{4}\label{4}$$ $$\theta=\omega_i t + \frac 12 \alpha t^2 \tag{5}\label{5}$$ $$\omega_f ^2-\omega_i ^2 = 2\theta\alpha \tag{6}\label{6}$$

Using the relations \eqref{1}, \eqref{3}, \eqref{4}, \eqref{5}, and \eqref{6}, you should be able to completely describe and predict the motion of the body.

4. Moment of inertia about different axes

To calculate the moment of inertia about various axes, we use two theorems:

  1. Parallel axis theorem.
  2. Perpendicular axis theorem.

Using these, you can find the moments of inertia about any axis that's either parallel or perpendicular to the known one. In all other cases, you'll have to calculate it yourself.


I'm not familiar with Bullet, so I've tried to give you an outline of the physics ideas that are used when we want to describe the rotational motion of a body. How Bullet defines and uses the term 'inertia' seems to be different from how we use it in physics, though.

Generally, the above is a basic introduction to exactly what you need to know to describe rotational motion.


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.