First off I want to start my post off with my expression of praise of such a wonderful website you guys have here! I hope to remain here and evolve with the community. Now with that out of the way I'll go on with my post.
I have a 3D app coded from scratch by myself using the OpenGL and SDL libraries. I already made a small math library with "complete" vector, matrices and quaternion classes all for learning purposes. Next I'll make a camera class using a quaternion[and a matrix]. I'm glad to say that my camera works fine.
"Gee Jorge. What is your camera looking at?"
"Oh baby my new quaternion camera is looking at a sphere being brought down by Fg."
"Gee Jorge what is Fg?"
"Oh baby it is the force of gravity, which is a vector, and it's value is -9.81 s/m\\^2."
"Ooh baby your intelligence turns me on!!"
Eh...Let me get to the point. I have a red sphere, in this app, at rest at a high altitude. But its position will shift due to Fg[vector(0.0, -9.81, 0.0f)]. There is also a plane laying on y=0.0. When the sphere finally collides with the plane then the plane's normal force should cancel out the force of gravity. Therefore the ball is at rest on the plane.
What I'm tyring to accomplish is realistic bouncing in one dimension. When the sphere hits the plane some of its momentum should be lost. According to one of Sir Newton's laws momentum should be constant but only changes through force.
I guess some of that momentum is lost to energy or in exchange for[either one]. Well anyways while the sphere is at rest on the plane I need something to push it up because the normal force isn't enough(it cancels out because the normal force + Fg produces a null or empty netForce).
What I did was add ( 0.0, (ball.velo.y*ball.mass)/-2.0, 0.0 ) to the netForce....which didn't do anything. The division represents how much of it is lost. So in my case half of the momentum is lost. I divided it by negative two because I wanted the ball to go the opposite direction, away from the plane, which is up. And because Fg is there the ball should go back down creating "the bounce".