Использование акселерометров для измерения угла, под которым находится устройство
Теоретически устройство в состоянии покоя будет измерять значение силы тяжести, равное значению константы, но это редкий случай. В состоянии покоя акселерометр, скорее всего, выдаст значение, которое больше или меньше константы. Таким образом, значение ratio окажется больше или меньше -. Такие значения не подходят для метода acos, поэтому мы обеспечиваем, чтобы значение ratio не было больше и меньше -. Этому соответствуют углы в диапазоне от до градусо. Однако при таких условиях мы не получаем отрицательные узлы от до - градусо. Для получения отрицательных углов мы используем значение Z из массива gravity. Если значение Z отрицательное, лицевая сторона устройства ориентирована вниз. Для всех значений, когда устройство направлено вниз, мы делаем угол отрицательным, в результате получая угол из диапазона от - до + градусов, что и можно было ожидать.
Продолжим экспериментировать с примером приложения. Обратите внимание, что значение угла составляет, когда устройство находится в горизонтальном положении, и (или близко к нему), когда устройство удерживается вертикально вверх и вниз. Если мы продолжим поворачивать устройство после горизонтального положения, значение угла превысит. Если мы наклоним устройство, значение угла становится отрицательным, пока мы держим устройство над головой и угол равен -. Наконец, обратите внимание на член counter, который управляет частотой обновления экрана. Поскольку события датчика могут поступать довольно часто, мы решили отображать только каждое десятое получаемое значение.
Опубликовал katy
February 18 2015 15:20:43 ·
0 Комментариев ·
2848 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.