Angular Momentum of Rigid Bodies

AI Thread Summary
The discussion focuses on calculating the rotation of a rigid body in 3D game programming when a force is applied at a specific point. Key points include determining the necessary force to initiate rotation, factoring in the moment of inertia, and understanding the impact of friction on torque. The relationship between torque, angular momentum, and the force applied is emphasized, with the need to consider the geometry of the body and the axis of rotation. Additionally, the conversation touches on the complexities of collisions and conservation of momentum in calculating angular changes during impacts. Understanding these principles is crucial for accurately simulating rigid body dynamics in games.
paulmcco
Messages
3
Reaction score
0
I'm trying to calculate the rotation of a rigid body due to a force applied to a single point on the body. This application is for 3D game programming. I understand how to find the axis of rotation by calculating the cross product of the point of intersection & the vector between the center of the rigid body and the point of intersection(vecPtoC). My question is this:

If the rigid body has a certain mass, how do I determine how much force to apply in order to cause the body to rotate? If the force applied to the body is too small, the body should not rotate. Also, if the force applied to the body is great enough to rotate the body, how much does the body rotate due to the force?
 
Physics news on Phys.org
If the force applied to the body is too small, the body should not rotate.
In this case, you have some sort of friction. The maximal friction torque depends on the type of friction and the geometry.

Also, if the force applied to the body is great enough to rotate the body, how much does the body rotate due to the force?
The change in angular momentum with respect to time is equal to the sum of all torques. I do not know how your system works, so it is hard to give more specific answers.

If the body is not fixed somewhere, it might get a linear velocity as well. In addition, it might change its axis of rotation, if it is asymmetric enough.
 
thanks mfb...the body is at rest and a torque(0,-1,0) is calculated from the cross product of the force applied(0,0,1) & the vector difference between point of impact(1,0,-1) and center of body(0,0,0). I've applied the torque to the body's orientation quaternion like so:

quatOrientation.w += 0.5f * (quatOrientation.x * torque.x +
quatOrientation.y * torque.y +
quatOrientation.z * torque.z);

quatOrientation.x -= 0.5f * (quatOrientation.w * torque.x -
quatOrientation.z * torque.y +
quatOrientation.y * torque.z);

quatOrientation.y -= 0.5f * (quatOrientation.z * torque.x +
quatOrientation.w * torque.y -
quatOrientation.x * torque.z);

quatOrientation.z -= 0.5f * (quatOrientation.x * torque.y -
quatOrientation.y * torque.x +
quatOrientation.w * torque.z);

This method is from a game programming book by Jim Adams. How though do I factor in the moment of inertia? I haven't considered the friction btween the body and the ground...I'm more interested in taking into account the amount of force and the mass of the body...any ideas?
 
paulmcco said:
I'm trying to calculate the rotation of a rigid body due to a force applied to a single point on the body. I understand how to find the axis of rotation by calculating the cross product of the point of intersection & the vector between the center of the rigid body and the point of intersection(vecPtoC).
Not sure what you mean by that calculation, but it sounds like it is only going to give you the axis of rotation as a vector. It won't tell you where the instantaneous centre of rotation is.
If the rigid body has a certain mass, how do I determine how much force to apply in order to cause the body to rotate? If the force applied to the body is too small, the body should not rotate.
You say there's no friction. In that case, even the tiniest force will result in movement.
Suppose a force F acts on a body with mass centre at O. The body has mass M, and the line of action of F misses O by distance d. The centre of mass will accelerate in the direction of F at rate F/M.
The moment applied to the body has magnitude Fd. Rotation is complicated in 3D for arbitrary rigid bodies. You have to consider the principal axes of inertia. See e.g. http://en.wikipedia.org/wiki/Euler's_equations_(rigid_body_dynamics)
 
my mistake...there must be friction. My application is for a video game. If two objects collide, I would like to calculate the angular momentum of those objects due to the force applied to a point on each rigid body. My understanding is that the moment of inertia of a rigid body determines the amount of force necessary to cause a change in angular momentum. I would like to account for these forces in my calculations of angular momentum. How would I do so?I'm not necessarily concerned with the center of mass...for my application the center of mass can be the center of the body. The body will rotate from this center. I have calculated the inertia scalars as:
xs = length.x * length.x
ys = length.y * length.y
zs = length.z * length.z.

And the inertia tensors as:
Ixx = mass * (ys + zs)
Iyy = mass * (xs + zs)
Izz = mass * (xs + ys);

Assuming the center of the body is at (0,0,0) and the body has length.x = length.y = length.z = 2, if a force of (0,0,1) is applied at the point (1,0,-1), the upper right corner of the cube's front face, how much would you expect the cube to rotate(if at all)? What amount of force would be necessary to rotate the cube?
 
Last edited:
paulmcco said:
my mistake...there must be friction. My application is for a video game. If two objects collide, I would like to calculate the angular momentum of those objects due to the force applied to a point on each rigid body. My understanding is that the moment of inertia of a rigid body determines the amount of force necessary to cause a change in angular momentum.
This sounds like impacts, so the forces are indeterminate. You need to use conservation of momentum and of angular momentum. That won't be enough to fix the motion; you'll also need to make some assumption about coefficient of restitution. Or just say such-and-such a percentage of energy is lost.
for my application the center of mass can be the center of the body. The body will rotate from this center. I have calculated the inertia scalars as:
xs = length.x * length.x
ys = length.y * length.y
zs = length.z * length.z.

And the inertia tensors as:
Ixx = mass * (ys + zs)
Iyy = mass * (xs + zs)
Izz = mass * (xs + ys);
That's summing over the xs etc?
Assuming the center of the body is at (0,0,0) and the body has length.x = length.y = length.z = 2, if a force of (0,0,1) is applied at the point (1,0,-1), the upper right corner of the cube's front face, how much would you expect the cube to rotate(if at all)? What amount of force would be necessary to rotate the cube?
(1, 0, -1) is not a corner of the cube - it's halfway along an edge.
Angular Impulse = Momentum of impulse x distance (vector product)
= Moment of inertia x change in angular velocity
Suppose a body of mass m strikes the middle of the top edge of the front face at speed v in a front-to-back direction. Assume the impact is completely inelastic (i.e., the bodies coalesce). The angular impulse about the x-axis (left-right axis) is mva, where a is the half-width of the cube. Let the moment of inertia of the cube about the x-axis be MI. If the angular speed of the merged body after impact is w then mva = mwa2+MIw.
No doubt you're more interested in cases where the bodies bounce with relatively little loss of energy.
 
Hello everyone, Consider the problem in which a car is told to travel at 30 km/h for L kilometers and then at 60 km/h for another L kilometers. Next, you are asked to determine the average speed. My question is: although we know that the average speed in this case is the harmonic mean of the two speeds, is it also possible to state that the average speed over this 2L-kilometer stretch can be obtained as a weighted average of the two speeds? Best regards, DaTario
The rope is tied into the person (the load of 200 pounds) and the rope goes up from the person to a fixed pulley and back down to his hands. He hauls the rope to suspend himself in the air. What is the mechanical advantage of the system? The person will indeed only have to lift half of his body weight (roughly 100 pounds) because he now lessened the load by that same amount. This APPEARS to be a 2:1 because he can hold himself with half the force, but my question is: is that mechanical...
Some physics textbook writer told me that Newton's first law applies only on bodies that feel no interactions at all. He said that if a body is on rest or moves in constant velocity, there is no external force acting on it. But I have heard another form of the law that says the net force acting on a body must be zero. This means there is interactions involved after all. So which one is correct?
Back
Top