【问题标题】:How to group a cluster of points from a set such that it matches the edges of a specific geometric template whose dimensions are know?如何对一组点进行分组,使其与尺寸已知的特定几何模板的边缘相匹配?
【发布时间】:2023-01-06 22:54:28
【问题描述】:

假设有一个笛卡尔二维空间,周围散布着许多点。我现在有一个几何模板,如附图所示。我确定空间中有一些点可以与此模板的边缘完全对齐。有什么高效快速的算法可以找到这些点吗?

提前致谢 !

【问题讨论】:

    标签: graphics computational-geometry


    【解决方案1】:

    据我所知,你必须在集群的每个点上循环,将它与模板的某个顶点匹配,然后找到与模板另一个顶点的距离相匹配的第二个点。这两点定义了一个刚性变换,你可以预测剩下的顶点。然后找到所有剩余的匹配项。

    假设您使用一种有效的数据结构来告诉在次线性时间 D(n) 中已知距离处的匹配点,以及在次线性时间 P(n) 中已知坐标处的匹配点,总成本将类似于

    m.n.(D(n)+(m-2).P(n))
    

    其中 m 是模板的顶点数。 (通过蛮力,复杂度为 n²m²。)

    可能的数据结构包括网格、kD 树和优势树。

    【讨论】:

    • 如果可以进行多次匹配,复杂度会更高。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2021-04-12
    • 1970-01-01
    • 2020-08-23
    • 2013-04-09
    相关资源
    最近更新 更多