Если я правильно понимаю, вы ищете промежуточную полилинию между двумя заданными полилиниями через данную точку.
Если ваши две исходные полилинии имеют одинаковое количество точек, вы можете рассмотреть линейную интерполяцию между соответствующими сегментами, используя параметр t в диапазоне [0 1]. Каждая новая вершина задается
Xti = (1 - t) Xai + t Xbi
Yti = (1 - t) Yai + t Ybi
Когда t = 0, это дает верхнюю поверхность, t = 1 нижнюю поверхность и другие t промежуточных поверхностей.
Теперь осталось найти значение t, через которое проходит линия (xc, yc). Каждый сегмент может быть представлен своим параметрическим уравнением между точкой i и i + 1 (пусть j), используя некоторый параметр p. Это приводит к следующим уравнениям:
Xc= (1 - p) Xti + p Xtj
Yc= (1 - p) Yti + p Ytj
Теперь для каждого сегмента i-j у вас есть система из двух уравнений с двумя неизвестными (t и p). Вы сохраните решение i-j таким образом, чтобы p попадало в диапазон [0 1]