几何图案质量和填充

时间:2012-11-07 14:29:38

标签: algorithm statistics computational-geometry

在上图中有一些几何图案。模型a距离是已知的。点严格不在模型距离内。

我想:

  • 计算每个点质量(点之间的实际距离不是a)更好的点适合模式它应该具有更好的质量系数(我试图采取距离和45度角)
  • 消除错误的点(我用红色标记了它) - 它与模式质量计算有关

到目前为止我尝试了什么:

  1. 互相取点
  2. 计算它们之间的距离和角度
  3. 只接受与当前点相邻的点(距离介于a - deltaa + delta
  4. 之间
  5. 质量是真实距离/ modelDistance * realAngle / modelAngle
  6. 为何失败:

    • 好点质量大幅下降,附近有坏点
    • 如果坏点只有一个邻居,距离和角度都没问题,那么它的质量还可以。

    所以问题是:在这种情况下,计算点质量的最佳算法是什么,以及填充模式。应该通过考虑邻居位置的元素的平均位置来填充模式。最好的答案是伪代码或代码或对某些已知算法的引用,在这种情况下可能会有所帮助。

    问题与我之前的问题Filling rectangle with points pattern有点相关,但填充不能用错误的质量点进行。

2 个答案:

答案 0 :(得分:1)

当你从左到右或从上到下(即相邻的好点之间的平均距离a已经足够清楚)时,如果点的误差/失真没有变大,你可以尝试以下:

  • 通过在划分a(生成Q i )时取x和y坐标的余数,将每个点P i 带入正方形[0,a[ x [0,a[。因此,好点将或多或少地映射到一个点上。
  • 在这些生成的点中,Q i 选择一个具有最近邻居的点R(例如,对于到其他点的所有距离总和1/distance Q j ,j≠i,并选择具有最大和的那个)。
  • 现在你可以通过在距离Q i 到R的位置来区分好点和坏点P i 。(点P i 相应的Q i 接近R将是好点。)

如果点R(具有最近邻居)的坐标接近0或a(即R接近正方形[0,a[ x [0,a[的边界),则最好从头开始并添加{{1在计算余数之前,相应的坐标(每个P i ),以使点R更多地到达正方形的中心。 (或者你设法计算在一侧留下方形a/2的不同可能性的最小距离,并在另一侧返回它。)

答案 1 :(得分:1)

优点似乎沿着网格排列。可以使用RANSAC使用线拟合算法找到网格线。 RANSAC线拟合是一种概率算法。您将不得不重复它,直到找到几乎水平或垂直的线。取出该线上/附近的点,然后转到下一个网格线。根据您的问题特征,如果剩下的点太少或者一条线上/附近的点太少,您将停止寻找新的网格线。剩下的点是不好的。当您找到找到的网格线的交点并且在交叉点附近没有任何点(来自所有原始网格线)时,您可以在这里填写一个点。