Die Berechnung einer sauberen Parallelkurve für alle möglichen Ausgangskurven ist eines der anspruchsvolleren Probleme der zweidimensionalen Darstellung. Ich kenne viele Programme, die bei dieser Aufgabe unter bestimmten Bedingungen scheitern.
Das Verschieben der einzelnen Segmente ist da noch recht einfach, aber das Berechnen der neuen Schnittpunkte und die Analyse, welche Segmente dabei wegfallen , ist alles andere als trivial (insbesondere wenn auch Bögen vorkommen). Ein solcher Algorithmus ist deswegen auch entsprechend komplex und nicht in ein paar Sätzen hier eingetippt.
offset polyline algorithm