below is a convex polygon, each point should only have 2 visible points, but point_3 got 3.
polygon_crossing function need review, as it return false when checking mid point (208.5, 227)
self.point_1 = Point(298, 163.0)
self.point_2 = Point(263, 168.0)
self.point_3 = Point(199, 194.0)
self.point_4 = Point(192, 227.0)
self.point_5 = Point(218, 260.0)
g = vg.VisGraph()
g.build([[self.point_1, self.point_2, self.point_3, self.point_4, self.point_5]])