Простой многоугольник — это замкнутая кривая на евклидовой плоскости, состоящая из отрезков прямых , соединяющихся друг с другом, образующих многоугольную цепь . [1] Два отрезка линии встречаются в каждой конечной точке, и между отрезками линии нет других точек пересечения. Никакое подходящее подмножество отрезков прямой не имеет таких свойств. [2] Квалификатор simple иногда опускается, при этом слово « полигон» подразумевает простой многоугольник. [3]
Отрезки линий, образующие многоугольник, называются его краями или сторонами . Конечная точка сегмента называется вершиной (множественное число: вершины) [2] или углом . Ребра и вершины более формальны, но могут быть неоднозначными в контекстах, которые также включают ребра и вершины графа ; Чтобы избежать этой двусмысленности, можно использовать более разговорные термины стороны и углы . [4] Количество ребер всегда равно количеству вершин. [2] Некоторые источники позволяют двум отрезкам линии образовывать прямой угол (180°), [5] в то время как другие запрещают это, вместо этого требуя, чтобы коллинеарные сегменты замкнутой многоугольной цепи были объединены в одну более длинную сторону. [6] Две вершины являются соседями , если они являются двумя конечными точками одной из сторон многоугольника. [7]
Простые многоугольники иногда называют жордановыми многоугольниками , потому что они являются жордановыми кривыми ; Теорему Жордана о кривой можно использовать, чтобы доказать, что такой многоугольник делит плоскость на две области. [8] Действительно, первоначальное доказательство этой теоремы Камиллы Жордана взяло в качестве отправной точки частный случай простых многоугольников (указанный без доказательства). [9] Область внутри многоугольника (его внутренняя часть ) образует ограниченное множество [2], топологически эквивалентное открытому диску по теореме Жордана–Шенфлиса , [10] с конечной, но ненулевой площадью . [11] Сам многоугольник топологически эквивалентен кругу , [ 12] а область снаружи ( внешняя часть ) представляет собой неограниченное связное открытое множество с бесконечной площадью. [11] Хотя формальное определение простого многоугольника обычно представляет собой систему отрезков прямых, также возможно (и это часто встречается в неформальном использовании) определить простой многоугольник как замкнутое множество на плоскости, объединение этих отрезков прямой. с внутренней частью многоугольника. [2]
Диагональю простого многоугольника является любой отрезок линии, конечные точки которого имеют две вершины многоугольника, а в остальном он полностью находится внутри многоугольника. [13]
Характеристики
Внутренний угол простого многоугольника в одной из его вершин — это угол, охватываемый внутренней частью многоугольника в этой вершине. Вершина является выпуклой , если ее внутренний угол меньше (прямой угол 180°), и вогнутой, если внутренний угол больше . Если внутренний угол равен , то внешний угол при той же вершине определяется как его дополнение , угол поворота от одной направленной стороны к другой. Внешний угол положителен в выпуклой вершине или отрицателен в вогнутой вершине. Для каждого простого многоугольника сумма внешних углов равна (один полный оборот, 360°). Таким образом, сумма внутренних углов простого многоугольника со сторонами равна . [14]
Треугольный многоугольник с 11 вершинами: 11 сторон и 8 диагоналей образуют 9 треугольников.
Любой простой многоугольник можно разбить на непересекающиеся треугольники с помощью подмножества его диагоналей. Когда у многоугольника есть стороны, образуются треугольники, разделенные диагоналями. Полученное разбиение называется триангуляцией многоугольника . [8] Форма треугольного простого многоугольника может быть однозначно определена внутренними углами многоугольника и перекрестными отношениями четырехугольников, образованных парами треугольников, имеющих общую диагональ. [15]
Согласно теореме о двух ушках , каждый простой многоугольник, не являющийся треугольником, имеет как минимум два уха — вершины, два соседа которых являются конечными точками диагонали. [8] Соответствующая теорема гласит, что каждый простой многоугольник, который не является выпуклым многоугольником, имеет рот , вершину, два соседа которой являются конечными точками отрезка линии, который в противном случае полностью находится вне многоугольника. Многоугольники, у которых ровно два уха и один рот, называются антропоморфными многоугольниками . [16]
Эта полигональная художественная галерея с 42 вершинами полностью видна с камер, расположенных в 4 отмеченных вершинах.
Согласно теореме художественной галереи , в простом многоугольнике с вершинами всегда можно найти подмножество из не более большинства вершин со свойством, что каждая точка многоугольника видна из одной из выбранных вершин. Это означает, что для каждой точки многоугольника существует отрезок линии, соединяющий выбранную вершину и проходящий только через внутренние точки многоугольника. Один из способов доказать это — использовать раскраску графа при триангуляции многоугольника: всегда можно раскрасить вершины в три цвета так, чтобы каждая сторона или диагональ в триангуляции имела две конечные точки разных цветов. Каждая точка многоугольника видна вершине каждого цвета, например, одной из трех вершин треугольника, содержащего эту точку в выбранной триангуляции. Один из цветов используется большинством вершин, что доказывает теорему. [17]
Особые случаи
Каждый выпуклый многоугольник является простым многоугольником. Другой важный класс простых многоугольников — это звездообразные многоугольники , многоугольники, у которых есть точка (внутренняя или на границе), из которой видна каждая точка. [2]
Монотонный многоугольник по отношению к прямой — это многоугольник, у которого каждая линия, перпендикулярная к, пересекает внутреннюю часть многоугольника в связном множестве. Эквивалентно, это многоугольник, граница которого может быть разделена на две монотонные многоугольные цепи, подпоследовательности ребер, вершины которых, проецируемые перпендикулярно на , имеют тот же порядок вдоль, что и в цепочке. [18]
Вычислительные проблемы
Чтобы проверить, находится ли точка внутри многоугольника, постройте любой луч , исходящий из точки, и посчитайте его пересечения с многоугольником. Если она пересекает только внутренние точки ребер нечетное количество раз, точка лежит внутри многоугольника; если даже, то точка лежит снаружи. Лучи, проходящие через вершины многоугольника или содержащие его края, требуют особого внимания. [19]Простой многоугольник (внутренняя часть заштрихована синим цветом) и его выпуклая оболочка (окружающая как синюю, так и желтую области)
В вычислительной геометрии несколько важных вычислительных задач включают входные данные в форме простого многоугольника.
Точка при тестировании полигона включает в себя определение для простого многоугольника и точки запроса того, находится ли он внутри . Ее можно решить за линейное время ; в качестве альтернативы можно преобразовать данный многоугольник в структуру данных за линейное время, так что последующие проверки точек в многоугольнике могут выполняться за логарифмическое время. [20]
Известны простые формулы для вычисления площади внутренней части многоугольника. К ним относятся формула шнурков для произвольных многоугольников [21] и теорема Пика для многоугольников с целыми координатами вершин. [12] [22]
Построение триангуляции простого многоугольника также можно выполнить за линейное время, хотя алгоритм сложен. Модификацию того же алгоритма можно также использовать для проверки того, образует ли замкнутая ломаная цепь простой многоугольник (то есть, избегает ли она самопересечений) за линейное время. [23] Это также приводит к алгоритму с линейным временем для решения проблемы художественной галереи с использованием большинства точек, хотя и не обязательно с использованием оптимального количества точек для данного многоугольника. [24] Хотя можно преобразовать любые две триангуляции одного и того же многоугольника друг в друга с помощью переворотов , которые заменяют одну диагональ за раз, определение того, можно ли это сделать, используя только ограниченное количество переворотов, является NP-полным . [25]
Геодезический путь, [26] кратчайший путь на плоскости, который соединяет две точки внутри многоугольника, не пересекая его снаружи, может быть найден за линейное время с помощью алгоритма, использующего триангуляцию в качестве подпрограммы . [27] То же самое относится и к геодезическому центру — точке многоугольника, которая минимизирует максимальную длину геодезических путей ко всем остальным точкам. [26]
Многоугольник видимости внутренней точки простого многоугольника, то есть точек, которые непосредственно видны из данной точки по отрезкам линий, внутренними по отношению к многоугольнику, может быть построен за линейное время. [28] То же самое верно для подмножества, которое видно хотя бы из одной точки данного сегмента линии. [27]
Другие вычислительные проблемы, изучаемые для простых многоугольников, включают построение самой длинной диагонали или самого длинного отрезка внутренней части многоугольника, [13] выпуклого черепа (самого большого выпуклого многоугольника внутри данного простого многоугольника), [29] [30] и различные одномерные скелеты, аппроксимирующие его форму, включая медиальную ось [31] и прямой скелет . [32] Исследователи также изучали создание других многоугольников из простых многоугольников, используя их кривые смещения , [33] объединения и пересечения, [11] и суммы Минковского , [34] , но эти операции не всегда создают в результате простой многоугольник. Их можно определить таким образом, чтобы всегда создавать двумерную область, но это требует тщательного определения операций пересечения и разности, чтобы избежать создания одномерных объектов или изолированных точек. [11]
Связанные конструкции
Согласно теореме Римана об отображении , любое односвязное открытое подмножество плоскости можно конформно отобразить на диск. Отображение Шварца – Кристоффеля предоставляет метод явного построения карты диска в любой простой многоугольник с использованием заданных углов вершин и прообразов вершин многоугольника на границе диска. Эти предвершины обычно вычисляются численно. [35]
Черный многоугольник — это кратчайшая петля, соединяющая все красные точки, что является решением задачи коммивояжера.
Каждый конечный набор точек на плоскости, который не лежит на одной прямой, можно соединить, чтобы сформировать вершины простого многоугольника (с учетом углов 180 °); например, один из таких многоугольников является решением задачи коммивояжера . [36] Соединение точек для формирования многоугольника таким способом называется полигонализацией . [37]
Каждый простой многоугольник может быть представлен формулой конструктивной объемной геометрии , которая строит многоугольник (как замкнутое множество, включая внутреннюю часть) из объединений и пересечений полуплоскостей , при этом каждая сторона многоугольника появляется один раз как полуплоскость в формула. Преобразование одностороннего многоугольника в это представление можно выполнить за время . [38]
Граф видимости простого многоугольника соединяет его вершины рёбрами, представляющими стороны и диагонали многоугольника. [3] Он всегда содержит гамильтонов цикл , образованный сторонами многоугольника. Вычислительная сложность реконструкции многоугольника, который имеет заданный граф в качестве графа видимости и заданный гамильтонов цикл в качестве цикла сторон, остается открытой проблемой. [39]
Слабо простой многоугольник — обобщение простых многоугольников, позволяющее краям соприкасаться ограниченным количеством способов.
Рекомендации
^ Милнор, Джон В. (1950). «О полной кривизне узлов». Анналы математики . 2-я серия. 52 : 248–257. дои : 10.2307/1969467.
^ abcdef Препарата, Франко П .; Шамос, Майкл Ян (1985). Вычислительная геометрия: Введение. Тексты и монографии по информатике. Спрингер-Верлаг. п. 18. дои : 10.1007/978-1-4612-1098-6. ISBN978-1-4612-1098-6.
^ аб Аггарвал, Алок; Сури, Субхаш (1990). «Вычисление наибольшей диагонали простого многоугольника». Письма об обработке информации . 35 (1): 13–18. дои : 10.1016/0020-0190(90)90167-В. МР 1069001.
^ Ричмонд, Беттина ; Ричмонд, Томас (2023). Дискретный переход к высшей математике. Чистые и прикладные тексты для студентов. Том. 63 (2-е изд.). Американское математическое общество. п. 421. ИСБН9781470472047.
^ Снойинк, Джек (1999). «Перекрестные отношения и углы определяют многоугольник». Дискретная и вычислительная геометрия . 22 (4): 619–631. дои : 10.1007/PL00009481 . МР 1721028.
^ Фиск, С. (1978). «Краткое доказательство теоремы сторожа Хваталя». Журнал комбинаторной теории, серия B. 24 (3): 374. doi : 10.1016/0095-8956(78)90059-X .
^ аб Ан, Хи-Кап; Барба, Луис; Бозе, Просенджит ; Де Каруфель, Жан-Лу; Корман, Матиас; О, Ынджин (2016). «Алгоритм линейного времени для геодезического центра простого многоугольника». Дискретная и вычислительная геометрия . 56 (4): 836–859. arXiv : 1501.00561 . дои : 10.1007/s00454-016-9796-0. МР 3561791.
^ аб Гибас, Леонид ; Хершбергер, Джон ; Левен, Дэниел; Шарир, Миша ; Тарьян, Роберт Э. (1987). «Алгоритмы линейного времени для решения задач видимости и кратчайшего пути внутри триангулированных простых многоугольников». Алгоритмика . 2 (2): 209–233. дои : 10.1007/BF01840360. МР 0895445.
^ Эль Джинди, Хосам; Авис, Дэвид (1981). «Линейный алгоритм расчета многоугольника видимости из точки». Журнал алгоритмов . 2 (2): 186–197. дои : 10.1016/0196-6774(81)90019-5.
^ Чанг, Дж. С.; Яп, К.-К. (1986). «Полиномиальное решение задачи чистки картофеля». Дискретная и вычислительная геометрия . 1 (2): 155–182. дои : 10.1007/BF02187692 . МР 0834056.
^ Кабельо, Серджио; Цибулка, Йозеф; Кынчл, Ян; Сомелл, Мария; Валтр, Павел (2017). «Очистка картофеля почти оптимально за почти линейное время». SIAM Journal по вычислительной технике . 46 (5): 1574–1602. arXiv : 1406.1368 . дои : 10.1137/16M1079695. МР 3708542.
^ Чин, Фрэнсис YL ; Снойинк, Джек; Ван, Цао Ань (1999). «Нахождение средней оси простого многоугольника за линейное время». Дискретная и вычислительная геометрия . 21 (3): 405–420. дои : 10.1007/PL00009429 . МР 1672988.
^ Палфрадер, Питер; Хелд, Мартин (февраль 2015 г.). «Расчет кривых смещения под углом на основе прямых каркасов». Компьютерное проектирование и приложения . 12 (4): 414–424. дои : 10.1080/16864360.2014.997637 .
^ Окс, Эдуард; Шарир, Миша (2006). «Суммы Минковского монотонных и общих простых многоугольников». Дискретная и вычислительная геометрия . 35 (2): 223–240. дои : 10.1007/s00454-005-1206-y . МР 2195052.
^ Трефетен, Ллойд Н .; Дрисколл, Тобин А. (1998). «Картирование Шварца – Кристоффеля в компьютерную эпоху». Труды Международного конгресса математиков, Vol. III (Берлин, 1998 г.) . Документа Математика. стр. 533–542. МР 1648186.
^ Кинтас, Л.В.; Супник, Фред (1965). «О некоторых свойствах кратчайших гамильтоновых цепей». Американский математический ежемесячник . 72 (9): 977–980. дои : 10.2307/2313333. JSTOR 2313333. МР 0188872.