Форум: "Потрепаться";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Вниз... а при нем задача... Найти похожие ветки
← →
Digitman (2001-12-24 15:30) [6]>Внук
А никакие там "длины" сравнивать не надо. При определении принадлежности точки мн-ву точек, лежащих внутри любого замкн.полигона достаточно :
1) Выбрать направление обхода вершин полигона (как правило, выбирается направление "против час.стрелки");
2) В цикле по числу вершин для каждого вектора, образованного ребром полигона, с учетом его направления (соответствующего напр-ю обхода вершин) вычисляется произведение вектора-ребра и вектора, концом которого явл-ся анализируемая точка, а началом - начало вектора-ребра;
3) Если точка лежит внутри полигона, то при заданном направлении обхода вершин все вект.произведения, полученные при каждой итерации цикла, должны иметь один и тот же знак ("+" в случае AntiClockWise-обхода)
4) Если точка лежит вне полигона, то при заданном направлении обхода вершин все вект.произведения, полученные при каждой итерации цикла, должны иметь один и тот же - противоположный - знак ("-" в случае AntiClockWise-обхода)
4) Если точка принадлежит одному из ребер полигона, то при любом направлении обхода вершин одно из вект.произведений, полученных при некоторой итерации цикла, должно иметь значение "0" (это ты верно сказал)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.02.14;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c