使用lua计算3D空间中一个点的位置,已知其他3个点的位置和它们与所需点的距离

我正在寻找一种方法,根据我想要了解位置的点周围3个或更多其他点的位置及其与该点的距离,计算3D空间中任何点(其中X是宽度,Y是高度,Z是深度)的位置。示例数据:

X:414,Y:71,Z:-963,距离:87(向下取整)

X:612,Y:72,Z:-935,距离:120(向上取整)

X:500,Y:66,Z:-974,距离:2(向下取整)

我已经尝试过移植以下Javascript库:trilateration.js ,因为其他SO答案建议我寻找类似的东西,但使用该库的结果无论我做什么样的排序技巧都会出现极具误差的情况。

附注:我通常有多于3个点,也许我可以根据距离对它们进行排序并使用距离最短的那些点,这将增加精度。

我的lua编程环境(Minecraft OpenComputers)不允许加载C代码,因此任何使用原生库的解决方案都是不可能的。

点赞