Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для UriahHeep
224 / 219 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2

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

11.03.2015, 13:01. Показов 1587. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Определяется область путём задания координат точек (количество точек может быть произвольным). Как определить принадлежит ли точка этой области? Область (многоугольник) может быть как выпуклая, так и нет. Интересует общий способ. Наведите на мысль. Спасибо.
Принадлежность точки неправильному многоугольнику
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.03.2015, 13:01
Ответы с готовыми решениями:

Напишите алгоритм, определяющий принадлежность точки выпуклому многоугольнику из N точек
Напишите алгоритм, определяющий принадлежность точки выпуклому многоугольнику из N точек

Разработать программу, которая решает задачу принадлежности точки многоугольнику с помощью метода "Учет числа оборотов"
Здравствуйте, мне необходимо разработать программу которая решает задачу принадлежности точки многоугольнику с помощью метода "Учет...

Принадлежность точки плоскости (ХУ).
Ответить на вопрос на скрине! Зарание спаспибо!

6
Диссидент
Эксперт C
 Аватар для Байт
27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
11.03.2015, 13:43
Лучший ответ Сообщение было отмечено UriahHeep как решение

Решение

Для выпуклой фигуры все просто... Для не выпуклой - как-то разбить на выпуклые и анализировать для них...

Добавлено через 3 минуты
Для выпуклой делается так. Пишется уравнение каждой стороны в виде Ax+By+C=0
И вот точка должна давать при подстановке ее координат в уравнение тот же знак, что и одна из вершин (других, не на этой стороне)

Добавлено через 18 минут
Критерий выпуклости - для уравнения любой стороны все остальные вершины лежат от нее по одну сторону (дают одинаковый знак).
Это подсказывает алгоритм разбиения фигуры на выпуклые. Если для одной сторон это не так (на рисунке 5-6) находим ее пересечение с ближайшей стороной (2-3) и получаем разбиение на 2 части. Для каждой из частей снова применяем критерий выпуклости, пока все части не станут "хорошими"
1
Модератор
Эксперт по математике/физике
 Аватар для VSI
5277 / 4059 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
11.03.2015, 14:18
UriahHeep, как иллюстрация - программа на Mathcad'е...

Не по теме:

А Вы кто - Мик Бокс, Дэвид Байрон, Кен Хенсли, Гэри Тэйн или Ли Керслэйк? Или за всех сразу? :)

Миниатюры
Принадлежность точки неправильному многоугольнику  
1
 Аватар для UriahHeep
224 / 219 / 77
Регистрация: 24.09.2012
Сообщений: 511
Записей в блоге: 2
11.03.2015, 14:52  [ТС]
Принцип ясен, спасибо.

Не по теме:

VSI, я за того, который у Диккенса.

0
 Аватар для palva
4256 / 2952 / 688
Регистрация: 08.06.2007
Сообщений: 9,862
Записей в блоге: 4
11.03.2015, 17:30
Лучший ответ Сообщение было отмечено Байт как решение

Решение

Вычисляем сумму ориентированных углов 1X2 2X3 ... NX1. Если получилось 2пи, значит точка внутри, если 0 - значит вне. Если многоугольник с самопересечениями, то возможны другие варианты. Но в таких случаях вы должны определиться, что значит точка лежит внутри.
1
Диссидент
Эксперт C
 Аватар для Байт
27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
11.03.2015, 18:58
Цитата Сообщение от palva Посмотреть сообщение
Если получилось 2пи
Да, ваш метод теоретически очень хорош. Одно НО. Мы тут попадаем в зависимость от причуд машинной арифметики.

Добавлено через 44 минуты
Впрочем, скорее всего, мои опасения напрасны. Для внутренней и внешней точек сумма углов будет резко отличаться. И достаточно для сравнения с 2пи взять небольшой эпсилон ("машинный ноль")
0
 Аватар для palva
4256 / 2952 / 688
Регистрация: 08.06.2007
Сообщений: 9,862
Записей в блоге: 4
12.03.2015, 00:44
Лучший ответ Сообщение было отмечено Байт как решение

Решение

Минус 2пи тоже может быть, если точки в многоугольнике перечислены по часовой стрелке.
https://ru.wikipedia.org/wiki/... 0%BE%D0%B9
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2015, 00:44
Помогаю со студенческими работами здесь

Принадлежность точки отрезку
Есть точка в пространстве с известными координатами, есть отрезок или вектор в пространстве с известными координатами начала и конца. ...

Принадлежность точки эллипсу
Есть эллипс. С помощью матрицы аффинного преобразования я его повернул и растянул как мне хочется. Теперь как узнать лежит ли внутри него...

Принадлежность точки прямоугольнику
Есть прямоугольник, повернутый на угол \gamma, следует определить находится ли произвольная точка A внутри него. Правильно ли я понимаю,...

Определить принадлежность точки дуге
Добрый день! Полярная система кооринат. Имеется произвольный вектор ОА, к нему построен перпендикуляр CD. Через точки CAD...

Принадлежность точки с заданными координатами
Здравствуйте. Так как просить готовый ответ не совсем честно, хотел спросить как вычисляют координаты, или как это называется. То есть как...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Создаем Telegram бот на TypeScript с grammY
run.dev 05.04.2025
Одна из его самых сильных сторон Telegram — это интеграция ботов прямо в экосистему приложения. В отличие от многих других платформ, он предоставляет разработчикам мощный API, позволяющий создавать. . .
Паттерны распределённых транзакций в Event-Driven микросервисах
ArchitectMsa 05.04.2025
Современные программные системы всё чаще проектируются как совокупность взаимодействующих микросервисов. И хотя такой подход даёт множество преимуществ — масштабируемость, гибкость, устойчивость к. . .
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер