I want to apply a torque to a part so that it will accelerate at a rate of 1 radian per second. This means that 10 seconds after the torque has been applied, it will be spinning at 10 radians per second. According to Newton’s second law of motion, force is equal to mass multiplied by acceleration. So, if I applied 2.8 torque along the correct axis of a part that has a mass of 2.8, then after 10 seconds, the part should be rotating at either 10 radians per second, or 10 degrees per second. But on roblox, this doesn’t appear to be the case.
script.Parent.Blades.Torque.Torque = Vector3.new(2.8, 0, 0)
local start = os.clock()
while true do
task.wait(1)
print((script.Parent.Blades.AssemblyAngularVelocity.Y))
print(os.clock() - start)
end
If I run the above block of code, at around 10 seconds, the part is spinning at 14 radians per second, instead of 10 radians per second. I’m also assuming that AssemblyAngularVelocity is the angular velocity in radians per second, and not degrees per second.
How do I apply a torque to a part, such that it will accelerate at a rate that I can define in a variable in a script?
Edit: I forgot to mention, that the part that is rotating, is attached to one anchored part with a hinge, so the only thing that is rotatable or moveable is that one unanchored part.