Formula for change in speed of a ball considering rolling resistance?

Join the discussion
Registration is free. Start your own thread to ask a follow-up.
1 reply · 3K views
heisenbergman
Messages
2
Reaction score
0
Hi PF.

I'm currently developing a 2D platform game that is significantly physics-based using the Box2D physics engine.

However, one of my main problems right now is that the main "character" of my game is a ball and unfortunately, Box2D does not support rolling friction. The result is that whenever I apply horizontal force to the ball and it starts moving on a flat surface... it never stops.

There are some quick ways I could fix this given Box2D's current features (e.g. - damping)... but those solutions don't seem realistic enough in certain scenarios. What I'm
planning to do is to handle rolling resistance in my code using actual physics equations and hopefully that yields more realistic results.

So, what I wanted to ask was that with all of the following given information, how do I compute for the change in speed over time of a rolling ball due to rolling friction?

Available information:

- mass of ball
- size of ball
- force being applied on the ball
- speed of the ball
- coefficient of rolling friction (I can probably set this to a constant value inside the program)

Thanks!
 
Physics news on Phys.org
Treat it the same way you treat other forces being applied to the ball...eg Treat it as a force acting in the oposite direction to that in which the ball is moving.

Make the force proportional to the normal force between the ball and the ground. See..

http://www.engineeringtoolbox.com/rolling-friction-resistance-d_1303.html

Bear in mind that if the ball is on a slope the normal force is not vertical but is orthogonal to the slope. So you can't simply make it proportional to the weight of the ball.