$1 Unistroke Recognizer in JavaScript
Jacob O. Wobbrock,1 Andrew D. Wilson,2 and Yang Li1
1University of Washington and 2Microsoft Research
This page implements the "$1 Unistroke Recognizer." Upon loading this page, only one template is defined for each unistroke below, but you can add more or define your own with the buttons beneath the canvas. Unistrokes should be regarded as fully rotation, scale, and position invariant. See our UIST 2007 paper (PDF) or a detailed pseudocode listing.
Also see the new $N Multistroke Recognizer built upon $1. $N can do everything $1 does and a lot more, including multistroke gesture recognition, proper handling of one-dimensional gestures (e.g., lines), direction-agnostic strokes, and bounded rotation invariance. $N also includes two important optimizations for speed, one built-in and one optional.
![]() |
Make strokes on this canvas. If a misrecognition occurs, add the misrecognized unistroke as an example of the intended type.
|