Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование в широком смысле слова > Алгоритмика

Алгоритмика Об алгоритмах вообще; методы, обсуждения способов решения

Ответ
 
Опции темы
Старый 18.04.2013, 00:06   #1
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений
(для 2,209 пользователей)
Столкновение "точка - многоугольник"

Знает ли кто нибудь хорошие статьи на определение нахождения точки в многоугольнике?
(Offline)
 
Ответить с цитированием
Старый 18.04.2013, 02:05   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Столкновение "точка - многоугольник"

в двух словах метод такой:
если луч проведенный через точку пересекает нечетное число сторон многоугольника - точка внутри этого многоугольника, иначе - снаружи.
__________________
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
IgorOK (18.04.2013), moka (18.04.2013), Reizel (18.04.2013)
Старый 18.04.2013, 09:04   #3
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений
(для 2,209 пользователей)
Ответ: Столкновение "точка - многоугольник"

А есть ли какие нибудь особенности трассировки луча? Т.е. его можно проводить произвольно?
(Offline)
 
Ответить с цитированием
Старый 18.04.2013, 12:37   #4
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Столкновение "точка - многоугольник"

Совершенно произвольно проводить, но с точки упрощения расчётов его можно провести параллельно одной из координатных осей
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IgorOK (18.04.2013)
Старый 18.04.2013, 13:51   #5
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений
(для 2,209 пользователей)
Хорошо Ответ: Столкновение "точка - многоугольник"

Сообщение от SBJoker Посмотреть сообщение
Совершенно произвольно проводить, но с точки упрощения расчётов его можно провести параллельно одной из координатных осей
Большое спасибо за помощь!
(Offline)
 
Ответить с цитированием
Старый 18.04.2013, 20:02   #6
MiXaeL
Бывалый
 
Аватар для MiXaeL
 
Регистрация: 22.08.2006
Сообщений: 700
Написано 146 полезных сообщений
(для 267 пользователей)
Ответ: Столкновение "точка - многоугольник"

Сейчас порисовал на бумажке, и мне кажется, есть хак.
Сумма расстояний от точки до вершин многоугольника внутри него всегда меньше периметра, а снаружи больше. Если у кому-то будет не лень проверить, было бы интересно узнать, так это или нет.
Для треугольника - тривиально.

Бред сказал, да =\. Внутри - всегда меньше, обратно - неверно. Легко проверить точкой на самой границе.

Последний раз редактировалось MiXaeL, 18.04.2013 в 22:54.
(Offline)
 
Ответить с цитированием
Старый 19.04.2013, 03:56   #7
Randomize
[object Object]
 
Аватар для Randomize
 
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений
(для 6,853 пользователей)
Ответ: Столкновение "точка - многоугольник"

http://geomalgorithms.com/a03-_inclusion.html
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 17:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com