А почему бы не использовать подсчет площади:
1) Считаем площадь многоугольника (векторным произведением)
2) Считаем площади всех треугольников, которые образуются всеми двумя соседними точками многоугольника и точкой, нахождение которой мы проверяем.
3) Суммируем площади
4) Если сумма равна настоящей площади, то точка внутри или на многоугольнике, нет — снаружи
Настоящая площадь — площадь из п. 1
1) Считаем площадь многоугольника (векторным произведением)
2) Считаем площади всех треугольников, которые образуются всеми двумя соседними точками многоугольника и точкой, нахождение которой мы проверяем.
3) Суммируем площади
4) Если сумма равна настоящей площади, то точка внутри или на многоугольнике, нет — снаружи