Сначала дублируйте каждую строку дважды, по одному с каждой стороны на расстоянии, равном половине ширины, которую вы хотите от каждой исходной строки.Это дает вам зеленые линии на изображении.Затем вам нужно посетить их по порядку (пронумеровать) и разобраться со свободными концами.
Когда линии не совпадают (2-3, 6-7 и 12-13), вы добавляете соединение строк (синим цветом),Соединение линии может быть соединением фаски (2-3), просто соединяя точки, или соединением miter , продолжая линии, пока они не встретятся (6-7) или скругление путем построения кривой.
Когда линии встретятся, просто возьмите точку пересечения (синие точки).
В конце линии необходимо добавить заглушка (также синим цветом).Заглушка может быть прикладом (8-9) путем соединения точек, выступающей заглушкой (1-16) путем небольшого удлинения линий перед их соединением или круглая крышка (не показана).
Конечным результатом является многоугольник (или путь, если он включает в себя круглые соединения), который затем можно обвести или заполнить.