Algorithm 三维空间中的三角剖分

Algorithm 三维空间中的三角剖分,algorithm,triangulation,Algorithm,Triangulation,免责声明:这是为课堂准备的,不过我的想法还很新鲜,如果能朝着正确的方向轻推一下,我将不胜感激。此外,这需要在原始C中实现,因此不能使用任何花哨的库 我必须为潜艇编写一个搜索和救援模拟器,它必须找到一个随机放置在3D空间网格中的探测器,从MAX_XYZ 100000开始。我得到的唯一工具是一个ping,它将给出某个sub和探针之间距离的大小。我们的目标是优化整个操作的成本,这样暴力尝试,就像查看每个坐标一样,就不会起作用。因此我想到了三角测量 现在,这对我来说很有意义,放置三个潜水艇,每个潜水艇都

免责声明:这是为课堂准备的,不过我的想法还很新鲜,如果能朝着正确的方向轻推一下,我将不胜感激。此外,这需要在原始C中实现,因此不能使用任何花哨的库

我必须为潜艇编写一个搜索和救援模拟器,它必须找到一个随机放置在3D空间网格中的探测器,从MAX_XYZ 100000开始。我得到的唯一工具是一个ping,它将给出某个sub和探针之间距离的大小。我们的目标是优化整个操作的成本,这样暴力尝试,就像查看每个坐标一样,就不会起作用。因此我想到了三角测量

现在,这对我来说很有意义,放置三个潜水艇,每个潜水艇都使用ping来获得它们和探测器之间的距离。由于每个子体彼此之间都有一个已知的距离,因此很容易用它们来构建一个四面体的底部,ping的结果将指向某个坐标,我面临的问题是如何计算四面体的高程或高度

因此,我的数据如下:

矢量格式的子节点之间的距离 每个潜艇之间的角度很容易计算 每个接头和探头3段之间的距离,从底部到峰值 四面体的3个外表面内的每个角度。 我试着找到四面体顶点和每个顶点的相对角度之间的某种关系,但是我发现的都是用等边三角形构建的四面体,这没有多大帮助。我觉得用trig很容易解决这个问题,但要么我没看到,要么我需要更多的咖啡


如有任何建议,将不胜感激

既然这是作业,我就推一下

一般来说,这是本文的主题

多向定位技术是一种基于卫星测量的导航技术 在已知位置到两个或多个站点的距离差 在已知时间广播信号。不同于绝对值的测量 距离或角度,测量距离差会导致 满足测量要求的无限多个位置。当这些 绘制了可能的位置,它们形成了一条双曲线。到 沿着该曲线定位准确位置,需要进行第二次测量 到不同的一对桩号生成第二条曲线 与第一个相交。当两者进行比较时,一个小数字 显示了一系列可能的位置,并生成了一个修复程序


维基百科条目详细讨论了数学问题。

因为这是家庭作业,我会给你一个提示

一般来说,这是本文的主题

多向定位技术是一种基于卫星测量的导航技术 在已知位置到两个或多个站点的距离差 在已知时间广播信号。不同于绝对值的测量 距离或角度,测量距离差会导致 满足测量要求的无限多个位置。当这些 绘制了可能的位置,它们形成了一条双曲线。到 沿着该曲线定位准确位置,需要进行第二次测量 到不同的一对桩号生成第二条曲线 与第一个相交。当两者进行比较时,一个小数字 显示了一系列可能的位置,并生成了一个修复程序


维基百科条目详细讨论了数学问题。

三个sub当然是不够的。充其量,你可以把可能性缩小到一个顶点,它在潜艇平面上的反射。。。除非潜艇放置在阵列的边界上,例如海床或海面上。镜像将在数组的边界之外。这就是我实际上正在做的。所有三个接头的Z=0。此外,它将相对容易,但找出正确的一面,移动一个子上或下,平,并检查距离是否增加或没有。然后相应地移动,这就是我最初对这个算法的想法。三个sub当然是不够的。充其量,你可以把可能性缩小到一个顶点,它在潜艇平面上的反射。。。除非潜艇放置在阵列的边界上,例如海床或海面上。镜像将在数组的边界之外。这就是我实际上正在做的。所有三个接头的Z=0。此外,它将相对容易,但找出正确的一面,移动一个子上或下,平,并检查距离是否增加或没有。然后相应地移动,这就是我最初对这个算法的想法。非常感谢,我认为这可能更容易实现。让我看看我能做什么!非常感谢,我认为这可能更容易实现。让我看看我能做什么!