There are several apps which allow me to measure the rotation of my iPad around two axes (the X and Z axes in the image below)

iPad with a red Y, X, & Z axis

What I want, however, is angles for all three axes. I am aware that it is usually assumed that the device is held parallel to the face and that without a reference, only rotation with respect to the ground or the optical axis make sense, but it could be possible to set the current measurement as the reference value for the Y axis and record the rotation relative to this value.

I am not sure if I managed to explain what I want. Basically I'd like to know how much I have rotated the iPad around the Y axis starting from some given value. (The point is recording device orientation when taking photos so I can see whether my relative camera pose estimation algorithm correctly recovers the rotation between two images, the iPad will be in landscape mode for this.)

  • If you use an app for this you have to reset angles before taking photo in your app, and then go back and read the new angles. This would be rather unprecise. Wouldn't it be better to read angles from inside your app, which would make this a question for Stack Overflow?
    – holroy
    Aug 9 '15 at 12:13
  • I'm not interested in implementing it myself if it already exists in some form. I merely need data to evaluate my own application, it does not need to do anything with imu data itself.
    – oarfish
    Aug 9 '15 at 13:22

You should try out the iDemonstrate app by Daniel Amitay, which has the following to say about itself:

iDemonstrate is a clean and simple iOS app which elegantly demonstrates all of the features, specifications, and general information of your iPhone, iPod, or iPad.

If you go to the Accelerometer section it displays the current orientation of your device in all three axes. It does not show the difference from a given point in time, so you need to record this yourself.

One way to record device orientation could be the following:

  • Start iDemonstrate and go to Accelerometer, make a screen dump
  • Switch to camera app, and take photo
  • Go back to iDemonstrate, and make another screen dump
  • Calculate difference in orientation based on the screen dumps

Edit: Device orientation values

For me under Accelerometer it does display the current reading of all three axes, isn't that what you asked for? The Gyroscope shows the acceleration in each axis:

  • held vertical in landscape mode: x=-1, y=0, z=0
  • held vertical in portrait mode: x=0, y=1, z=0
  • held horizontal in either mode but facing up: x=0, y=0, z=-1

These hold true for the orientation of the device, not with respect of the world orientation. The Magnometer does give you a non-numerical compass.

In other words, iDemonstrate gives you the orientation of the device where the orientation is based upon the device itself, and not with respect to the world.

  • Under Accelerometer, it does not display current orientation, but rather acceleration along each axis. There is a Gyroscope tab, but that also only measures acceleration, not orientation.
    – oarfish
    Aug 9 '15 at 15:08
  • Edited in the aspect that iDemonstrate display the device orientation, not world orientation. Another app Orientator does display the world orientation, but it seems incorrect for the gyroscope and accelerometer values.
    – holroy
    Aug 9 '15 at 15:49

SensorLog provides such functionality under the Motion section. It gives radian values for roll, pitch and yaw, although it's unclear what the 0-value is for the latter.

  • The yaw value seems to be 0 when the home button is towards north. Tried the SensorLog, and it seems to be easily distracted/imprecise on the yaw value... The web pages I list in another answer is more precise than the SensorLog app.
    – holroy
    Aug 9 '15 at 16:04

You are asking for an app, but when searching for that I also found some web pages displaying the information you are asking for:

The null value for all axis is when the ipad is horizontal and the home button is pointing towards north!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.