Сайт разработчика Александр Климова

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Датчик ориентации

4-й курс/закрытая зона

OrientationEventListener - грубый способ определения ориентации экрана
SensorEventListener - точный способ определения положения в пространстве
Вычисление положения с помощью акселерометра и датчика магнитного поля

Датчик ориентации — это комбинация датчика магнитного поля, выполняющего роль электронного компаса, и акселерометра, измеряющего наклон и вращение.

Если вы знакомы с тригонометрией, то можете самостоятельно вычислять необходимые данные и определять положение устройства относительно всех трёх осей, основываясь на показаниях акселерометра и датчика магнитного поля. Однако есть хорошая новость - Android может сделать все вычисления сам.

При использовании стандартной системы отсчета положение устройства вычисляется в трёх измерениях. Как и в случае с акселерометром, устройство рассматривается в состоянии покоя, лёжа экраном вверх на плоской поверхности.

Датчик ориентации

Ось X (направление). Направление устройства при движении вокруг оси X; 0°/360° — север, 90° — восток, 180° — юг, 270° — запад.

Ось Y (наклон). Угол наклона устройства при вращении относительно оси Y. Он равняется 0°, если устройство лежит на задней крышке, –90° — если расположено вертикально (верхняя часть устройства указывает вверх), 90° — если перевернуто, 180°/–180° — если экраном вниз.

Ось Z (поворот). Поворот писывает боковой наклон устройства по оси Z между –90° и 90°. При 0° устройство лежит на задней крышке, при –90° экран повернут влево, при 90° — вправо.

Существует два способа определения положения устройства. Можно сделать запрос напрямую к датчику ориентации или получить необходимые данные с помощью акселерометра и датчика магнитного поля. Второй вариант более медленный, но имеет повышенную точность и возможность изменять систему отсчета при определении положения в пространстве. Рассмотрим оба варианта.

Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью

Реклама