Hello,
I am currently in the process of developing angular momentum for my game, and I am implementing torque for the purposes of changing objects' angular momentum.
If I understand torque correctly, it is calculated by the position vector (R) (position the force is applied relative to the object) with the cross product of the force vector (F). The torque is then added to the angular momentum, resulting in the object starting to rotate.
The angular momentum vector determines the direction the object rotates. An angular momentum vector of [0, 1, 0] should then cause an object to rotate to the left (it would spin counter-clockwise).
So, to get an object to spin to the left, one would apply a force of [0, 0, 1] to the position of [1, 0, 0] (e.g. a force going forward applied to the right of the object). Positive X is to the right, and positive Z is going forwards.
However, when I calculate R x F (e.g. [1, 0, 0] x [0, 0, 1]), I am getting torque result [0, -1, 0], which would cause the object to rotate clockwise instead of counter-clockwise. I figured my cross product calculation was wrong, but even Wolfram Mathematica gives me the same result.
Am I missing something? Even the animations on Wikipedia's explanation of what torque is demonstrates that a force applied to the right of an object causes it to spin to the left (the animation clearly shows the vectors, and the torque vector is going upwards). Not to mention, this is what happens in real life.
Is there something different about the coordinate system being used?
↧