Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Вопрос по геодезии   Найти похожие ветки 

 
RDA ©   (2004-01-13 17:35) [0]

Как определить входит ли точка в определенный полигон (чаще всего неправильный многоугольник из 8-10 точек)?


 
Nikolay M. ©   (2004-01-13 17:45) [1]

Вроде обычная задача, тонна готовых примеров в исходниках, думаю, валяется?
Как вариант, такой: соединить искомую точку (X, Y) со всеми вершинами отрезками и посчитать сумму углов между ними. Т.е.
А1 - угол между отрезком от (X, Y) до первой вершины и отрезком от (X, Y) до второй вершины,
А2 - угол между отрезком от (X, Y) до второй вершины и отрезком от (X, Y) до третьей вершины и тд.
Чему будут равны суммы всех таких углов, когда точка принадлежит многоугольнику и когда - вне его, догадайся сам :)


 
RDA ©   (2004-01-13 18:15) [2]

Попробую уточнить.
Есть "Контур" - большой участок земли, (чаще всего имеет название, но не имеет координат).
Есть "Участки" - мелкие участки земли входящие однозначно в какой-либо контур.
Все координаты участков хранятся в базе данных.
Вопрос 1: Как не допустить ввдение участка с координатами попадающими в уже имеющиеся участки (координаты нового участка могут лишь лежать на меже имеющихся участков т.е. соприкосаться с ними, но их линии не должны пересекаться)?
Вопрос 2: Можно ли реализовать проверку в виде хранимой процедуры (визуальный контроль, мое мнение, сделать на много проще)?
Вопрос 3: Есть ли компоненты для визуального проектирования участков?

Координаты участков абсолютные.


 
Людка со 2 этажа   (2004-01-13 18:19) [3]

Компоненты для визуального проектирования участков есть и я их тебе покажу.


 
Юрий Зотов ©   (2004-01-13 18:35) [4]

На взгляд, похоже, что вся эта геодезическая картинка может быть представлена регионами Windows (CreatePolygonRgn). Если это так, то мы автоматически получаем набор уже готовых функций для работы с регионами (см. Region Functions в справке API).

В частности, на вопрос сабжа точно отвечает функция PtInRegion.


 
DiamondShark ©   (2004-01-14 00:35) [5]

Через точку проводим прямую, параллельную одной из осей (если система координат не декартова -- то вместо прямой будет геодезическая линия).

Идём по этой прямой из точки, заведомо лежащей вне контура к токе. Считаем пересечения с рёбрами контура. Если число пересечений нечётное -- точка внутри, если чётное -- снаружи.
ОСОБЫЙ СЛУЧАЙ если прямая проходит точно через вершину. Такое пересечение считать не нужно.



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

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-2319
ghg
2003-12-22 15:41
2004.02.02
звук со звуковухи в файл mp3


1-2096
Марат
2004-01-20 08:15
2004.02.02
HotKey


1-2199
DAnton
2004-01-16 07:46
2004.02.02
Дата+время=число


3-1983
Aleks_S
2004-01-07 16:07
2004.02.02
Порядок полей в структуре таблицы.


14-2287
nikkie
2004-01-12 02:13
2004.02.02
пальчиковые аккумуляторы и зарядные устройства