gpt4 book ai didi

algorithm - 圆周相交算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:43 25 4
gpt4 key购买 nike

我有一个点数组,其中(点)我知道坐标(在我的坐标平面中,x/y)。然后我有一个未知坐标点,但我知道从“已知”点到该点的距离。我正在寻找“未知”点坐标。应该是一种三角测量。

我考虑过用方程组来描述情况。

假设这个数据:

coord[n] basePoints;
double[n] dist;
coord result;

让我们把坐标想成:

struct {
double x,y;
};

现在,周长方程为:

x^2 + y^2 + ax + bx + c = 0
where:
a = basePoint[i].x
b = basePoint[i].y
c = a^2 + b^2 + r^2
r = dist[i]

在这种情况下,我们需要 3 个点来准确确定结果点位置,因此我们需要一个包含三个方程的系统。问题是:是否有一些快速的方法可以找出结果坐标,没有,是否有算法可循?

编辑:

我在这里找到了我正在寻找的算法 Trilateration using 3 latitude and longitude points, and 3 distances .

非常感谢@hardmath 提供的方法名称和维基百科文章。

最佳答案

重述问题:您有 n 个以 basePoint[n] 为中心、半径为 dist[n] 的圆单个公共(public)交叉点。你想找到那个点。

取前两个圆并找到它们的交点。有 1 或 2(或 0,但问题无解)。如果是 1,那应该就是答案。如果为 2,则与下一个圆圈消除歧义。您可以继续验证该点是否在所有其他圆圈上。

关于algorithm - 圆周相交算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8916892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com