Участник:Muravyov — различия между версиями
Muravyov (обсуждение | вклад) |
Muravyov (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
'''Триангуляция полигона ''' — декомпозиция многоугольника <tex>P</tex> на множество треугольников, внутренние области которых попарно не пересекаются и объединение которых в совокупности составляет <tex>P</tex>. В строгом смысле слова, эти треугольники могут иметь вершины только в вершинах исходного многоугольника. | '''Триангуляция полигона ''' — декомпозиция многоугольника <tex>P</tex> на множество треугольников, внутренние области которых попарно не пересекаются и объединение которых в совокупности составляет <tex>P</tex>. В строгом смысле слова, эти треугольники могут иметь вершины только в вершинах исходного многоугольника. | ||
+ | |||
+ | == Теорема о существовании трингуляции. == | ||
Простым многоугольником является односвязная фигура, стороны которой не пересекаются. | Простым многоугольником является односвязная фигура, стороны которой не пересекаются. | ||
Строка 13: | Строка 15: | ||
Докажем, что триангуляция <tex>P</tex> состоит из <tex>n - 2</tex> треугольников. Рассмотрим произвольную диагональ <tex>d</tex> в триангуляции <tex>T_P</tex>. <tex>d</tex> делит <tex>P</tex> на два многоугольника <tex>P_1</tex> и <tex>P_2</tex>, количество вершин в которых <tex>m_1</tex> и <tex>m_2</tex> соответственно. Каждая вершина <tex>P</tex> встречается только в одном из двух многоугольников <tex>P_1</tex> и <tex>P_2</tex>, за исключением тех, которые являются концами <tex>d</tex>, поэтому справедливо следующее: <tex>m_1 + m_2 = n + 2</tex>. По индукции, любая триангуляция <tex>P_i</tex> состоит из <tex>m_i - 2</tex> треугольников, откуда следует, что <tex>T_P</tex>. состоит из <tex>(m_1 - 2) + (m_2 - 2) = n - 2</tex> треугольников. | Докажем, что триангуляция <tex>P</tex> состоит из <tex>n - 2</tex> треугольников. Рассмотрим произвольную диагональ <tex>d</tex> в триангуляции <tex>T_P</tex>. <tex>d</tex> делит <tex>P</tex> на два многоугольника <tex>P_1</tex> и <tex>P_2</tex>, количество вершин в которых <tex>m_1</tex> и <tex>m_2</tex> соответственно. Каждая вершина <tex>P</tex> встречается только в одном из двух многоугольников <tex>P_1</tex> и <tex>P_2</tex>, за исключением тех, которые являются концами <tex>d</tex>, поэтому справедливо следующее: <tex>m_1 + m_2 = n + 2</tex>. По индукции, любая триангуляция <tex>P_i</tex> состоит из <tex>m_i - 2</tex> треугольников, откуда следует, что <tex>T_P</tex>. состоит из <tex>(m_1 - 2) + (m_2 - 2) = n - 2</tex> треугольников. | ||
}} | }} | ||
+ | |||
+ | |||
+ | == Способы выполнения триангуляции == | ||
+ | Выпуклый многоугольник является тривиальным, триангуляция осуществляется за линейное время, добавляя диагонали от одной вершины ко всем другим вершинам. В том числе есть и другие методы, общее число способов триангуляции выпуклого <tex>n</tex>-угольника непересекающимися диагоналями является: <tex> \frac {4\cdot 6 \cdot 10 \cdot... \cdot(4n - 10)} {(n - 1)!}</tex> |
Версия 11:53, 27 апреля 2012
Триангуляция полигона — декомпозиция многоугольника
на множество треугольников, внутренние области которых попарно не пересекаются и объединение которых в совокупности составляет . В строгом смысле слова, эти треугольники могут иметь вершины только в вершинах исходного многоугольника.Теорема о существовании трингуляции.
Простым многоугольником является односвязная фигура, стороны которой не пересекаются.
Теорема (О существовании триангуляции многоугольника): |
У любого простого -вершинного многоугольника существует триангуляция, причём количество треугольников в ней . |
Доказательство: |
Доказательство ведётся индуктивно по Докажем, что триангуляция . При теорема тривиальна. Рассмотрим случай при и предположим, что теорема выполняется при всех . Докажем существование диагонали в многоугольнике . Возьмём самую левую вершину многоугольника и две смежных с ней вершины и . Если отрезок принадлежит внутренней области — мы нашли диагональ. В противном случае, во внутренней области треугольника или на самом отрезке содержится одна или несколько вершин . Выберем самую наиболее далеко отстоящую от вершину . Отрезок, соединяющий и не может пересекать сторон , поскольку в противном случае одна из вершин это отрезка будет располагаться дальше от , чем . Это противоречит условию выбора . В итоге получаем, что — диагональ. Любая диагональ делит на два многоугольника и . За и обозначим количество вершин в и соответственно. и , поэтому по предположению индукции у и существует триангуляция, следовательно и у она существует. состоит из треугольников. Рассмотрим произвольную диагональ в триангуляции . делит на два многоугольника и , количество вершин в которых и соответственно. Каждая вершина встречается только в одном из двух многоугольников и , за исключением тех, которые являются концами , поэтому справедливо следующее: . По индукции, любая триангуляция состоит из треугольников, откуда следует, что . состоит из треугольников. |
Способы выполнения триангуляции
Выпуклый многоугольник является тривиальным, триангуляция осуществляется за линейное время, добавляя диагонали от одной вершины ко всем другим вершинам. В том числе есть и другие методы, общее число способов триангуляции выпуклого
-угольника непересекающимися диагоналями является: