Задать вопрос
Max_Cohen
@Max_Cohen
Программист, который не программирует

Определить, что точка внутри фигуры или нет?

Добрый день, по какой формуле или алгоритме можно определить, что точка внутри этой фигуры?

5a6035cb01933406731842.png
  • Вопрос задан
  • 7724 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
Max_Cohen
@Max_Cohen Автор вопроса
Программист, который не программирует
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
@evgeniy_lm
Сумма углов между тестовой точкой и ближайшими точками фигуры должна быть 360 градусов. Берем по очереди все пары точек фигуры, определяем углы, суммируем и удивляемся
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Проведите из точки луч в любую сторону. Если он пересекает контур нечётное число раз, то точка в контуре, если чётное (или ноль), то вне контура.
Если луч попадает в вершину, то надо определить, как расположены примыкающие к этой вершине отрезки контура относительно луча. Если отрезки находятся с разных сторон от луча, то засчитывается одно пересечение, если с одной - то ни одного.
Если один из отрезков контура совпадает с лучом, то надо смотреть как располагаются относительно луча соседние отрезки.

Ещё можно взять интеграл по контуру относительно точки, но там сложно распознать краевые случаи из-за погрешности вычислений.
Ответ написан
DanilBaibak
@DanilBaibak
Machine Learning engineer
Если известны координаты:

Х_фигуры_min < Х_точки < Х_фигуры_max
Y_фигуры_min < Y_точки < Y_фигуры_max
Ответ написан
Комментировать
@zhopop
6252c069d33b3558451363.png

Вот самый банальный пример, который демонстрирует недостаточность этих условий....
Ответ написан
Комментировать
@Black0ut
Rsa97 А подскажи пожалуйста, почему именно так: "Если отрезки находятся с разных сторон от луча, то засчитывается одно пересечение, если с одной - то ни одного"? Есть какое то правило на этот счет? Формула? Всю голову сломал, но так и не додумался почему так это работает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы