If you want bouncing then look into the Coefficient of Restitution. It's a value between 0 and 1 that represents the "bounciness" of the camera. A value of 0 means that no bouncing will occur when the object collides with the ground, and 1 means that the camera will bounce back up to it's original height after it has collided with the ground (in this scenario anyway).
The easiest way to implement it is to give your camera an initial velocity vector (call it u) and you want to find the final velocity vector after the camera has collided (lets call this v). Lets call the CoR e.
e = v / u
So all you need to do is multiply your initial velocity by the coefficient, negate this velocity (for it to travel in the opposite direction) and voila, you have your final velocity and if you keep doing this for every time it collides, you have your bouncing motion. This is assuming you have a flat plane that you want to bounce against, if you have a complex mesh you're colliding against, then instead of negating the vector, simply multiply it by the normal of the polygon you collide with (which is essentially what negation does on a flat plane).
Use some sort of position update function (Euler, Verlet or even RK4 - see this link) and it will make this task a lot easier.
Hope that helps (and I hope my maths isn't too far off :P)
y = abs(cos((x+18)/6.2)/((x+18)/6.2))*149
. @SteveH: Could you possibly tell the key terms in Newtonian solutions? I seem to be using the wrong ones as I can't really find a good example on how to implement it. \$\endgroup\$