I have an application in which I need to rotate (transform)
a random 3-D axis onto the axis that is defined by the vertical gravity vector
and EAST-WEST and NORTH-SOUTH orientation. Geometrically, there are 9 angles
that define the rotation of a random 3-D axis with respect to a fixed 3-D axis.
Is the vector information provided by the FXOS8700CQR1 device sufficient to
calculate these 9 angles?
Yes, there are 3 independent angles, but 9 angles in total. Both the reference frames are Cartesian, so this should work out OK.
Damon,
You better brush up on your 3D geometry. It requires at most 3 rotations to relate any arbitrary rotating frame of reference back to the global frame. And the answer is yes, the 8700 can provide the data to do the computation. This is essentially the "tilt compensated compass" algorithm found in the Sensor Fusion Toolbox (nxp.com/sensorfusion). In addition to a compass heading, that (and other algorithms in the sensor fusion library) returns orientation in both quaternion and rotation matrix form.
Regards,
Mike
I should note that my prior comment assumed two cartesian systems with all three axes at 90 degrees from one another. Things get more complicated if they are not both cartesian.