uses windings of polygons to calculate inside outside