Как равноудаленно передискретизировать линию (или кривую)?

у меня есть строка l_1 с точечным рядом p_1, ..., p_n . Теперь мне нужна новая строка l_2 , имеющая k очков: q_1, ..., q_k. Но для всех i \ in {1, ..., k-1}: abs (q_i - q_i + 1) = const , то есть сегменты l_2 являются равноудаленный или равномерный.

  • k> = 2
  • и p_1 и p_n должны быть в l_2 .
  • abs (p_i - p_i + 1) не const

Одним из решений является аппроксимация линии сплайном, а затем повторная субдискретизация, чтобы затем иметь сегменты одинаковой длины. Могу я сделать что-нибудь лучше? Есть ли для этого какой-нибудь код на C ++?

А, я упустил конкретную деталь: эти q_i должны быть в l_1 , то есть либо они находятся на отрезках линии l_1 или они являются точками выборки l_1 .

8
задан math 29 October 2010 в 14:04
поделиться