Реферат по курсу
«История математики»
на тему
«Триангуляция. История и применение.»
1
Оглавление
История появления............................................................................................................................ 3
Определение...................................................................................................................................... 4
Триангуляция Делоне.......................................................................................................................4
Алгоритмы..................................................................................................................................... 6
Алгоритмы переворота.................................................................................................................. 6
Инкрементальный.......................................................................................................................... 7
Divide and conquer.......................................................................................................................... 7
Sweephull........................................................................................................................................ 7
Диаграмма Вороного........................................................................................................................7
Астрономия....................................................................................................................................... 8
Триангуляция в геодезии.................................................................................................................. 9
Триангуляция в игровой индустрии и в мире IT.............................................................................9
Список литературы......................................................................................................................... 11
2
История появления. Еще в древние времена у людей появилась потребность в
определении времени, продолжительности дня и ночи, измерении горизонтальных углов на
поверхности Земли и т.д. Тогда для подобных вычислений использовался специальный
прибор — астролябий. Это был сложный угломерный инструмент для определения
положения звезд.
Астролябия впервые появилась в Древней Греции. Принцип стереографической
проекции, переводящей окружности на сфере в окружности на плоскости открыл Аполлоний
Пергский. Витрувий в своём сочинении «Десять книг об архитектуре», описывая
астрономический инструмент, называемый «пауком», сообщает, что его «изобрёл астроном
Евдокс, а иные говорят — Аполлоний». Одной из составных частей этого инструмента
служил барабан, на котором, по словам Витрувия, «нарисовано небо с зодиакальным кругом».
3
Рис. 2 Виллеброрд Снел ван Ройен
(1580–1626)
Впервые в 1617г. использовать метод подобия треугольников при проведении
геодезических измерений предложил голландский математик, физик и астроном Виллеброрд
Снелл Ван Ройен.
Он родился в Нидерландах в 1580г. в Лейдене в семье профессора математики. В 1613г.
стал преемником отца на должности профессора Лейденского университета. Стоял у истоков
новой науки геодезии, первым усмотрев важность использования метода подобия
треугольников при проведении геодезических измерений. В его работе «Голландский
Эратосфен», опубликованной в 1617г., описывался метод триангуляции. В 1621 году, после
многочисленных экспериментов по оптике, открыл закон преломления лучей, позже
названный его именем. Своих результатов Снеллиус не публиковал, — они пылились в
архивах, пока не были обнаружены Рене Декартом, который включил их в свой
фундаментальный труд «Начала философии».
Определение. Формальное определение триангуляции - разбиение геометрического
объекта на симплексы. Например, на плоскости это разбиение на треугольники, откуда и
происходит это название.
Разные разделы геометрии используют несколько отличные определения этого термина.
Триангуляция T пространства Rn +1 — это подразбиение Rn +1 на n+1-мерные симплексы,
такие что:
1. любые два симплекса в T пересекаются в общей грани ребра или вершины, или вообще
не пересекаются;
2. любое ограниченное множество в Rn +1 пересекает конечное количество симплексов с
T.
Триангуляция множества точек, то есть, триангуляция дискретного множества точек P из
R — это разбиение выпуклой оболочки точек на симплексы так, что выполняется первое
n +1
4
вплоть до 1960 года был заведующим отделом алгебры, а в 1960—1980 гг. — отделом
геометрии.
| ||
2 2 2 2
A x − Dx A y − D y ( A x − D x ) + ( A y − D y )
Cx
Dx
Bx B y B2x + B2x
2
C y C x +C x
2
D y D2x + D2x
1=
1
1
C x − D x C y − D y ( C 2 − D 2 ) + ( C 2 − D2 )
x x y y
|
B x − D x B y − D y ( B2x − D2x ) + ( B2y − D2y )
6
Инкрементальный. Самый простой способ эффективного вычисления триангуляции
Делоне - многократно добавлять по одной вершине за раз, изменяя триангуляцию затронутых
частей графа. Когда добавляется вершина v, мы разбиваем треугольник, содержащий v, на три
части, затем применяем алгоритм переворота. Сделано наивно, это займет O ( n ) времени: мы
перебираем все треугольники, чтобы найти тот, который содержит v, затем мы потенциально
переворачиваем каждый треугольник. Тогда общее время выполнения будет O ( n ).
Если мы вставляем вершины в случайном порядке, оказывается (с помощью довольно
сложного доказательства), что каждая вставка будет переворачивать, в среднем, только O ( 1 )
треугольников, хотя иногда будет переворачиваться намного больше. Это все еще оставляет
время для улучшения положения точки. Мы можем сохранить историю выполненных
разделений и переворотов: каждый треугольник хранит указатель на два или три
треугольника, которые его заменили. Чтобы найти треугольник, содержащий v, мы начинаем
с корневого треугольника и следуем за указателем, указывающим на треугольник,
содержащий v, пока не найдем треугольник, который еще не был заменен. В среднем это
также займет время O ( log ( n ) ). Таким образом, по всем вершинам это занимает O ( n log ( n ) )
времени. Хотя этот метод распространяется на более высокие измерения (как доказано
Эдельсбруннером и Шахом), время выполнения может быть экспоненциальным в измерении,
даже если окончательная триангуляция Делоне мала.
Алгоритм Боуэра – Ватсона обеспечивает другой подход для инкрементного построения.
Это дает альтернативу переворачиванию ребер для вычисления треугольников Делоне,
содержащих вновь вставленную вершину.
К сожалению, алгоритмы на основе переворачивания, как правило, трудно
распараллелить, поскольку добавление некоторой определенной точки (например,
центральной точки колеса вагона) может привести к O ( n ) последовательных переворотам.
Гай Эдвард Блеллох предложил другую версию инкрементного алгоритма, основанного на
rip-and-tent, который является практичным и хорошо распараллелен с полилогарифмическим
span.
Divide and conquer. A Divide and Conquer алгоритм для триангуляции в двух измерениях
был разработан Ли и Шехтер, усовершенствованные Гибасом и Столфи, а затем Дуайером. В
этом алгоритме рекурсивно рисуется линия, чтобы разделить вершины на два набора.
Триангуляция Делоне вычисляется для каждого набора, а затем два набора объединяются
вдоль линии разделения. Используя некоторые хитрые приемы, операцию слияния можно
выполнить за время O ( n ), так что общее время выполнения составит O ( n log ( n ) ).
Для определенных типов наборов точек, таких как равномерное случайное распределение
, за счет разумного выбора линий разделения ожидаемое время может быть сокращено до
O ( n log ( log ( n ) ) ) при сохранении худшей производительности.
Алгоритм разделяй и властвуй показал себя как самый быстрый метод генерации DT.
Sweephull. Sweephull - это гибридный метод для двумерной триангуляции Делоне,
который использует распространяющуюся в радиальном направлении протягивающую
оболочку, и алгоритм переворачивания. Обтягивающая оболочка создается последовательно
путем итерации радиально отсортированного набора двумерных точек и соединения
треугольников с видимой частью выпуклой оболочки, что дает неперекрывающуюся
триангуляцию. Таким образом можно построить выпуклую оболочку, если порядок точек
гарантирует, что ни одна точка не попадет внутрь треугольника. Но радиальная сортировка
должна свести к минимуму переворачивание. Затем это сочетается с последним итеративным
этапом переворачивания треугольника.
Диаграмма Вороного. Диаграмма Вороного конечного множества точек S на плоскости
представляет такое разбиение плоскости, при котором каждая область этого разбиения
образует множество точек, более близких к одному из элементов множества S, чем к любому
другому элементу множества.
7
Названа в честь Георгия Феодосьевича Вороного, который изучил общий n-мерный
случай в 1908 году. Также известна как: мозаика Вороного, разбиение Вороного,
разбиение Дирихле.
Имеет тесную связь и взаимно-однозначное соответствие с триангуляцией Делоне. А
именно, если соединить рёбрами точки, области Вороного которых граничат друг с другом,
полученный граф будет являться триангуляцией Делоне.
Алгоритмы построения. Рассмотрим серединный перпендикуляр отрезка, соединяющего
некоторую пару точек p и q. Этот перпендикуляр разбивает плоскость на две полуплоскости
H pq H ❑❑ и H qp, причём область Вороного точки p целиком содержится в одной из них, а
область точки q — в другой. Область Вороного V p точки p совпадает с пересечением всех
таких полуплоскостей H pq: V p=q ∈ S/¿ p }H pq ¿.
8
базиса, и фотографирует далекую звезду, направление на которую должно остаться прежним.
Поскольку Земля движется, обе звезды, близкая и далекая, уже не лежат на одной прямой,
соединяющей близкую звезду и центр объектива, поэтому на снимке получаются два
отдельных изображения близкой звезды. Этим методом можно измерить расстояние лишь до
нескольких сотен звезд, расположенных очень близко к Земле. Для измерения больших
расстояний во Вселенной применяются другие методы.
Триангуляция в геодезии. Триангуляция применяется также для определения плановых
координат геодезических пунктов путём построения на местности цепей и сетей из треуголь-
ников, связанных общей стороной. В вершинах треугольников располагаются геодезические
пункты, над каждым из которых устанавливают геодезический знак с визирным цилиндром,
на который наводят угломерные инструменты с соседних знаков.
Триангуляцию делят на 4 класса точности. При проведении триангуляции первого (наи-
высшего) класса точности треугольники выстраивают в виде четырёхугольного полигона со
сторонами длиной около 200 км (но не более 1000 км), располагаемыми примерно вдоль ме-
ридианов и параллелей. У двух треугольников, расположенных в каждом углу полигона, об-
щую сторону берут в качестве базиса, длину которого измеряют с погрешностью 10− 6. На кон-
цах базиса располагают пункты Лапласа, для которых из астрономических наблюдений опре-
деляют широту, долготу и азимут базиса. Длины 4 базисов, координаты их концов и углы в
треугольниках используют для вычисления координат вершин треугольников полигона.
Пространство внутри полигона заполняют геодезическими пунктами 2, 3 и 4-го классов
точности. Высоты геодезических пунктов определяют прокладкой нивелирных ходов соот-
ветствующего класса точности. Вместо триангуляции 2-го и последующих классов точности
допускается использование полигонометрии и трилатерации.
В результате построения триангуляционных сетей на всей территории России была созда-
на Государственная геодезическая сеть, которую используют при топографических съёмках, а
также при решении задач хозяйственного и оборонного значения. До начала XXI века Т. была
основным методом создания опорной геодезической сети. В XXI веке триангуляцию заменя-
ют спутниковые системы позиционирования.
Триангуляция в игровой индустрии и в мире IT. Базовый пример триангуляции в
случае игровых движков – это меш. Строго говоря меш может состоять не только из
треугольников, но в игровых движках по целому ряду причин берутся именно меши,
состоящие из треугольников.
9
Вторая интересная задача, решаемая с помощью триангуляции Делоне в Game Dev – это
генерация террейнов и объектов, представленных в виде множества точек. Основным плюсом
триангуляции Делоне в данном случае является то, что, исходя из её свойств она позволяет
избежать очень острых треугольников, которые будут мешать и создавать артефакты на
террейне.
Помимо этого, с помощью триангуляции Делоне с ограничениями и таким алгоритмам
как Chew's second algorithm и алгоритм Руперта можно генерировать сетки ещё лучше для
террейнов и генерировать хорошие сетки для другого применения – метода конечных
элементов.
Метод конечных элементов позволяет решать многие задачи, связанные с симуляцией
деформаций, жидкостных симуляций и другого используемого для спец. эффектов. Обычно
для записи эффектов в анимации, так как метод обладает слишком высокой вычислительной
сложностью. Важной деталью при использовании метода является то, что ошибка метода
зависит от углов треугольников в сетке.
Помимо Game Dev триангуляции используются в сетях, компьютерном зрении,
различных аналитических алгоритмах, а также в каких задачах вычислительной геометрии,
как объединение и исключение многоугольников друг из друга (что бывает полезно часто и в
задачах возникающих при разработке игр).
10
Список литературы
1. Скворцов А.В. Триангуляция Делоне и её применение. Томск. 2002. 128 с.
2. Большой энциклопедический словарь: математика. – М.: Большая Российская
энциклопедия, 1988.
3. Вилейтнер Г. История математики от Декарта до середины ХIХ столетия. - 2-е изд. М.:
1966.
4. Энциклопедия Кругосвет - http://www.krugosvet.ru/
11