История изменений
Исправление t184256, (текущая версия) :
Даже и не знаю, как тут можно поподробнее, но постараюсь.
Вот у тебя на плоскости многоугольник ABCDEF и точка X. Считаешь векторное произведение [ABxAX]. Оно либо в одну сторону торчит, либо в другую. Фиксируем какое-либо из направлений, смотрим знак проекции на него. Пусть будет, допустим, +.
Теперь повторяем то же самое для [BCxBX], [CDxCX] ... [FA,FX]. Если все знаки одинаковые (все + или все -), то точка внутри.
Подвох прост: чтобы это работало, нужна выпуклость.
Исходная версия t184256, :
Даже и не знаю, как тут можно поподробнее, но постараюсь.
Вот у тебя на плоскости многоугольник ABCDEF и точка X. Считаешь векторное произведение [ABxAX]. Оно либо в одну сторону торчит, либо в другую. Фиксируем какое-либо из направлений, смотрим знак проекции на него. Пусть будет, допустим, +.
Теперь повторяем то же самое для [BCxBX], [CDxCX] ... [FA,FX]. Если все знаки одинаковые, то точка внутри.
Подвох прост: чтобы это работало, нужна выпуклость.