Если вы действительно знаете расстояния , а не координаты , то это некорректная задача - существует бесконечное количество плоскостей, которые будут иметь точки с любым количеством заданных расстояний от происхождения.
Это легко проверить. Давайте возьмем кратчайшее расстояние D0
из набора заданных расстояний {D0..DN-1}
и построим плоскость с вектором нормали {D0,0,0}
(вектор длины D0
вдоль оси x
). Для каждой из оставшихся длин у нас теперь есть бесконечное количество точек, которые будут лежать в этой плоскости (образуя круги в плоскости вокруг (D0,0,0)
точки). Более того, мы можем повернуть все векторы на произвольный угол и получить новую плоскость.
Вот простая картинка в 2D (расстояния до линии; ее проще нарисовать;)).
![image](https://i.stack.imgur.com/SSTDR.png)
Как мы видим, на каждой линии есть ДВЕ точки на каждом расстоянии D1..DN-1
> D0
- одна показана для D1
и D2
, а две другие для этих расстояний будут расположены на 4-м квадрант (+x
, -y
). Более того, мы можем повернуть нашу линию вокруг начала координат на произвольный угол и при этом удовлетворить заданные расстояния.