First: If you're looking to follow the path as given, but correct for overlaps in some way, for each path, generate the equation for the line, and look for common points across all other lines segments in the polygon. If a common point is found, aside from the endpoint, insert the common point as a new point and remove all points between the point before the point that introduces the collision and the 2nd point of the line you collided with ... I think.
Suppose you have these lines:
And suppose DE introduces an overlap with BC. The overlap point, which we'll call X, then replaces "the point before the point" that introduces the problem, backtracking to the 2nd point in the line it collided with. So, we remove C and D. And we have:
Second: Convert each point into polar coordinates, indexing by theta as you go, and just connect the points in order of theta.
EDITS IN ORANGE