我正在寻找一种简单的程序化方式来检测用户是否绘制了圆形。我在 C 中工作,但很高兴使用伪代码工作。一些谷歌搜索带来了一些(希望)过于复杂的方法。
我将鼠标坐标跟踪为浮点数,并创建了一个向量数组来跟踪鼠标随时间的移动。本质上,我希望检测何时绘制了一个圆圈,然后忽略与该圆圈无关的所有运动数据。
我对如何实现这一点有一个基本的想法:
使用轮询功能跟踪所有运动。每次轮询函数时,都会存储当前鼠标位置。在这里,我们遍历历史位置数据并进行粗略的“定位”以比较两个位置。如果新位置距离旧位置足够近,我们会删除旧位置之前的所有历史数据。
虽然这在理论上可行,但在实践中却是一团糟。有没有人有什么建议?如果建议的方法可以检测它是顺时针还是逆时针绘制,则加分。