android - 你能解释一下(数学计算)手势示例(Levenshtein)吗?

标签 android math gesture

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

我无法理解addmovecostLevenmeatureGesture 方法。

你能一步步解释吗?

最佳答案

看看 this page 上的算法因为它包含派生自的原始代码。

以下是我对函数作用的总结:

  • addmove:首先它决定鼠标/指针移动的距离是否足以算作要记录的新位置。如果有,则它会确定移动在 8 个方向中的哪个方向并将其添加到移动列表中。

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

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

关于android - 你能解释一下(数学计算)手势示例(Levenshtein)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2411547/

相关文章:

php - 如何确定数据是在 PHP 中增加还是减少

java - 将源代码转换为 LaTeX

opencv - Opencv中的手势识别

flutter - 在 Flutter 中,子部件如何防止其可滚动父部件的滚动?

android - 如何为 Android 测试生成缩放/捏合手势

android - Android Studio中缺少与Gradle图标同步项目

android - 在 Activity 之外显示对话

java - 更改返回堆栈 Activity 按钮状态

android - 如何从更新的源文件构建Android Studio/Gradle?

javascript - 如何在游戏中实现物体运动的摩擦力