а что тут реализовывать, уже всё реализовано. разве что аргументы передаются странно, иксы отдельно, игреки отдельно. можно обёрточку сделать чтобы аргументы пересобрать.
в питоне можно по двум спискам с помощью zip итерироваться, без указателей
Чесно говоря мне все равно немного сложно разобраться, какие переменные что обозначают. Я правильно понимаю, в данном примере x, y - это наши self.event.x и self.event.y, а "(-100, 100, 100, -100), (100, 100, -100, -100)" - это координаты x1, y1, x2, y2 нашего многоугольника?