Dandan писал(а):
Рассмотрения попарного пересечения отрезков не хватит
Тоже верно.
Dandan писал(а):
пересекает нечетном числе точек(вершина считается за две)
С этим нужно поосторожнее. Намного поосторожнее. Потому как возможны два варианта (1) луч касается ломаной внешним образом (считаем два раза); (2) пересекает ломаную (считаем один раз). Проще всего этого избежать, выбрав луч не проходящий ни через одну из точек. Благо в выборе луча мы свободны. Альтернатива (может быть и много лучшая): смотреть, находятся ли свободные концы отрезков в разных полуплоскостях. Плюс проверять на еще одну радость, лежащие на луче отрезки (их выбрасываем, но как-бы совмещаем смежные с ними).
Итого, суммарный алгорифм выглядит так: быстро проверяем вложенность многоугольника
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
в
![$B$ $B$](https://dxdy-03.korotkov.co.uk/f/6/1/e/61e84f854bc6258d4108d08d4c4a085282.png)
, потом
![$B$ $B$](https://dxdy-03.korotkov.co.uk/f/6/1/e/61e84f854bc6258d4108d08d4c4a085282.png)
в
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
. Если не повезло и ответа не получили, гоним пересечение отрезков.
Еще один вопрос, требующий некоторого внимания, это возможность самопересечения ломаной (границы многоугольника). В случае, если это возможно, есть разные определения того, что значит внутри многоугольника.