Счетчик горизонтальных и вертикальных колебаний с помощью акселерометра в iPhone/iPad

Я хочу посчитать количество встряхивания по горизонтали и вертикали, я упомянул UIAcceleration

Я также сослался на MotionEvents

Но не мог придумать лучшего подхода. Любой вид помощи высоко ценится, код, ссылки или любой тип.

я просто хочу посчитать количество встряхиваний, сделанных пользователем, встряхивая устройство iphone, встряхивание может удерживать iPhone вертикально или горизонтально (клавиша home внизу)

1 ответ

Решение

Попробуйте DiceShaker. Вам потребуется использовать код для "изоляции мгновенного движения из данных ускорения", приведенный в листинге 4-6 документации по событиям движения (также называемой вычислением фильтра верхних частот), чтобы обнаружить ускорение, предоставляемое пользователем.

РЕДАКТИРОВАТЬ: акселерометр постоянно обеспечивает показания гравитационной составляющей, потому что акселерометр работает с группой пружин, которые определяют составляющую силы (в направлении длины каждой пружины) путем увеличения / уменьшения длины пружины. Так что просто удалите компонент постоянной силы тяжести (сила, которая ВСЕГДА работает), чтобы обнаружить изменение, предоставленное пользователем (отсюда и название high-pass). К счастью, нам не нужно выяснять, как это сделать, потому что Apple проделала тяжелую работу и привела уравнения в свою документацию!

Другие вопросы по тегам