Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы_ГК.docx
Скачиваний:
13
Добавлен:
15.04.2019
Размер:
128.49 Кб
Скачать

17. Алгоритмы определения пересечения линий: сложные линии

Рассмотрим 2 сложные линии, состоящие соответственно из n1 и n2 прямолинейных отрезков. Все пересечения всех отрезков можно найти путем повторения базовых операций, при этом объём необходимых вычислений будет пропорционален произведению n1 n2 . Сократить число вычислений можно, если использовать различные эвристические приемы. Для этого потребуются дополнительные шаги, но общее время обработки уменьшится. Два метода – построение наименьшего описанного прямоугольника, вмещающего какую-либо линию, и выделение монотонных отрезков.

Прямоугольник определяется min и max значениями координат х и у вмещаемой линии. Приближенной проверкой пересечения двух линий служит установление перекрытия описанных прямоугольников: если они не пересекаются, то линии тоже не могут пересекаться.

Линии можно разделить на отрезки, на которых х и у монотонно убывают или возрастают. Монотонные отрезки обладают свойствами что и прямая, ║ оси х или у, пересекает такой отрезок не более 1 раза и существует точка перегиба, в которой х и у достигают частного max и min. Эти свойства можно использовать для уменьшения объема вычислений при поиске пересечений: если в одном направлении отрезок продолжает возрастать, он не может изменить направление и снова пересечь другую линию. Исп-ся в ГИС-пакетах.

18. Определение положения центральной точки полигона, скелетизация

Центральная точка (центроид) определяется в качестве характерного представления центра полигона, который находят как центр равновесия (центр тяжести). Однако центр тяжести не всегда расположен внутри полигона ввиду выпуклости и вогнутости, что снижает его значение как центральной точки.

Для нахождения центральной токи полигона можно воспользоваться алгоритмом, основанным на использовании трапеций, полученных при опускании перпендикуляров на оси, как в алгоритме подсчета площадей. Т к каждая трапеция состоит из треугольника и прямоугольника, ее центр тяжести можно найти, определив взвешенное среднее значение центров тяжести треугольника и прямоугольника.

Другой способ – разбить многоугольник на множество треугольников и найти координаты их центров тяжести как точки пересечения медиан и применить формулу из механики r = (s1r1+s2r2+…)/Σsi, где ri – радиусы векторы положения центра тяжести треугольников, а s – их площади. Этот способ методически легче, просто вычислить центр тяжести треугольника: хс=(х123)/3; ус=(у123)/3. Процесс разбиения полигона на треугольники требует упорядочения координат вершин, учета выпуклости/невыпуклости полигона.

Скелетизация – процесс построения уменьшенного полигона с сохранением осн cв-в исходного. Начиная с каркаса (сеть линий внутри полигона, создаваемая так, что каждая ее точка находится на одинаковом расстоянии от двух ближайших сторон границы полигона, узлы сети равноудалены от трех ближайших сторон). При построении каркаса берут точки в выпуклых углах полигона, равноудаленные от прилегающих сторон, которые в результате образуют линии биссектрис, направленные внутрь. Каркас – что остается неподвижным при сжатии полигона.

При скелетизации каждый из прямолинейных отрезков границы полигона сдвигается внутрь на одинаковое расстояние параллельно сторонам выпуклых углов, а для каждого вогнутого угла границы уменьшенных полигонов представляют собой дуги окружности с центром в вершине угла. Линии каркаса и дуги пересекаются в узлах, образуя древовидную структуру. При уменьшении полигон произвольной формы может превратиться в два или более «островов» и в конце концов м б уменьшен до точки, которая удалена от исходной границы и является центром наибольшей окружности, которую можно вписать в данный полигон.

Приложения процедур определения положения центральной точки и скелетизации: поиск наилучшего размещения надписей и меток внутри полигона и генерализация. Напр, локализация пунсонов при показе городов на мелкомасшт картах. Процесс скелетизации моделирует генерализацию площадных объектов при уменьшении масштаба.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]