Компас сходит с ума, когда телефон перевернут

Я тестировал данные датчика на Android и заметил странное поведение, когда экран телефона указывает на гравитацию (вверх ногами). Когда я получил данные от датчика TYPE_ORIENTATION, азимут имеет неверные значения, и незначительные сдвиги вызывают серьезные изменения. Связано ли это как-то с эйлеровым представлением вращения и числовой сингулярностью? Есть ли обходной путь, чтобы иметь правильные значения азимута компаса, даже если телефон перевернут?


person pzo    schedule 26.05.2012    source источник


Ответы (1)


Похоже, это нормальное поведение, связанное с последним компонентом оси Z, называемым магнитным наклонением. . Компонент оси x - это то, что показывает типичный компас и указывает на северный полюс. Компоненты X и Y намного меньше компонента Z, поэтому при вращении устройства этот компонент проецируется на оси X и Y устройства, что приводит к неверным результатам.

person pzo    schedule 29.05.2012