IOS Акселерометр / Гироскоп Вопрос - PullRequest
2 голосов
/ 23 сентября 2011

Я хочу написать приложение, которое выдает градусы положения по некоторой координате (внизу телефона).

Например ... Если я держу телефон под углом 45 градусов, я хочу отобразить: 45 градусов на экране. Если пользователь держит телефон под углом 45 градусов и поворачивает телефон вокруг оси, идущей от наушника к кнопке «Домой», я хочу отобразить этот угол (от 0 до 180 градусов).

Я реализовал акселерометр и получил значения x, y, z, но как мне их преобразовать? Я знаю, что они в G (1G, 0,9G, -0,5G на соответствующей оси), но какова конверсия? Я даже иду по правильному пути? Должен ли я использовать гироскоп вместо этого?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 23 сентября 2011

Этот вопрос имеет пример. Вы можете использовать atan2(y, x) и конвертировать из радиан в градусы с помощью * (180/M_PI).

Для любых вещественных аргументов x и y, не равных нулю, atan2 (y, x) - это угол в радианах между положительной осью x плоскости и точкой, определяемой координатами (x, y) .

- статья в Википедии atan2

0 голосов
/ 23 сентября 2011

Если вы можете рассчитывать на поддержку гироскопа, я бы порекомендовал использовать его, потому что вы можете получить углы (Эйлера) напрямую без каких-либо расчетов. См. iOS - образец гироскопа и перейдите по ссылкам внутри.

Не используйте UIAccelerometer, потому что он скоро устареет. Более новая платформа CoreMotion всегда является лучшим выбором, даже для старых устройств.

...