Предположение: телефон держится горизонтально (параллельно земле).
Я использую getRotationMatrix()
и getOrientation (float[] R, float[] values)
для получения азимута. В этом предположении азимут просто values[0]
.
документация говорит:
Все три угла выше в радианах и положительны в направлении против часовой стрелки.
Затем я проверил, когда ось Y моего телефона указывает на север, азимут действительно 0.
Однако возникает проблема: когда ось Y моего телефона указывает на Запад, т.е. я повернула телефон против часовой стрелки, чтобы он указывал с севера на запад, азимут отрицательно!
Разве угол не должен быть положительным при повороте против часовой стрелки с севера?
Где что-то не так?