Форум: "Потрепаться";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизВопрос по геодезии Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c