Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / анализ движения мыши / 10 сообщений из 10, страница 1 из 1
28.06.2010, 14:47:08
    #36711373
infund
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
Приветствую.

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

Спасибо.
...
Рейтинг: 0 / 0
28.06.2010, 14:52:21
    #36711382
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
Ты не задал ограничений. Вертикальный драг-дроп можно считать круговым движением с бесконечно большим радиусом. Сечёшь? Нужны ограничения, иначе твоя постановка безсмысленна или имеет много противоречивых реализаций.
...
Рейтинг: 0 / 0
28.06.2010, 14:54:33
    #36711387
infund
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
mayton,

перемещения в пределах формы небольшого размера, скажем, 400x400 px
...
Рейтинг: 0 / 0
28.06.2010, 14:56:19
    #36711390
infund
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
вот чего хочется. Скажем, двинул что-то там пользователь, получили массив OnMouseMove. И проанализировать - этот набор векторов на что больше всего похож - на горизонтальное/вертикальное/вращение по/против стрелки
...
Рейтинг: 0 / 0
28.06.2010, 15:54:49
    #36711547
fleandr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
если есть массив координат то самое тупое что можно придумать - взять и посчитать какую нить меру отклонения от идеальной траектории - например СКО
с кругом сложность заключается в том что неясен радиус
Если только такие типы движений
можно вообще упростить и детектить все по трем точкам на основании полукруг - "мышка вверх вправо - мышка вниз вправо" не отпуская ЛКМ и движение верх-вправо - вниз должно быть ощутимым, чтобы исключить случайные дерганья мыши.
...
Рейтинг: 0 / 0
28.06.2010, 16:17:23
    #36711626
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
infundmayton,

перемещения в пределах формы небольшого размера, скажем, 400x400 px
Можно попробовать анализ Фурье для дифференциалов движения.
...
Рейтинг: 0 / 0
28.06.2010, 17:11:37
    #36711754
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
maytonМожно попробовать анализ Фурье для дифференциалов движения.
+1. Я бы с этого начал бы.
...
Рейтинг: 0 / 0
29.06.2010, 17:54:16
    #36713744
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
ShSergemaytonМожно попробовать анализ Фурье для дифференциалов движения.
+1. Я бы с этого начал бы.

Еще можно в программу добавить процесс обучения - когда рисуешь, а потом связываешь, что будет за действие.
Тогда можно делать по коэффициенту корреляции с выученной фигурой - и маленький кружок отличить от большого даже.

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

Была такая программа - по заданному движению мышки могла выполнить сворачивание всех окон в винде, например... я пользовался. Название забыл...
...
Рейтинг: 0 / 0
29.06.2010, 19:24:14
    #36713982
mikhail_n
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
Мужики, а кто такие "дифференциалы движения"?
...
Рейтинг: 0 / 0
29.06.2010, 19:46:37
    #36714008
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
анализ движения мыши
mikhail_nМужики, а кто такие "дифференциалы движения"?

Я попробую обьяснить "по-печному" - так как я тоже не математик ни разу.

что у нас есть из двух точек движения мыши -
где было и где стало. если отбросить расстояние, и закодировать
влево -1
вправо 1
вверх -2
вниз 2

То для круга у нас получится некая последовательность групп чисел - типа

-1 -2 раз
-1 2 два
1 2 три
1 -2 четыре и выдохнули - вернулись на начальную точку.

Эти же данные можно собрать из любого движения - и не важно будет, большой круг или маленький - угол наклона движения влево вверх (итп) - тоже можно отбросить, как и расстояние.

И если порядок такого массива не нарушился (пробегаем по всему массиву) - значит это что-то типа круга, так как принцип смены направления - соответствует.

Где-то так...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / анализ движения мыши / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]