有一款名为starbase的游戏问世,它包含自己的编程语言。我正在尝试使用至少 4 个参考点制作 GPS 系统。在游戏中,有提供距离的接收器和发射器。基本上我有 4 个已知点,距离一个点。我知道我可以使用三边测量,但我似乎找不到可以转换为代码的实际方程式。如果有人能帮忙,那将是:)。
对于平方距离,你有这样的方程:
(Ax-x)^2 + (Ay-y)^2 + (Az-z)^2 = A_Dist^2 {1}
其中 Ax,Ay,Az 是第一个接收器的坐标,未知数 x,y,z 是对象坐标,A_Dist 是从 pbject 到接收器 A 的距离。要解决的线索。
解决这个问题的一种方法是从随机点 p 开始(例如您最后的已知位置)。然后:
- 环游每个站点
- 计算P和车站之间的距离
- 如果距离太大,请向车站走一条 epsilon
- 如果距离太小,请从车站走一个 epsilon
- 这个ε应该与差异的大小成正比
- 重复固定次数,或者直到位置不再变化
这种方法允许超过4个工位,也允许一些测量误差。
您可以根据需要试验 epsilon 的大小和步数,以在几次迭代中获得足够好的结果。