С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/40: Рейтинг темы: голосов - 40, средняя оценка - 4.53
-8 / 0 / 0
Регистрация: 12.06.2020
Сообщений: 35

Лежит ли точка в многоугольнике ?

12.06.2020, 19:20. Показов 8237. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Даны точка и многоугольник. Нужно проверить, находится ли эта точка внутри многоугольника.

Формат ввода

В первой строке находятся три целых числа — количество вершин многоугольника N и координаты точки на плоскости. В последующих N строках содержатся пары чисел — координаты вершин многоугольника в порядке обхода. Все координаты целые и по модулю не превышают 10**4 (10000).

Формат вывода
Вывести “YES”, если точка находится внутри, и “NO” — в противном случае.

Ввод
3 2 3
1 1
10 2
2 8

Вывод
YES

Мой код (не проходит некоторые тесты)

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def inPolygon(x, y, xp, yp):
    c=0
    for i in range(len(xp)):
        if (((yp[i]<=y and y<yp[i-1]) or (yp[i-1]<=y and y<yp[i])) and (x > (xp[i-1] - xp[i]) * (y - yp[i]) / (yp[i-1] - yp[i]) + xp[i])):
            c = 1 - c
    if c == 0:
        return 'NO'
    else:
        return 'YES'
a,b,c = map(int,input().split())
x = []
y = []
for i in range(a):
    x1,y1=map(int,input().split())
    x.append(x1)
    y.append(y1)
print(inPolygon(b, c, x, y))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.06.2020, 19:20
Ответы с готовыми решениями:

Дана точка М с координатами х и у. Определить лежит ли точка М(х,у) в закрашенной области
Дана точка М с координатами х и у. Определить лежит ли точка М(х,у) в закрашенной области.

Дана точка M с координатами x и y. Определить лежит ли точка M(x,y) в закрашенной области
Дана точка M с координатами x и y. Определить лежит ли точка M(x,y) в закрашенной области

Дана точка M с координатами x и y. Определить лежит ли точка M(x,y) в закрашенной области
Дана точка M с координатами x и y. Определить лежит ли точка M(x,y) в закрашенной области

1
 Аватар для palva
4278 / 2970 / 693
Регистрация: 08.06.2007
Сообщений: 9,925
Записей в блоге: 5
13.06.2020, 09:43
У вас сомнительный алгоритм. Возьмите квадрат (0 0)-(2 0)-(2 2)-(0 2) и точки (1 0) YES (1 2) NO. Ситуация симметричная и, казалось бы, результат должен быть один и тот же. Кроме того деление. Хотелось бы обойтись без него. Исходно целочисленная задача, наверно, имеет точный целочисленный алгоритм.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.06.2020, 09:43
Помогаю со студенческими работами здесь

Дана точка M с координатами x и y. Определить лежит ли точка M(x,y) в закрашенной области
Дана точка M с координатами x и y. Определить лежит ли точка M(x,y) в закрашенной области https://i.**********/39ALOgN.jpg&quot;]

Дана точка на плоскости с координатами (х, у). Определить, где лежит точка: внутри, вне или на границе графика
Здравствуйте, помогите мне, пожалуйста, с этой задачей: &quot;Дана точка на плоскости с координатами (х, у). Составить программу, которая...

Лежит ли точка в многоугольнике?
На плоскости задано N точек своими координатами и матрица C(N*N); C(i,j)=C(j,i)=1 в случае, если вершины i и j соединены отрезком и 0...

Лежит ли точка в многоугольнике
Многоугольник на плоскости (не обязательно выпуклый) задан своими вершинами в порядке обхода часовой стрелки проверить, лежит ли точка А...

Лежит ли точка на выпуклом многоугольнике?
Как узнать лежит ли точка в невыпуклом многоугольнике(шестиугольнике) или нет? Весь день мучаюсь и большая часть ответов для выпуклых, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru