Вниз
Скачать: CL | DM;

Принадлежность точки контуру - где найти теорию?   Найти похожие ветки 

 
Fishka   (2002-12-05 15:44) [0]

Поиск по ключевым словам ничего не дает.
Где они: теорема Жордена для четного/нечетного количества пересечений, алгоритм Брезенхема?
Помогите ссылками или текстами........


 
Digitman ©   (2002-12-05 15:51) [1]

а школьный учебник геометрии уже не катит ?) Это ж - планиметрия как бы ?

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

вычисляй произведения векторов для каждого из ребер, равенство хотя бы одного произведения нулю есть факт "принадлежности точки контуру"


 
Fishka   (2002-12-05 16:02) [2]

Я не помню этого.........
Задача: есть точка с географ. координатами. Есть описание морей по координатам. Определить, в каком море она находится.
И хотелось бы по четному/нечетному количеству пересечений.


 
Andrey007   (2002-12-05 16:11) [3]

Там ещё можно сумму углов считать. Если точка внутри, то один случай, если вне, то другой.
А с пересечениями в случае невыпуклого многоугольника, каковыми и являются моря, можно намучаться - прямая, проведённая для поиска пересечений может пройти через точку, являющейся вершиной многоугольника, и при этом в этой вершине происходит смена направления обхода контура. Может я и не очень удачно выразил свою мысль, но надеюсь, что Fishka поймёт.


 
Digitman ©   (2002-12-05 16:16) [4]

так тогда уж - не контуру )
а - полигону, образованному контуром из N ребер)

для каждого контура, образующего полигон ("море") выбирай направление обхода вершин. Скажем, выбери направление "против час.стрелки".

В этом случае (для "против час.стрелки") для каждого полигона делай то же самое по всем его ребрам :
- если скал.произведение векторов < 0, точка - "слева" от линии ребра полигона
- если скал.произведение векторов = 0, точка - на линии ребра полигона
- если скал.произведение векторов > 0, точка - "справа" от линии ребра полигона

необходимое и достаточное условие определения нахождения точки внутри полигона : все скал.произведения < 0

необходимое и достаточное определения нахождения точки на одном из ребер полигона : все скал.произведения <= 0

необходимое и достаточное определения нахождения точки вне полигога : хотя бы одно из скал.произведений > 0


 
Tundra   (2002-12-05 16:17) [5]

Система ур-ний наподобие симплекс метода - проще всего, и нагляднее.
Просто провер на все условия.
ai*xi+...ai*xi<=bi i=1..n
поставь свои коор-ты в уравнения - если всем уд-ет значит внутри
главное здесь описать систему.


 
Fishka   (2002-12-05 16:17) [6]

Andrey007 (05.12.02 16:11)
Мысль понятно. А где взять теорию?


 
Digitman ©   (2002-12-05 16:20) [7]

да, пардон ..
сие только для выпуклых полигонов

но - что мешает представить любой полигон множеством выпуклых субполигонов за вычетом исключающего множества ?


 
Fishka   (2002-12-05 17:01) [8]

А теория о количестве пересечений для всех многоугольников.
Где ее взять?


 
Digitman ©   (2002-12-05 17:14) [9]

А нахрена тебе оная в дан.случае ?) Моря, они "пересекаются" что ли у тебя ?


 
Andrey007   (2002-12-05 17:26) [10]

Fishka, я тебе хотел ответ сюда скинуть, а форум написал, что длиннее 5000 символов он сообщения не принимает. Поэтому послал тебе ответ по e-mail.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
7-51970
OMPH!!!
2002-10-14 20:16
2002.12.16
Есть ли у нас Сидюк?


4-52028
vic_vm
2002-11-04 21:41
2002.12.16
про DecimalSeparator


1-51828
MaXie
2002-12-05 14:49
2002.12.16
Последняя дата месяца?


1-51766
Оля
2002-12-04 17:24
2002.12.16
Трабла с FormCreate


14-51950
Fantasist
2002-11-26 05:46
2002.12.16
Так, продолжим...




   Наверх