I understand math, but am sorely ignorant about physics. I read the bullet force/impulse splitting code, and here's how I understand it works.
Linear force = force
Rotational force = some constant rotation around the axis, around the axis defined by the crossproduct of the force and the vector of collision poin to origin. Then presumably normalizing that vector and altering that constant of rotation by whatever number you used to scale the rotational axis.
Two questions:
How do you determine that scalar for rotational force?
Shouldn't Linear force be the vector from the impact point to the origin, times the dot product of that vector with the force (in other words, the force projected onto the vector that goes through the objects origin)?
Elementary question about linear v. angular momentum
-
- Posts: 7
- Joined: Mon Feb 05, 2007 6:08 pm
-
- Posts: 4
- Joined: Sat Jan 13, 2007 2:03 pm
Force = mass*acceleration, it can be scalar or vector, magnitude of force is just its length, and direction is given by normalizing.
Rotational force is called torque, Torque = arm.crossProduct( Force ), where arm is vector from center of mass(COM) to the point where you apply force. As you can see force applied in COM does not produce torque, and every force applied to other points than COM produces torque, it's inevitable. Torque is kind of virtual concept, you can replace it with pair of forces acting in opossite directions and on oposite arms.
To visualize:
...............................................vF
---------------(COM)-----------------
^F<-------r------|-----------r------>
Imagime it's pencil with two forces acting on it. Pencil won;t start moving, but it will start rotating. If you reduce forces, then you will have Fsum = F + (-F) = 0. If you reduce torques then you will have Tsum = r*F + r*F = 2rF, so you can see how two forces F are 'equal' to torque Tsum.
Linear momentum is m*v, it's derivative is force m*a.
Angular momentum is I*omega, it's derivative is torque m*epsilon,
so it's very similar not counting the fact that mass is scalar and Inertia is tensor.
The bigger momentum the harder to stop movement, so even fast moving but light railway car won't make move fast standing still car, but loaded with carbon. The same goes for rotation stuff.
Rotational force is called torque, Torque = arm.crossProduct( Force ), where arm is vector from center of mass(COM) to the point where you apply force. As you can see force applied in COM does not produce torque, and every force applied to other points than COM produces torque, it's inevitable. Torque is kind of virtual concept, you can replace it with pair of forces acting in opossite directions and on oposite arms.
To visualize:
...............................................vF
---------------(COM)-----------------
^F<-------r------|-----------r------>
Imagime it's pencil with two forces acting on it. Pencil won;t start moving, but it will start rotating. If you reduce forces, then you will have Fsum = F + (-F) = 0. If you reduce torques then you will have Tsum = r*F + r*F = 2rF, so you can see how two forces F are 'equal' to torque Tsum.
Linear momentum is m*v, it's derivative is force m*a.
Angular momentum is I*omega, it's derivative is torque m*epsilon,
so it's very similar not counting the fact that mass is scalar and Inertia is tensor.
The bigger momentum the harder to stop movement, so even fast moving but light railway car won't make move fast standing still car, but loaded with carbon. The same goes for rotation stuff.
-
- Posts: 7
- Joined: Mon Feb 05, 2007 6:08 pm
Thanks
That clears up a lot of things (and also makes me looks around the internet to find out how to store a tensor). A quick followup. If
...............................................vF
---------------(COM)-----------------
^F<-------r------|-----------r------>
rotates but doesn't translate (I understand this), does
.....................................vF.........
---------------(COM)-----------------
^F<-------r------|-----------r------>
both rotate and translate. I believe it rotates less speedily ( arm is shorter), but isn't the translation/linear force greater when the force is moved closer to the COM (to preserve total increase in energy as rotational momentum would be les, therefore linear momentum would be greater?)
...............................................vF
---------------(COM)-----------------
^F<-------r------|-----------r------>
rotates but doesn't translate (I understand this), does
.....................................vF.........
---------------(COM)-----------------
^F<-------r------|-----------r------>
both rotate and translate. I believe it rotates less speedily ( arm is shorter), but isn't the translation/linear force greater when the force is moved closer to the COM (to preserve total increase in energy as rotational momentum would be les, therefore linear momentum would be greater?)
-
- Posts: 4
- Joined: Sat Jan 13, 2007 2:03 pm