是否有一些众所周知的算法将用户的图形转换为平滑的形状?

时间:2011-07-21 06:42:34

标签: algorithm graphics geometry raphael computational-geometry

我的要求: 用户应该能够手动绘制一些东西。然后,在他取下笔(或手指)后,算法会平滑并将其转换为一些基本形状。

enter image description here

要开始,我想将绘图转换为尽可能类似于原始的矩形。 (当然,如果用户故意绘制其他东西,这将不起作用。)现在我正在计算平均x和y位置,我区分水平线和垂直线。但它还不是一个矩形,而是某种正交线。

我想知道是否有一些众所周知的算法,因为我在一些触摸屏应用程序中看到了几次。你有阅读提示吗?

更新:也许模式识别算法可以帮助我。有些手机要求用户绘制图案以解锁其密钥。

P.S。:我认为这个问题与特定的编程语言无关,但如果您有兴趣,我将使用RaphaelGWT构建一个Web应用程序。

2 个答案:

答案 0 :(得分:9)

Douglas-Peucker算法用于地理位置(例如,简化GPS轨道)我想这也可以在这里使用。

答案 1 :(得分:5)

根据您的描述,我猜您正在寻找矢量化算法。以下是一些可能对您有所帮助的提示:

矢量化算法有很多资源,我相信你能找到适合你需求的东西。不过,我不知道这些算法实现起来有多复杂,