Посмотрите на этот вопрос . В частности, вы ищете распознавание рукописного ввода в режиме онлайн , означающее, что вы следите за каждым шагом пользователя от начала до конца.
Теперь вы, возможно, захотите упростить все это, поэтому одним из способов является определение 9 областей, например сетки 3х3. Затем преобразуйте движение пользователя в список того, как пользователь перемещался по этим сеткам (используйте пороги, чтобы убедиться, что он некоторое время находился в этой области). Теперь у вас будет такой массив: 1-1, 1-2, 2-2, 2-3 (это означает, что пользователь прошел из левого верхнего угла, верхнего среднего и т. Д.)
Эту информацию теперь довольно легко сопоставить с набором жестов. Если он работает плохо, вы можете либо усложнить его и ввести Скрытую марковскую модель , которая допустит некоторые ошибки в жесте (но все равно будет соответствовать наиболее вероятной, имеющейся в вашем наборе жестов), или Вы можете просто отобразить для пользователя сетку, чтобы пользователь мог выучить такие жесты, как числовые коды.