Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does having an inertia tensor of zero do in Bullet?

In the Bullet Physics library, when constructing a rigid body the default argument for the inertia tensor is the zero vector.

My understanding of inertia is fairly elementary but from the equation

torque = inertia * angular_velocity

I would expect angular velocity on an object with zero inertia to be undefined.

The documentation for constructing rigid bodies says

For dynamic objects, you can use the collision shape to approximate the local inertia tensor, otherwise use the zero vector (default argument)

So what happens with this zero inertia? Have I misunderstood the equation? Or is having zero inertia in Bullet similar to having zero mass in defining an object to be static with respect to orientation?

like image 411
Tim MB Avatar asked May 01 '13 16:05

Tim MB


People also ask

What does it mean when inertia is zero?

The products of inertia are zero when the body is symmetrical about the axes of rotation, such as for a rectangular box or cylinder rotating on their symmetry axis.

What does inertia tensor tell you?

The inertia tensor is the object which tells us how angular velocity is converted into kinetic energy or angular momentum and therefore it plays a similar role mass plays in rectilinear motion.

Does the moment of inertia of a body become zero as soon as it stops rotating?

As we know, I=mr2 where r is the perpendicular distance between axis of rotation and centre of mass. if r is 0 then moment of inertia is also zero.

Is higher or lower inertia better?

Higher moments of inertia indicate that more force has to be applied in order to cause a rotation whereas lower moments of inertia means that only low forces are necessary.


Video Answer


1 Answers

To start let us define inertia.

Inertia is the resistance of any physical object to a change its state of motion, or the tendency of an object to resist any change in its motion.

The off diagonal elements of the Inertia Tensor are called the products of inertia. The products of inertia are zero when the body is symmetrical about the axes of rotation, such as for a rectangular box or cylinder rotating on their symmetry axis. I would imagine that the Inertia Tensor that is used in the physics engine you use is always diagonal to avoid complexity.

I suppose in the case of your ballistic physic engine, where this torque might come in to play is for an object that let's say is spinning around the z-axis with the following angular velocity (0, 0, ωr) [in cylindrical coordinates (r, theta, z)], then you might want to find out the torque required to stop this rotation in some time t (i.e. a rotational acceleration of magnitude -ωr/t). Here you would then use the equation you have stated above.

The interpretation of the zero matrix would be to represent zero 'inertia', and object with no mass and what I have said above again holds.

like image 175
MoonKnight Avatar answered Sep 30 '22 17:09

MoonKnight