你能解释(数学计算)手势例子(Levenshtein)吗?

时间:2010-03-09 18:33:52

标签: android math gesture

我在这个link中得到了这个例子。

我无法理解addmovecostLevenmeatureGesture方法。

你能逐步解释一下吗?

1 个答案:

答案 0 :(得分:5)

查看this page上的算法,因为它包含了源自的原始代码。

以下是我对这些功能的总结:

  • addmove:首先它确定鼠标/指针是否移动得足够远,以便计算为要记录的新位置。如果有,则确定移动所处的8个方向中的哪个方向并将其添加到移动列表中。

  • costLeven:计算两个序列之间的Levenshtein distance。在这种情况下,它用于测量每个预定义手势序列与用户输入的手势序列之间的距离。它基本上用于根据输入手势确定哪个字母是输出的最佳选择。 Levenshtein小距离表示更好的匹配。

  • matchGesture(最接近meatureGesture):接受用户输入的手势并根据所有预定义手势进行检查,以根据Levenshtein距离找到最佳匹配。如果匹配足够接近,则匹配最佳匹配的预定义手势的键将传递给onGestureListener.onGesture(),触发某些操作。在这种情况下,它会向屏幕输出一个字母。