Как я могу использовать значения азимута, тангажа и крена, чтобы определить, было ли устройство наклонено вверх или вниз?

#android #android-sensors

#Android #android-датчики

Вопрос:

Используя следующий код:

 SensorManager.getRotationMatrix(mRotationMatrix, null, mValuesAccel,mValuesMagnet);
SensorManager.remapCoordinateSystem(mRotationMatrix,
SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, R2);
SensorManager.getOrientation(R2, mValuesOrientation);
  

Я получаю три значения ориентации (азимут, тангаж и крен). Как я могу использовать три значения ориентации, чтобы определить, было ли устройство наклонено вверх или вниз?

Ответ №1:

Если вы не хотите иметь дело с чем-то, называемым блокировкой кардана (в основном значения угла сходят с ума, когда вы достигаете определенных значений), я предлагаю вам начать исследовать матрицы вращения.

Вы также должны указать, какое движение устройства вы называете «наклоном», и в какой ориентации работает ваше приложение.