|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.12.2006, 21:05 | #1 |
Регистрация: 25.11.2006
Сообщений: 4
|
принадлежность точки многоугольнику
Задача:
есть многоугольник (последовательно заданы координаты всех вершин в порядке обхода (X[i],y[i])) и точка (x0,y0) опредилить принадлежит ли эта точку этому многоугольнику первое что приходит в голову - взять изначально не пренадлежашую многоугольнику точку и соединить с данной, после чего считать кол-во пересечений получившегося отрезка с многоугольником(чет - не принадлежит, нечет - соответственно) правда придется проверять на принадлежность сторон многоугольника этому отрезку, а так же про вершины... но в общем то алгоритм понятен... интересует другое - этот алгоритм довольно долог и сложен в реализации (ну может и не очень канечно =) ) может ктонибудь подскажет другой алгоритм? ЗЫ интересует алгоритм, код я и сам наваяю ... Последний раз редактировалось LevioFUN; 01.12.2006 в 21:09. Причина: арфаграфия... |
01.12.2006, 21:12 | #2 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
знаешь рассчет площади треугольника по формуле верона (или герона не помню точно...)? так вот. находишь площадь треугольника в многоугольнике находяшегося ближе всего к точке (пусть точки этого треугольника х1,х2,х3, где х2 "выпирающий" угол, т.е. х1,х3 - основание) и площадь треугольника х1,х3,х4 (х4 - координаты точки). если 2 площадь больше, то точка не пренадлежит треугольнику. мудро...
ICQ: 5311314
[SIGPIC][/SIGPIC] |
01.12.2006, 21:17 | #3 |
Регистрация: 25.11.2006
Сообщений: 4
|
1.) Герона...
2.) "находяшегося ближе всего к точке" - ? 3.) x1,x2,x3 - точки много-ка? (последовательные или могут с "перескоком"?) |
01.12.2006, 21:24 | #4 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
смотри вложение. немного коряво, потому что делал быстро.
ICQ: 5311314
[SIGPIC][/SIGPIC] |
01.12.2006, 21:26 | #5 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
Советую реализовать все гораздо проще: знаешь Canvas? Рисуешь белый квадрат, на нем черный многоугольник и проверяешь цвет твоей точки
Познавая других, мы познаем себя.
С'est la vie... |
01.12.2006, 21:26 | #6 |
Регистрация: 25.11.2006
Сообщений: 4
|
AVer
а почему для точки х4 выбран именно тр-к х1х2х3? как определить с каким тр-ом сравнивать? SuperVisor хм...это конечно может помочь...=\ надо подумать... но задачка все равно остается =) я с ней давно сталкнулся, а счас вот захотелось придумать чейнить... Последний раз редактировалось zetrix; 02.12.2006 в 09:06. |
01.12.2006, 21:30 | #7 | |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
SuperVisor
Цитата:
LevioFUN Измеряешь расстояние до точек. Самая ближняя - х3, и соответственно 2 к ней ближние - х1 и х3.
ICQ: 5311314
[SIGPIC][/SIGPIC] Последний раз редактировалось AVer; 01.12.2006 в 21:33. |
|
01.12.2006, 21:40 | #9 |
Андрей
Форумчанин
Регистрация: 21.11.2006
Сообщений: 457
|
Ну тогда делай как говорит SuperVisor. Самое простое и быстрое решение в Delphi.
ICQ: 5311314
[SIGPIC][/SIGPIC] |
01.12.2006, 21:42 | #10 |
Павел Сергеевич
Форумчанин
Регистрация: 05.11.2006
Сообщений: 665
|
"5. Не придумывай велосипед. Тут опять действует созидательная функция хакеров. Они не должны стоять на месте и обязаны делиться своими знаниями. Например, вы написали какой-то уникальный код, поделитесь им с другими, чтобы людям не пришлось создавать то же самое. Вы можете не выдавать все секреты, но должны помогать другим. "Delphi глазами хакера" М.Феленов
Познавая других, мы познаем себя.
С'est la vie... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Принадлежность точки | Forro | Помощь студентам | 4 | 26.05.2008 14:33 |
Отбражение чисел - точки, это точки, а не запятые, обозначающие дробную часть | Дикий | Помощь студентам | 7 | 12.05.2008 17:57 |
Принадлежность точки | UnFaithful | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.01.2008 06:16 |
Принадлежность объекта по координатам | Angel_CJ | Помощь студентам | 9 | 12.09.2007 18:43 |