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

2

6

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?

Sullivan answered 1/5, 2013 at 16:20 Comment(0)
D
8

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.

Detritus answered 1/5, 2013 at 16:31 Comment(4)
That makes sense - thanks for clarifying. As I understand the inertia tensor is a 3x3 matrix which makes the equation make sense. In Bullet you provide a 3 component vector for inertia from which I assume the 3x3 matrix is derived.Sullivan
There is a bit more explanation here (not got the time to read fully myself at the moment): techhouse.brown.edu/~dmorris/projects/tutorials/…Sullivan
I also came across this link. And to be clear, with the inertia tensor is referred to the moment of inertia, which affects angular acceleration (not velocity) so: torque = moment_of_inertia * angular_acceleration. And I think they initiate a zero vector in case the object is a point mass, in which case you can't apply a torque on it.Ptolemaic
No, the inertia tensor is made up of individual moments of inertia.Detritus
I
-4

By building a zero inertia bubble or a negative state of flux, a bullet's dynamic will be nominal to tensor point and underlying rotation, regardless of torque, vector or angle. To simply state otherwise is dense or incorrect.

Inflate answered 30/12, 2013 at 10:31 Comment(2)
What do you mean by 'nominal'? Also the question is not regarding the dynamics of a bullet necessarily, but the physics engine named 'Bullet'.Sullivan
What has an object with zero inertia got to do with 'flux'. You answer is non-sense.Detritus

© 2022 - 2024 — McMap. All rights reserved.