straight skeleton algorithm, which forms the basis for most polygon offset curve algorithms https://www.cgal.org/UserWorkshop/2004/straight_skeleton.pdf The general idea is this:  [CGAL implementation](http://doc.cgal.org/latest/Straight_skeleton_2/index.html#Chapter_2D_Straight_Skeleton_and_Polygon_Offsetting)
straight skeleton algorithm, which forms the basis for most polygon offset curve algorithms
https://www.cgal.org/UserWorkshop/2004/straight_skeleton.pdf
The general idea is this:
CGAL implementation