我有一套例如8点。我知道每个点之间的所有距离。是否有算法重建这些点的三维坐标。
答案 0 :(得分:5)
您尝试做的事情称为Trilateration。在你继续之前做一些研究可能是明智的,因为要做到正确是很棘手的。但是,我将从以下内容开始。
只要您拥有实际的3D距离,以下内容就可以正常工作。如果你不这样做,可能会出现问题。
前3个步骤足以定位和固定坐标。
解决步骤3和4可以通过利用平面三角形来完成,平面三角形由于点的居中方式而容易形成。
答案 1 :(得分:2)
假设点位于一般位置。没有3个点位于同一条线上,并且没有4个点位于同一平面上。这不是一个限制,只是为了使算法更简单而不检查特殊情况。
四个球体(在一般位置)的交叉点(如果存在)是单个点。可以看出,由于两个球体的交点是圆形,三个球体的交点是2个点,如果第四个球体的中心不在具有其他3个球体中心的平面上,则该球体只能通过其中一个交点
因此,如果距离有效,则可以通过增量添加点来创建形状。
前4个点的位置定义方向。例如。第一个点设置在原点,第二个点设置在+ X上,给定距离到第一个,第三个点设置在XY平面中,+ Y方向设置在圆形交叉点上,第四个点设置在+ Z方向上,在3个球体的交叉点上。
附加点可以通过4个球体的交点定位,前4个点的中心和距离给出的半径。
答案 2 :(得分:0)
另一种可能性是指标Multidimensionale Skalierung。