I writing a program in C++ using OpenGL/win32 of a ball that bounces when it's dropped from a height above either of the planes/platforms you see below.
I use plane sphere intersection and plane-sphere collision to make the ball fall/bounce accordingly (not a bounding box).
I'm now hoping to make the ball roll over the edge of the plane like it would in reality if more than half the ball is over the edge.
I was wondering what other forces I would need to simulate and how that can be implemented? I currently only simulate gravity based on the y-axis and a velocity for the return of the bounce.
As things stand, the ball can go right to the edge of the plane and as it slowly moves away, it will drop a little the further right it goes, but still remains on the platform until there's no-longer a collision. (I hope that makes sense). I've screen shot these images to try to show it:
On the edge, before it should fall:

Still on edge, but should be falling (although dropped slightly):

Drops only after the far left of the sphere is no-longer touching the plane:

