使用距 3 个不同点的距离找到我的位置的算法

标签 algorithm position

我正在尝试为机器人开发一种算法,该算法采用机器人可见的三个不同点的距离,假设每个点都是圆心,距离是该圆的半径,然后将机器人位置映射为这 3 个圆的交点。

我在开发算法时遇到困难,即使是数学公式也会有所帮助。另外,我也有机器人和每个点之间的角度,但不知道在哪里使用它。

希望有人能帮忙。

最佳答案

假设三点不对齐,可以用

(y1 - y2)*(x1 - x3) != (y1 - y3)*(x1 - x2)

如果x1,x2,x3都不同;如果其中两个相等而第三个不相等,则这三个点当然不能对齐并且您无需检查。

我们现在可以简化为一个已知的解决方案:

https://math.stackexchange.com/questions/110309/three-circle-intersection-for-circles-of-unbounded-integer-radius

您的机器人将位于三个圆圈的交点处。 (允许接受我的 1 个字符编辑的额外字符)。

关于使用距 3 个不同点的距离找到我的位置的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610774/

相关文章:

java - 如何制作一个选择最快方式并通过墙壁导航到特定网格点的 AI 系统

html - 显示为 block 元素的链接中文本的位置

position - 起源和位置差异

css - 我可以覆盖父元素的 z-index 继承吗?

ios - 错误的工具栏位置 - iOS

html - 如何在链接旁边显示弹出窗口

c++ - 如何在存储指针的容器中查找整数?

algorithm - 在 RTS 中确定一组单位的方法

java - 简单的 Java 列表问题

javascript - 在 JavaScript 中获取方向上的最近点