I am working on an iPhone app where we are trying to calculate the acceleration of a moving car. Similar apps have accomplished this (Dynolicious), but the difference is tha
@The Gazzardian,
So your essential problem as I understand is to detect the forward vector. You can opt these:
Consult this figure to detect the angle: Angles and Hills http://lh6.ggpht.com/_p7FIkTnaSc4/S9kkKF7oECI/AAAAAAAABYg/D1tbxNQXo0E/s288/Hill.png
Another possible method, is to find the extra force during the climbing of the hill. Given the extra force, you might be able to find the angle. The vertical component of the extra force is to counter, the vertical component in opposite direction, g.