Найти угол наклона телефона от акселерометра?

1

Я пытаюсь сделать приложение, которое будет действовать как секстант (чтобы найти высоту объекта). Можно ли использовать данные с акселерометра, чтобы найти угол, на который указывает телефон? В идеале пользователь будет держать свой телефон в ландшафтном положении и смотреть вдоль его края, чтобы увидеть угол.

Теги:
accelerometer
angle

4 ответа

2

Вы CAN используете акселерометр ТОЛЬКО, чтобы использовать мобильное устройство в качестве секстанта.

Чтобы найти высоту структуры, выполните следующую процедуру:

  • Пользователь держит телефон и смотрит вдоль его края на снизу структуры.
    Здесь он нажимает ButtonA.

  • Пользователь держит телефон и смотрит по краю его на верх структуры.
    Здесь он нажимает ButtonB.

Ваше приложение должно сохранять значение ускорения z при нажатии кнопок.

Теперь угол можно рассчитать как:

Theta = обратный косинус (Zb/Za)

  • 0
    Вы понимаете, что «Zb / Za» должно быть больше 1? Поскольку функция ACos принимает значения только от -1 до 1
0

Данные акселерометра могут рассказать вам, какое направление гравитации тянет, и от этого вы можете выяснить, какой угол телефон удерживается по отношению к земле. Это вряд ли будет очень стабильным или точным, поэтому я не уверен, насколько хорошо он будет работать для точного использования, как то, что вы описываете.

http://code.google.com/p/moonblink/wiki/Tricorder Это приложение представляет собой отличную демонстрацию как данных акселерометра, так и данных компаса, которые может дать ваш телефон. Я рекомендую взглянуть на него, чтобы узнать, могут ли данные, предоставленные вами датчиками, использовать вашу идею.

0

Используйте датчик ориентации. См. документацию SensorManager.

Если вы этого не видели, есть приложение, которое называется Surveyor, которое делает что-то похожее на то, что вам нужно.

-2

Я не думаю, что это возможно. Единственные данные, которые даст вам телефон - это ускорение, изменение скорости во времени.

Вам нужен телефон с функцией компаса, описанной здесь здесь. Я думаю, используя этот датчик, вы сможете реализовать секстант, как приложение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню