protractor
by migerh
JavaScript
// Code from $N Multistroke recognizer
function OptimalCosineDistance(v1, v2) {
var a = 0.0,
b = 0.0,
i, angle;
for (i = 0; i < v1.length; i += 2) {
a += v1[i] * v2[i] + v1[i + 1] * v2[i + 1];
b += v1[i] * v2[i + 1] - v1[i + 1] * v2[i];
}
angle = Math.atan(b / a);
alert(angle);
return Math.acos(a * Math.cos(angle) + b * Math.sin(angle));
}
alert(OptimalCosineDistance([0, 1], [1, 0]));