как обнаружить этот конкретный жест движения с помощью датчиков?

Я работаю над проектом Android. его цель - обнаружить предопределенный жест движения устройства. если устройство поворачивается на 45 градусов по оси (X, Y или Z), а затем возвращается в свое первое положение (первое и второе положения не будут точными, я имею в виду, если бы оно было повернуто на 50 градусов вместо 45, а не важно !!!) значит жест произошел и приложение должно его обнаружить.

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


person Soheil    schedule 15.09.2013    source источник
comment
Я думаю, вам не нужны точные измерения, чтобы идентифицировать жест. Примеров распознавания жестов мышью очень много. Пользователь не сможет так быстро крутить телефон :) Постараюсь найти что-нибудь подходящее, но и вы можете посмотреть.   -  person Renat Gilmanov    schedule 20.09.2013
comment
да, вы совершенно правы! точность не так уж важна, алгоритм должен быть достаточно умным, чтобы распознать жест! Спасибо за внимание :)))   -  person Soheil    schedule 20.09.2013


Ответы (1)


Не похоже, что кто-то собирается дать конкретный и ценный ответ. Итак, позвольте мне попытаться сделать это.

Во-первых, даже немного примитивный и прямолинейный подход позволяет заметить, что вам не нужно обрабатывать все данные, поступающие с датчиков. Кроме того, люди не так быстры, поэтому нет необходимости обрабатывать 10000 значений в секунду, чтобы определить какое-либо конкретное движение.

введите здесь описание изображения

На самом деле вам нужно просто определить ключевые моменты и принять решение. Вам это не кажется tanget?

введите здесь описание изображения

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

введите здесь описание изображения

Таким образом, может быть проще разработать правильное решение.

Обновить

Давайте представим, что я держу свой телефон и мне нужно повернуть его на 90 градусов против часовой стрелки, а затем на 180 градусов по часовой стрелке. Я надеюсь, вы не ожидаете, что я буду делать какие-то сложные 3D-формы в воздухе (это нарушит удобство использования, и, честно говоря, я не хочу потерять свой телефон), поэтому можно сказать, что может быть точка, которую мы можем отследить, или мы можем легко имитировать его.

введите здесь описание изображения

См. мой другой ответ, чтобы увидеть простое, но работающее решение аналогичной проблемы:

введите здесь описание изображения

person Renat Gilmanov    schedule 23.09.2013
comment
очевидно, я должен использовать сенсоры устройства Android, чтобы обнаружить этот жест, я уже пробовал способ с использованием сенсоров Accelerometer и Magnetic и выяснил их ограничение(stackoverflow.com/questions/18786694/) теперь первый вопрос будет заключаться в том, какие датчики использовать, а затем как это реализовать... вы знаете, обнаружение сенсорных жестов, жестов мыши и... сильно отличается от сенсорных жестов. - person Soheil; 23.09.2013
comment
What you actually need is just to identify key points and make your decision...совершенно верно, но как?!! ограничения датчиков не позволяют мне достичь этого - person Soheil; 23.09.2013
comment
Вы разрабатываете свою программу для одного конкретного телефона? Глючный датчик не имеет ничего общего с правильным решением. Замените телефон на новый и продолжайте. completely correct, but how - Вы просмотрели предоставленные мной примеры/фреймворки? - person Renat Gilmanov; 23.09.2013
comment
да, спасибо. Я видел их, но как вы думаете, способ, которым мы определяем жест мыши, может помочь в обнаружении жеста движения? я так не думаю - person Soheil; 26.09.2013
comment
Я обновил свой ответ. Это мой последний вклад, и я думаю, у вас есть все, чтобы решить вашу задачу. Удачного кодирования. - person Renat Gilmanov; 29.09.2013