I'm working on a mobile phone app idea the moment.
This app is currently being prototype on a Windows Phone 7 device.
The Motion API on that device gives me frequent updates on :
- the current 3 dimensional acceleration vector (with gravity removed) of the phone (with axes fixed as the axes of the phone)
- the current direction that gravity is (using those same phone axes)
I'm thinking about how to estimate the actual velocity and position of the phone, assuming that the phone started from a "stationary" position.
I'm currently trying to do this by rotatomg the acceleration vector (using the gravity vector somehow) so that it's in real world coordinates, and then I'm thinking of using simple integration over time in order to estimate current 3D velocity, and then another integration to get to current 3D position.
Should this approach work? Does anyone have any suggestions about where I should look for primers on the vector/matrix maths required?