Como desenhar um contorno em torno de qualquer linha

Então eu tenho uma linha arbitrária (veja um exemplo mostrado na fig 1) composta de n pontos

Eu quero desenhar um contorno em volta dessa linha (veja a fig. 2), então preciso calcular os pontos do polígono ao redo

Comecei realizando uma dilatação na linha, mas isso não funcionou - veja a figura 3

Alguma sugestão sobre como fazer isso?

Suspeito de calcular o normal de cada segmento de linha para usar na tradução da nova linha abaixo e de uma nova linha acima da sua posição atual e depois estender cada nova linha até o infinito e definir os pontos como interseções?

questionAnswers(5)

yourAnswerToTheQuestion