Algorithm 有没有什么著名的算法可以让用户';将图形转换为平滑的形状?

Algorithm 有没有什么著名的算法可以让用户';将图形转换为平滑的形状?,algorithm,graphics,geometry,raphael,computational-geometry,Algorithm,Graphics,Geometry,Raphael,Computational Geometry,我的要求: 用户应该能够用手画一些东西。然后,在他取下笔(或手指)后,一个算法将其平滑并转换为一些基本形状 首先,我想将图形转换为一个尽可能类似于原始图形的矩形。(当然,如果用户有意绘制其他内容,这将不起作用。)现在我正在计算平均x和y位置,并区分水平线和垂直线。但它还不是矩形,而是某种正交线 我想知道是否有一些著名的算法,因为我在一些触摸屏应用程序中看到过几次。你有一些阅读技巧吗 更新:也许模式识别算法会对我有所帮助。有些手机要求用户画一个图案来解锁钥匙 注:我认为这个问题与特定的编程语言无

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

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

我想知道是否有一些著名的算法,因为我在一些触摸屏应用程序中看到过几次。你有一些阅读技巧吗

更新:也许模式识别算法会对我有所帮助。有些手机要求用户画一个图案来解锁钥匙


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

该算法用于地理(例如简化GPS轨迹)我想它也可以在这里使用。

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

  • -光栅图片中边缘的开源矢量器
  • -描述不同的矢量化算法实现

有很多关于矢量化算法的资源,我相信你会找到适合你需要的东西。我不知道这些算法实现起来有多复杂,不过,对于一个有趣的链接来说,

+1。10年前,我在一家公司工作,人们在ArcGIS 3.2中手工做了与此相反的事情:-)如果你有兴趣,我用道格拉斯·佩克算法的一点动画写了一个答案。。。你说的“平滑”是指变成矢量形状吗?或者你想保持位图格式,只是让它看起来更好?他要求你对它进行矢量化,这样你就可以对它执行平滑算法。或者我不是在建议,不是在问;-)。其思想是将手绘位图形状转换为矢量多边形,然后可以轻松简化并渲染回位图。