我的要求: 用户应该能够手动绘制一些东西。然后,在他取下笔(或手指)后,算法会平滑并将其转换为一些基本形状。
要开始,我想将绘图转换为尽可能类似于原始的矩形。 (当然,如果用户故意绘制其他东西,这将不起作用。)现在我正在计算平均x和y位置,我区分水平线和垂直线。但它还不是一个矩形,而是某种正交线。
我想知道是否有一些众所周知的算法,因为我在一些触摸屏应用程序中看到了几次。你有阅读提示吗?
更新:也许模式识别算法可以帮助我。有些手机要求用户绘制图案以解锁其密钥。
P.S。:我认为这个问题与特定的编程语言无关,但如果您有兴趣,我将使用RaphaelGWT构建一个Web应用程序。
答案 0 :(得分:9)
Douglas-Peucker算法用于地理位置(例如,简化GPS轨道)我想这也可以在这里使用。
答案 1 :(得分:5)
根据您的描述,我猜您正在寻找矢量化算法。以下是一些可能对您有所帮助的提示:
矢量化算法有很多资源,我相信你能找到适合你需求的东西。不过,我不知道这些算法实现起来有多复杂,