【问题标题】:Build a geographical map from triangle points based on distance根据距离从三角形点构建地理地图
【发布时间】:2018-05-26 10:41:12
【问题描述】:

我在网格上随机放置了 5 个 {x,y} 点

每个点不知道其他点的 {x,y} 坐标

每个点知道其他每个点到它们的 {x,y} 位置的距离

每个点都与其他点交换距离信息

所以每个点都知道每个其他点的距离

使用此距离信息,每个点都可以计算(通过找到角度)以自身为参考点的每个其他点的三角形

例如,点 1 可以计算出以下三角形: 1-2-3, 1-2-4, 1-2-5, 1-3-4, 1-3-5, 1-4-5, 并使用从其他点收到的距离数据,它还可以计算 2-3-4, 2-3-5, 2-4-5, 3-4-5

我想建立一个相对于单个点的其他每个点的位置地图

我该怎么做呢?我假设这将是某种三角测量算法,但这些似乎主要是从其他三个点计算一个点的位置,而不是仅根据距离信息发现其他点 {x,y} 坐标的其他方式.

我尝试为每 3 个三角形点绘制两个可能的三角形,然后在固定的已知点上旋转它们以尝试对齐它们,但我认为这条途径最终会带来太多的可能性和错误

最终我希望每个点都以 {x,y} 坐标结束,每个其他点都相对于自身

【问题讨论】:

    标签: geometry triangulation trilateration


    【解决方案1】:

    你知道一个点到另一个点的距离,dij。因此,点 2 位于中心点 1 的圆周上,半径 = d12。点 3 位于中心点 1 的圆周上,R=d13,它也位于中心点 2 的另一个圆周上,R=d23。

    看这张图:

    为简单起见,我在 X 轴上设置了点 2。

    如您所见,点 3 位于以 P1 和 P2 为中心的两个圆的交点上。还有第二个路口P3a。让我们选择向上的那个并继续。

    对于P4,我们可以使用三个圆周,以 P1、P2 和 P3 为中心。我们再次得到两个解决方案。

    可以对其余的点进行相同的处理。对于Pn,您有n-1 周长。
    我相信您可以找到圆与圆相交的数学运算。

    必须遵守一些注意事项:
    1) 如果您首先按到P1 的距离对点进行排序,则构造会更简单。
    2) 并非所有距离都能产生解决方案。例如,增加d13 并且P3 的两个圆周之间没有交集。或者增加d14,现在三个圆周不相交于两个预期点44a
    3) 通过考虑交叉点的平均值以及从每个解决方案到该平均值的距离,这个事实可能会被过度使用。您可以在这些距离中设置容差,并判断平均值是否为解决方案,否则某些dij 是错误的。由于可能有两种解决方案,因此您必须考虑两个平均值。
    4) 在我绘制的情况下,两个可能的三角剖分在 X 轴上是对称的。

    真正的解是通过围绕P1 旋转得到的。要计算旋转角度,您需要另一个点的{x,y} 坐标。

    【讨论】:

    • 太好了,非常感谢。如果在 P1 保持不变的情况下移动单个或多个点,我能否确定这两种可能性中的哪一种是正确的?
    • @billysdomain 对称性始终存在,直到您使用另外两个点的坐标。这意味着,直到你有一个预先知道坐标的三角形,并且你使用这个三角形来解决对称性和旋转问题。
    • 所以解决对称性的唯一可能方法是引入一个已知点,任何点以任何顺序进行的任何移动都无济于事?
    • 任何运动都只是新的距离,因此是新的三角测量。你又回到了起跑线上。没有已知点,对称性仍然存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多