Как я могу использовать значения азимута, шага и крена, чтобы определить, было ли устройство наклонено вверх или вниз?
Используя следующий код:
SensorManager.getRotationMatrix(mRotationMatrix, null, mValuesAccel,mValuesMagnet);
SensorManager.remapCoordinateSystem(mRotationMatrix,
SensorManager.AXIS_Y, SensorManager.AXIS_MINUS_X, R2);
SensorManager.getOrientation(R2, mValuesOrientation);
Я получаю три значения ориентации (азимут, тангаж и крен). Как я могу использовать три значения ориентации, чтобы определить, было ли устройство наклонено вверх или вниз?
1 ответ
Если вы не хотите иметь дело с чем-то, что называется Gimbal Lock (в основном, значения углов сходят с ума, когда вы достигаете определенных значений), я предлагаю вам начать исследование матриц вращения.
Вы также должны указать, какое движение устройства вы называете "наклоном" и в какой ориентации работает ваше приложение.