torque and component angular acceleration

Started by
4 comments, last by etaylor27 21 years, 8 months ago
Alright, here''s my problem: I am working on a preliminary rigid body physics engine, and the objects of my concern are massless rods with masses on each end. I have two problems, one that I have some grasp on, the other I''m at somewhat of a loss. Problem 1: I have torque issues... with a given torque (magnitude and direction) how do I translate this torque into component-wise angular acceleration? To be more blunt, given a torque vector (that is, the vector the object will rotate about) how do I modify the angular acceleration for each x-, y-, and z-axis rotation? Problem 2: I''m unsure of how to go about more than two masses connected by massless rods in a system. Does anyone know of any tutorials on how to handle linked masses besides spring systems? Elijah
--"The greatest pleasure in life is in doing what people say you cannot do." -- Walter Bageholt
Advertisement
1: For rigid bodies, tau = I * alpha, where tau is the torque, alpha is the angular acceleration, and I is the moment of inertia (I = summation [mi * ri**2])

2: Rigid bodies
Look for Baraff''s paper on rigid-body physics.

About your specific problem, I don''t know what is the physically correct way of doing it, here''s how I did it:

Each object (rod + 2 masses = 1 object) has a vector for angular momentum. This vector serves as the axis of rotation, and its lenth = angular momentum.

When there is a torque, I calculate a vector that is the corresponding variation of the current angular momentum, and I add it.

That variation vector is simply the cross product of the vector between the center of mass and the point where the torque is applied, and the torque itself.

My terminology is probably a little off (I''m a francophone), but hopefully, this will give you some ideas.

Cédric
quote:Original post by MisterAnderson42
1: For rigid bodies, tau = I * alpha, where tau is the torque, alpha is the angular acceleration, and I is the moment of inertia (I = summation [mi * ri**2])


That''s right. So the rate of change of the angular velocity is

alpha = I^-1 * tau

You can do this calculation either in global or the object''s coordinates/frame of reference. The latter is far simpler as the moment of inertia is constant, and you can choose your axes so the moment of inertia matrix is diagonal, e.g. for most symmetric bodies choosing axes along the axes of symmetry achieves this.
John BlackburneProgrammer, The Pitbull Syndicate
thanks guys for the input. I was mostly looking for the direction of angular acceleration, but I think to circumvent this problem I''ll just treat a torque-inducing force as components of x- y- and z-forces, and so I''ll automatically know the direction of angular acceleration as lying in the coresponding plane.

I''m still looking for resources for rigid body physics simulations. My main concern is a system of three (or more) masses joined by rods, I don''t know the proper way to constrain the masses that are connected to more than one mass. If anyone has a link to a resource or tutorial, I''d much appreciate it.
--"The greatest pleasure in life is in doing what people say you cannot do." -- Walter Bageholt
As cedricl said, check out Baraff''s papers, they are very good.

http://www-2.cs.cmu.edu/~baraff/sigcourse/

And, as far as rigid bodies are concerned, it does not matter how many masses/rods you have. The "rigid" constraint for rigid bodies is that all particles in a body have fixed distances and orientations with respect to each other.

This topic is closed to new replies.

Advertisement