Счетчик горизонтальных и вертикальных колебаний с помощью акселерометра в iPhone/iPad
Я хочу посчитать количество встряхивания по горизонтали и вертикали, я упомянул UIAcceleration
Я также сослался на MotionEvents
Но не мог придумать лучшего подхода. Любой вид помощи высоко ценится, код, ссылки или любой тип.
я просто хочу посчитать количество встряхиваний, сделанных пользователем, встряхивая устройство iphone, встряхивание может удерживать iPhone вертикально или горизонтально (клавиша home внизу)
1 ответ
Попробуйте DiceShaker. Вам потребуется использовать код для "изоляции мгновенного движения из данных ускорения", приведенный в листинге 4-6 документации по событиям движения (также называемой вычислением фильтра верхних частот), чтобы обнаружить ускорение, предоставляемое пользователем.
РЕДАКТИРОВАТЬ: акселерометр постоянно обеспечивает показания гравитационной составляющей, потому что акселерометр работает с группой пружин, которые определяют составляющую силы (в направлении длины каждой пружины) путем увеличения / уменьшения длины пружины. Так что просто удалите компонент постоянной силы тяжести (сила, которая ВСЕГДА работает), чтобы обнаружить изменение, предоставленное пользователем (отсюда и название high-pass). К счастью, нам не нужно выяснять, как это сделать, потому что Apple проделала тяжелую работу и привела уравнения в свою документацию!