3

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

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

+1

Я думаю, что вам не нужны точные измерения для того, чтобы идентифицировать жест , Есть много примеров распознавания жестов мыши. Пользователь не сможет быстро повернуть телефон :) Я постараюсь найти что-то подходящее, но вы тоже можете посмотреть. –

+1

да, вы совершенно правы! точность не так важна, алгоритм должен быть достаточно умным, чтобы обнаруживать жест!спасибо за внимание :))) – Soheil

ответ

10

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

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

enter image description here

То, что вы на самом деле нужно просто определить ключевые моменты и принять решение. Это звучит как tanget?

enter image description here

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

enter image description here

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

Update

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

enter image description here

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

enter image description here

+0

ясно, я должен использовать Android-устройство _sensors_, чтобы обнаружить этот жест, я уже пробовал использовать с помощью 'Accelerometer' и' Magnetic' сенсоры, и я выяснил их ограничение (http://stackoverflow.com/questions/18786694/whats-wrong-with-my-sensor-monitoring-technique/18939292?noredirect=1#comment27982307_18939292) теперь первый вопрос будет заключаться в том, какие датчики использовать, а затем как реализовать это. .вы знаете, обнаруживая жесты касания, жесты мыши и ... сильно отличаются от жестов датчика. – Soheil

+1

'Что вам на самом деле нужно, это просто определить ключевые моменты и принять ваше решение? ... абсолютно правильно, но как? !! ограничения датчиков не позволяют мне достичь этого – Soheil

+1

Вы разрабатываете программу для одного конкретного телефона? Багги-датчик не имеет никакого отношения к правильному решению. Замените телефон на новый и продолжите. «абсолютно правильно, но как» - просмотрели ли вы примеры/рамки, которые я предоставил? –

Смежные вопросы