我需要帮助解决一个问题,问题是在做我的一个小机器人实验时出现的,基本思想是每个小机器人都有能力近似距离,从它们自己到一个物体,但是近似我得到的方式太粗糙了,我希望计算出更准确的东西。
所以:
输入:顶点列表(v_1, v_2, ... v_n)
, 一个顶点 v_*
(机器人)
输出:未知顶点的坐标 v_*
(目的)
每个顶点v_1
至 v_n
的坐标是众所周知的(通过在顶点上调用 getX()
和 getY()
提供),并且可以得到到 v_*
的近似范围。打电话; getApproximateDistance(v_*)
, 函数 getApproximateDistance()
返回两个变量变量,即; minDistance
和 maxDistance
. - 实际距离介于两者之间。
所以我一直在尝试获取 v_*
的坐标, 是使用三边测量,但是我似乎无法找到一个公式来进行有限制的三边测量(下限和上限),所以这正是我正在寻找的(数学不够好,自己弄清楚) .
注意:三角剖分是要走的路吗?
注意:我可能很想知道一种方法,性能/准确性权衡。
数据示例:
[Vertex . `getX()` . `getY()` . `minDistance` . `maxDistance`]
[`v_1` . 2 . 2 . 0.5 . 1 ]
[`v_2` . 1 . 2 . 0.3 . 1 ]
[`v_3` . 1.5 . 1 . 0.3 . 0.5]
图片展示数据:http://img52.imageshack.us/img52/6414/unavngivetcb.png
很明显,
v_1
的近似值可以比[0.5; 1]
更好,由于上述数据创建的图形是环的小切口(受 v_3
限制),但是我将如何计算它,并可能在该图形中找到近似值(该图形可能是凹形的)?这会更适合 MathOverflow 吗?
最佳答案
我会从“最大/最小”切换到尝试最小化误差函数。这使您可以解决 Finding a point that best fits the intersection of n spheres 中讨论的问题这比交叉一系列复杂的形状更容易处理。 (如果一个机器人的传感器搞砸了并且给出了一个不可能的值怎么办?这种变化通常仍然会给出一个合理的答案。)
关于math - 有限制的三边测量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149846/