【问题标题】:Closest pair - too many points?最接近的一对 - 点太多?
【发布时间】:2014-10-05 08:18:14
【问题描述】:

让我们来看看这张照片。

基本上,我们遵循众所周知的步骤:对点进行排序,将点数组分成两半,然后递归计算到右侧和左侧的最小距离。 我们认为 δ 是两个计算距离中的最小值。 让我们考虑一个点 p,从左侧开始。现在我们有这些假设: “从右侧到 p 的 δ 距离内的所有点都位于 δ x 2δ 矩形 R 中。如果每一对至少相隔 δ,则有R"内最多 6 个点。

这些假设有点模棱两可。
1。我们应该把矩形放在哪里? A 应该是 p 在边界上的投影吗?

2。 “内部” R 的 6 个点实际上是矩形的顶点和中点的 2 个?

3。为什么红圈内的3点是候选?从 A 到顶点的距离是 δ√2 > δ。如果我们考虑 p 和 A 之间的距离为 x,那么 p 和另一点(中点)之间的距离将是 x + δ > δ。

来源:https://www.cs.ucsb.edu/~suri/cs235/ClosestPair.pdf

【问题讨论】:

    标签: algorithm computational-geometry


    【解决方案1】:
    1. 矩形应该放在P2区域,是的,A应该是p在边界上的投影。矩形的左边应与中线重合。

    2. 这 6 个点是在区域 R 中可以找到的最大点数,因为任意两对点之间的最小距离为 delta。如果有 6 个点,那么是的,这些点的位置应如您所描述的那样。

    3. 可能存在p与A重合的情况。因此我们知道除了最右边的两个顶点外,其他4个点都可以是有效的候选点。现在顶点上的点本身不能成为候选点,但它们充当了我们应该考虑作为候选点的点的边界。

    【讨论】:

    • 我想我开始明白了,这要归功于您对“2”的回复。所以基本上如果我们有 6 个点,这将是这些点的独特排列。如果我们有较少的点,矩形内的点的布置将更加宽松。所以剩下要做的就是把右边的点投影到边界上,取离项目最近的6个。原点并计算距离?并对 δ 带左侧的每个点重复此操作。
    • @SilentControl 是的,你理解正确。如果少于六个点,那么它们可以位于矩形内的任何位置(前提是它们至少成对相隔 delta)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多