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

Click For Summary
SUMMARY

The discussion focuses on calculating the change in speed of a rolling ball in a 2D platform game using the Box2D physics engine, which lacks built-in support for rolling friction. The user aims to implement rolling resistance through physics equations, considering factors such as mass, size, applied force, speed, and the coefficient of rolling friction. The approach involves treating rolling resistance as a force acting opposite to the ball's motion, proportional to the normal force, especially when on a slope.

PREREQUISITES
  • Understanding of Box2D physics engine
  • Knowledge of basic physics equations related to motion
  • Familiarity with rolling friction concepts
  • Ability to implement custom forces in game development
NEXT STEPS
  • Research the implementation of custom forces in Box2D
  • Study the physics of rolling resistance and its equations
  • Explore the effects of normal force on rolling friction
  • Learn about handling slopes and their impact on physics calculations
USEFUL FOR

Game developers, particularly those working with physics-based mechanics in 2D environments, and anyone looking to implement realistic rolling friction in their projects.

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.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
2K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 8 ·
Replies
8
Views
6K
  • · Replies 13 ·
Replies
13
Views
10K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 8 ·
Replies
8
Views
7K
  • · Replies 59 ·
2
Replies
59
Views
5K
Replies
14
Views
3K
Replies
13
Views
2K