Я не думаю, что вы можете делать то, что вы заявляете, что вы хотите сделать.Но это может быть недоразумением с моей стороны.Например, из вашего комментария я понял, что путь между последовательными точками прямой, а не изогнутый.
Возьмем, к примеру, простой путь из 3 точек (0,1,2) и 2 отрезков линии (0-1,1-2) разной длины.Оставьте точки 0 и 2 там, где они есть, и введите новую точку 1 ', которая равноудалена от точек 0 и 2. Если точка 1' находится на одном из отрезков линии 0-1, 1-2, то на одном из отрезков линии 0-1 ', 1'-2 не совпадает с 0-1, 1-2.(Проще нарисовать это, что я предлагаю вам сделать.) Если точка 1 'не находится ни на одном из исходных отрезков, тогда весь путь является новым, кроме его конечных точек.
Итак, каковы отношения междуВы хотите новый путь и старый путь?
РЕДАКТИРОВАТЬ: на самом деле больше расширенного комментария, например мой «ответ», но поле для комментариев слишком маленькое.
Мне все еще не яснокак вы хотите определить новый путь и какое отношение он имеет к старому пути.Сначала вы хотели сохранить одинаковое количество баллов, но в своем редактировании вы говорите, что в этом нет необходимости.Вы соглашаетесь с тем, что замена точек новыми точками сместит путь.Возможно, вам нужен новый путь из точки 0 в точку N-1, определяемый N точками, равномерно расположенными на пути, который минимизирует область между старым и новым путями при рисовании на декартовой плоскости?
Или, возможно, вы могли бы сначала определить путь полинома (или сплайна или другой простой кривой) через исходные точки, а затем перемещать точки туда и обратно вдоль кривой, пока они не будут равномерно распределены?