Как рассчитать угол поворота с помощью сенсоров Android? - PullRequest
3 голосов
/ 13 декабря 2011

Я делаю приложение OpenGL, в котором мне нужно повернуть камеру, если устройство Android поворачивается / наклоняется вдоль оси Z.

Я попробовал SensorManager.getOrientation(R, orientVals); с помощью магнитного датчика и датчика акселерометра. Но значения очень сильно колеблются. Гироскоп также доступен в моем устройстве.

Поскольку я анимирую (поворачиваю) камеру, мне нужны плавные значения поворота

Пожалуйста, направьте меня в этом отношении.

1 Ответ

0 голосов
/ 20 марта 2014

См. Как рассчитать скорость вращения, используя значения акселерометра в Android для конкретной оси о том, как считывать программные датчики Android, которые объединяют данные с акселерометров, магнитометров и (еслидоступны) гироскопы.

Для сглаживания значений используйте фильтр нижних частот или (лучше, но более сложный) фильтр Калмана .Я подозреваю, что программные датчики Android, такие как «датчик вращения», уже используют фильтр Калмана для объединения данных от разных датчиков.(Можно поискать исходный код ...)

...