Я не уверен, насколько общим должно быть ваше решение, но вот метод, который должен работать, чтобы найти среднюю строку для трех вариантов использования в ссылке:
Предположим, одна синяя линия определяется какточки (B1, B2) и другая синяя линия определяются точками (D1, D2).Я бы создал две новые линии: одну, соединяющую B1 и D1, а другую, соединяющую B2 и D2.Используя SymPy, легко определить среднюю точку отрезка.Желаемой красной линией будет линия, соединяющая среднюю точку сегмента (B1, D1) и сегмента (B2, D2).
Это должно работать без изменений для (a) и (b);Случай (с) может быть решен с той же идеей, если вы не забываете обрабатывать каждую пару отрезков линии отдельно.Наслаждайтесь!