Участник:Muravyov — различия между версиями
Muravyov (обсуждение | вклад) (→Теорема о существовании трингуляции) |
Muravyov (обсуждение | вклад) (→Способы нахождения триангуляции) |
||
Строка 22: | Строка 22: | ||
== Способы нахождения триангуляции == | == Способы нахождения триангуляции == | ||
=== Наивный алгоритм === | === Наивный алгоритм === | ||
+ | В произвольном <tex>n</tex>-угольнике всего <tex>n^2</tex> возможных вариантов построения диагоналей. За <tex>\mathcal{O}(n)</tex> проверим каждый из них. | ||
+ | |||
+ | |||
+ | |||
Выпуклый многоугольник является тривиальным случаем, триангуляция осуществляется за линейное время добавлением диагоналей от одной вершины ко всем другим вершинам. В том числе есть и другие методы, общее число способов триангуляции выпуклого <tex>n</tex>-угольника непересекающимися диагоналями является: <tex> \frac {4\cdot 6 \cdot 10 \cdot... \cdot(4n - 10)} {(n - 1)!}</tex> | Выпуклый многоугольник является тривиальным случаем, триангуляция осуществляется за линейное время добавлением диагоналей от одной вершины ко всем другим вершинам. В том числе есть и другие методы, общее число способов триангуляции выпуклого <tex>n</tex>-угольника непересекающимися диагоналями является: <tex> \frac {4\cdot 6 \cdot 10 \cdot... \cdot(4n - 10)} {(n - 1)!}</tex> | ||
Версия 15:12, 29 апреля 2012
Триангуляция полигона — декомпозиция многоугольника
на множество треугольников, внутренние области которых попарно не пересекаются и объединение которых в совокупности составляет . В строгом смысле слова, эти треугольники могут иметь вершины только в вершинах исходного многоугольника. Триангуляция не всегда единственна. В этом можно убедиться из примера на рисунке.Содержание
Постановка задачи
На плоскости задан произвольный многоугольник. Стороны многоугольника не пересекаются. Требуется найти его триангуляцию.
Теорема о существовании трингуляции
Простым многоугольником является фигура, ограниченная одной замкнутой ломаной, стороны которой не пересекаются. Таким образом, случаи многоугольников с дырками в теореме исключаются.
Теорема (О существовании триангуляции многоугольника): |
У любого простого -вершинного многоугольника всегда существует триангуляция, причём количество треугольников в ней независимо от самой триангуляции. |
Доказательство: |
Доказательство ведётся индуктивно по Докажем, что триангуляция . При теорема тривиальна. Рассмотрим случай при и предположим, что теорема выполняется при всех . Докажем существование диагонали в многоугольнике . Возьмём самую левую вершину многоугольника и две смежных с ней вершины и . Если отрезок принадлежит внутренней области — мы нашли диагональ. В противном случае, во внутренней области треугольника или на самом отрезке содержится одна или несколько вершин . Выберем самую наиболее далеко отстоящую от вершину . Отрезок, соединяющий и не может пересекать сторон , поскольку в противном случае одна из вершин это отрезка будет располагаться дальше от , чем . Это противоречит условию выбора . В итоге получаем, что — диагональ. Любая диагональ делит на два многоугольника и . За и обозначим количество вершин в и соответственно. и , поэтому по предположению индукции у и существует триангуляция, следовательно и у она существует. состоит из треугольников. Рассмотрим произвольную диагональ в триангуляции . делит на два многоугольника и , количество вершин в которых и соответственно. Каждая вершина встречается только в одном из двух многоугольников и , за исключением тех, которые являются концами , поэтому справедливо следующее: . По индукции, любая триангуляция состоит из треугольников, откуда следует, что . состоит из треугольников. |
Способы нахождения триангуляции
Наивный алгоритм
В произвольном
-угольнике всего возможных вариантов построения диагоналей. За проверим каждый из них.
Выпуклый многоугольник является тривиальным случаем, триангуляция осуществляется за линейное время добавлением диагоналей от одной вершины ко всем другим вершинам. В том числе есть и другие методы, общее число способов триангуляции выпуклого
-угольника непересекающимися диагоналями является:Ушной метод
Более эффективным я