Получение ориентации телефона в Android - PullRequest
0 голосов
/ 23 марта 2020

Насколько я понимаю, есть два способа получить ориентацию (т. Е. yaw. pitch & roll) телефона:

  1. Использование Accelerometer и Magnetometer данные:

    SensorManager.getRotationMatrix(mR, null, mLastAccelerometerData, mLastMagnetometerData); SensorManager.getOrientation(mR, mAccMagOrientation);

  2. Использование Rotation Vector:

    SensorManager.getRotationMatrixFromVector(mR, mLastRotationVector); SensorManager.getOrientation(mR, mRotVecOrientation);

Я сделал маленький l oop в своем доме и собрал данные об ориентации, пока я держал телефон перед собой.

Хотя Pitch и Roll соответствуют ожиданиям и весьма похожи (наклон ~ = -25 градусов, крен ~ = 0 градусов), между этими двумя подходами существует большая разница в yaw. К сожалению, мне не разрешили опубликовать сюжет, который это визуализирует, потому что мне не хватает очков репутации.

Мои вопросы:

  • Почему yaw отличается?
  • Какой подход более точен и почему?
  • Каким расчетам мне следует больше доверять?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...