Как преобразовать вектор с n координат в 2-д вектор?

Допустим, имеется 2 вектора: (10,10, 0), (-10, 10, 0), требуется преобразовать их в такие двухмерные векторы, чтобы сохранить расстояние между ними. Например, в данном случае, Евклидово расстояние между этими векторами равно: 20, тогда новые векторы должны быть: (10, 0), (30, 0) (т.к расстояние между ними так же равно 20)

Очевидно, что может быть бесконечное количество решений, поэтому условимся, что расстояние от центра координат до данных векторов должно быть равно расстоянию от центра координат до выходных векторов. А так же, расстояние от произвольной точки А (выбираем до всех вычислений) до входного вектора, должно быть таким же, как расстояние от точки А до выходного вектора.

Нужен алогоритм, который может на вход принять n-ое количество векторов с любым кол-вом координат (например, вектор (10, -10, 5, 4, 15, 16, 0, -3, -12, 5)), а на выходе должны получаться двухмерные векторы. Расстояние между входными и выходными векторами должно быть одинаковым.

Возможно ли вообще реализовать подобное с минимальной погрешностью?


Ответы (0 шт):