Sometimes is hard to make algorithms to satisfy the very much generic situations. I intend reformulate my data structures and algorithms to allow set operations over polygons, curves, multi-curves and shapes.
Now is time to think about that, cause I'm going to project and code multi-curves.
My algorithms for set operations work well for polygons (the orthodox case). The picture shows in thick blue the difference between two very weird polygons.
Anyway, I still need to solve a very degenerated case for polygons before try to generalize for more complex objects: polygons with self-intersections. Let's work.
PS: this screenshot was drawn using Windows GDI.