хмм, я бы попробовал это так: пройтись по точкам, посчитать расстояние между одним и следующим, отследить общее расстояние, отследить, сколько точек вы уже разместили.Затем, для каждой следующей точки в векторе, посмотрите, сколько равномерно распределенных точек вам нужно поместить между новой и последней и нарисуйте их на Безье, чтобы придать фантазии, но прямые уже должны быть хорошими даже.
пример: 3 точки в векторе, общее расстояние 22. расстояние на равномерно распределенную точку: 5. Следовательно, точки, нарисованные на экране до сих пор: 4. Новая точка имеет расстояние от 7 до последней, общее расстояние составляет 29. Вам нужно 5 очковсейчас (Math.floor (29/5) = 5) у вас есть 4, поэтому вам нужно нарисовать 1. Дистанция отдыха = 22 - 4 * 5 = 2. Итак, расстояние до = 5-2 = 3. И 3/ расстояние между новой и последней точкой (9) = 0,333 -> поэтому поместите эту точку на 1/3 линии между новой точкой в вашем векторе и последней точкой.Как и в dot.x = seccondLastPoint.x + ((lastPoint.x - seccondLastPoint.x) * 0,333.
Я почти уверен, что это даст вам желаемый результат. Как вы думаете, вы можете создать кодиз этого описания?