我目前有一张来自画布上徒手画的点的数组列表。我想知道是否有一种简单的算法可以检测出该形状是否代表一个圆形,我已经对此进行了一些研究,我所指的主要项目是霍夫变换或具有位图图像,但两者似乎都有点过头了。我需要的顶部。任何指向算法或实现的指针都将非常有帮助。

在此先感谢您,

最佳答案

如果您不知道用户想要绘制什么内容(例如圆形,椭圆形,直线或矩形),则可以使用一些基本的优化算法来找到与手绘点最匹配的形状。

为每种基本形状(椭圆形,矩形,三角形,直线等)

  • ,创建该形状的随机实例,并测量误差w.r.t。给定点
  • (分别)优化每个形状,直到您的椭圆与给定点最匹配,矩形与点最匹配,最佳三角形等为止。
  • 选择误差最小的形状并将其绘制为
  • 10-06 08:57