Попадание точки в многоугольник

Форум пользователей пакета Mathcad

Модератор: Admin

Nub
Сообщения: 35
Зарегистрирован: Пн май 06, 2013 11:46 am

Попадание точки в многоугольник

Сообщение Nub » Ср ноя 26, 2014 10:19 am

Всем привет, если кто подскажет, буду очень признателен... задача - определить, попадает ли точка на плоскости в замкнутый многоугольник, необязательно выпуклый. Нашёл 2 известных алгоритма (первый вот тут, и ещё много где есть), второй - "метод луча", реализовал оба - не работают...

Может я просто что-то не так делаю с точки зрения маткада? но вроде бы писать

Код: Выделить всё

массив[y<0][x<0]
корректно раз у маткада как в си условие равно 0 или 1 и ORIGIN=0

результат моих усилий прилогается (файл Маткад 15, в архиве zip)

http://forum.exponenta.ru/download.php?id=7356

Nub
Сообщения: 35
Зарегистрирован: Пн май 06, 2013 11:46 am

Re: Попадание точки в многоугольник

Сообщение Nub » Ср дек 10, 2014 9:19 am

мдя всем спасибо за помощь :) кстати нашол тогда вот такое решение может и не совсем правильно но сработало
Изображение
возвращает 0 - точка на одной из вершин
1 - принадлежит многоугольнику
-1 - не принадлежит
вершины многоугольника (p) задаются как матрица N*2, совпадение первой и последней точки обеспечивать не нужно, точка (a) задается как вектор-строка из 2 чисел

основано на методе учета пересечений