2016-07-07 3 views
1

Как я знаю, большинство устройств Android позволяют обнаруживать вращение с помощью акселерометра, но я заметил, что он не обнаруживает вращения параллельно земле. Например, если я положил устройство на стол и повернул его, ни один из индикаторов акселерометра не изменился.Как обнаружить вращение устройства Android параллельно земле?

enter image description here

На картинке, это называется "альфа" вращение. Итак, как я могу обнаружить такой поворот?

+0

Цилиндрическая ось на X? –

+0

Да, поворот по оси X –

+0

«alpha» описывает вращение вокруг оси z, не так ли? – kalabalik

ответ

1

Для измерения вращения вокруг оси z вам необходимо реализовать функцию компаса. Хороший учебник - this one. Чтобы сделать результирующие значения более стабильными, вам необходимо реализовать некоторый алгоритм, который сглаживает ваши входящие данные (averages over a queue of data, фильтруя выбросы и т. Д.). Вот хороший overview.

Смежные вопросы